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