作者介紹:簡歷上沒有一個精通的運維工程師。請點擊上方的藍色《運維小路》關注我,下面的思維導圖也是預計更新的內容和當前進度(不定時更新)。

我們經過上小章節講了linux的部分進階命令,我們接下來一章節來講講Linux防火墻。由于目前以云服務器為主,而云服務器基本上就不會使用系統自帶的防火墻,而是使用安全組來代替了防火墻的功能,可以簡單理解安全組就是web版的防火墻,我們主要從以下幾個方面來講解Linux防火墻:
Linux防火墻-什么是防火墻
Linux防火墻-4表5鏈
Linux防火墻-Filter表
Linux防火墻-nat表
Linux防火墻-常用命令
Linux防火墻-案例(一)
Linux防火墻-案例(二)(本章節)
Linux防火墻-小結
上一小節我們講了一個真實的filter表的真實需求,本小結我們講來講一個nat表的真實需求。

環境:服務器A通過路由器可以連接到公網,外面也可以訪問進來(不過濾網絡轉換的問題);服務器B和服務器C和服務器A另外一個網卡連接到一個交換機里面。
需求1:服務器B和服務器C要能訪問到公網(snat)
需求2:需要通過服務器A訪問到服務器B和服務器C的服務(dnat)
環境準備
服務器A

服務器B
服務器不需要做任何配置,只要把網關配置成服務器A即可,由于是使用虛擬機所以這里只準備一臺服務器B,并沒有做服務器C。

注意:用workstation準備做測試環境服務器A需要2個網卡,一個網卡可以上網,另外一個網卡和服務器B選擇同一個VMnet即可。
配置iptables規則
snat
1.服務器開啟內核轉發模式
代碼語言:JavaScript代碼運行次數:0運行復制
echo 1 > /proc/sys/net/ipv4/ip_forward
2.添加iptables規則
代碼語言:javascript代碼運行次數:0運行復制
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
3.當前iptbles規則

4.服務器b驗證上網

dnat
1.服務器開啟內核轉發模式
由于復用了上面的服務器snat的配置,所以這里省略過程。
2.添加dnat規則
代碼語言:javascript代碼運行次數:0運行復制
iptables -t nat -A PREROUTING -p tcp --dport 2022 -j DNAT --to-destination 192.168.192.100:22
3.測試ssh連接

總結
1.我們通過上面的配置要求要一個服務器需要有雙網卡。
2.通過iptables規則實現了sant(內網機器上網),dnat(外面訪問內網機器)。
3.當前同時滿足snat和dnat需求的規則。
