1、SNAT:源地址轉換 實現內網訪問外網,修改IP地址,使用POSTROUTING 命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1 2、MASQUERADE:地址偽裝 適用於外網i ...
1、SNAT:源地址轉換
實現內網訪問外網,修改IP地址,使用POSTROUTING
命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1
2、MASQUERADE:地址偽裝
適用於外網ip地址非固定的情況
將SNAT規則改為MASQUERADE即可
命令:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
3、DNAT:目標地址轉換
實現發佈公司內部伺服器,修改目標地址,使用PREROUTING
命令:iptables -t nat -A PREROUTING -d 202.1.1.1 -p tcp --dport 8080 -j DNAT -to 192.168.1.100:80
4、備份和還原規則:
備份:
1)iptables-save > 文件
導出到指定文件
2)service iptables save
導出到/etc/sysconfig/iptables
重啟自動載入
還原:
1)iptables-restore < 文件名
2)service iptables restart
從預設文件/etc/sysconfig/iptables還原
5、iptables腳本編寫
1)定義變數
2)載入必要的模塊
modprobe ip_nat_ftp ftp地址轉換模塊
modprobe ip_conntrack_ftp ftp連接狀態跟蹤
lsmod 查看已載入的模塊
3)調整內核參數:
啟用內核轉發功能:有三種方式(詳見第十章筆記的第8點)
4)編寫防火牆的規則
6、防火牆的類型:
主機型防火牆:針對本機進行保護,使用filter表中的INPUT、OUTPUT鏈
網路型防火牆:對內、外網轉發進行保護,使用filter表中FORWARD鏈
Iptables防火牆(SNAT和DNAT)應用示例
實驗拓撲圖:
實驗要求:
1、 如圖所示,將網路連通,註意在外部伺服器上不用配置預設網關。
2、分別在內部和外部伺服器上搭建web服務,修改網頁,如
內部web伺服器的網頁內容:
echo “192.168.1.10” > /var/www/html/index.html
在本機訪問網頁,測試能否成功訪問。
步驟:
在網站伺服器啟動httpd服務
Service httpd start
在訪問主頁寫入內容
echo 192.168.1.10 > /var/www/html/index.html
在本機測試如下圖:
外網主機同上,測試結果如下圖:
3、分別啟動網站伺服器和網關伺服器的SSh,並把網關ssh服務埠改為2345。
步驟:
啟動sshd服務: service sshd restart
進入網關伺服器的ssh主配置文件vim /etc/ssh/sshd_confing
4、清空三台伺服器的防火牆預設配置:service iptables stop
5、 SNAT(源地址轉換):要求內部主機192.168.1.10能訪問外部伺服器的網站。
驗證:在外部伺服器通過查看web的訪問日誌。
步驟:
SNAT源地址轉換命令如下:
到網站伺服器訪問外網
查看外網的Web訪問日誌,是否是200.0.0.1訪問
6、 DNAT(目標地址轉換):
1)外部主機通過http://200.0.0.1能夠訪問到內部伺服器的網站。
在網關伺服器上配置DANT
驗證可以訪問
2)外部主機使用ssh –p 2345 200.0.0.1 能夠遠程管理網關伺服器。
3)外部主機使用ssh -p 2222 200.0.0.1 能夠遠程管理內部192.168.1.10伺服器。
在網關伺服器配置DNAT
到外網驗證可以登錄遠程登錄
7、在網關伺服器上對防火牆進行保存和備份。
保存防火牆規則:
備份防火牆規則:iptables -save
8、在網關伺服器上寫一個防火牆的腳本。實現上面的功能。
腳本提示:路由轉發,清空所有防火牆規則,SNAT,DNAT。
設置防火牆開機自動關閉,設置腳本開啟自動執行。
腳本如下:
設置腳本開機自啟動只需將腳本路徑寫入/etc/rc.local
文章參考微信公眾號:L寶寶聊IT