iptables防火牆(二)

前言:通過上一章的學習,我們認識了Linux防火牆的表、鏈結構,並學會了編寫簡單的防火牆規則,

Linux防火牆在很多時候承擔着連接企業內、外網的重任,除了提供數據包過濾功能以外,還提供一些

基本的網關應用。

    並使用NAT功能共享上網以及發佈服務器,和以前學過的nat原理完全一樣,本章學習SNAT和DNAT策略,

分別掌握兩個典型的應用:局域網共享一個公網IP地址接入inter;向inter發佈位於內網的應用服務器。

 

一、SNAT策略

SNAT和路由器上的PAT是一樣的,源地址轉換,其作用是根據指定條件修改數據包的源IP地址。

共享固定IP地址上網

1、實驗環境:


圖片1.png

在虛擬機上做實驗簡化爲下圖:

截圖00.png

2、在網站服務器上搭建網站

網站http服務已搭好,詳情請參考http://blog.51cto.com/13557682/2056366

網站服務器如圖:

截圖01.png

internet測試機上搭建同樣的網站如圖:

截圖02.png

3、在網關服務器上添加兩塊網卡,分別是eth0:192.168.1.1eth1173.16.16.1,然後開啓路由轉發功能:

[root@localhost ~]# vim /etc/sysctl.conf 
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1              //將0修改爲1,啓動路由轉發功能                    
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward

5、在網關服務器上配置SNAT策略

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 173.16.16.1

6、在內部網站服務器上訪問http://173.16.16.16即可


二、DNAT策略

DNAT策略與我們之前學習過的靜態nat是一樣的,可以一對一,也可以端口映射,主要目的是爲了發佈服務器。

[root@localhost ~]# iptables -t nat -I PREROUTING -i eth1 -d 173.16.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.7

3、在internet測試機上訪問:http://173.16.16.1,打開的網站是192.168.1.7

四、規則的導入、導出

前言:備份可以把配置過的防火牆規則存儲到一個位置,當更換防火牆或者規則出錯的情況下,可以迅速恢復。

1、執行iptables-save命令導出linux防火牆規則。

例如:

1)在網站服務器上查看防火牆規則

[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

  

2)執行備份防火牆

[root@localhost ~]# iptables-save > /opt/iprules_all.txt

3)把網站服務器上的規則全部刪除

[root@localhost ~]# iptables -F

4)執行iptables-resore命令恢復

[root@localhost ~]# iptables-restore < /opt/iprules_all.txt

五、使用防火牆腳本

使用腳本可以快速部署防火牆規則,當需要配置多臺防火牆的時候,使用腳本可以快速生成規則,提高工作效率。

例如:將output鏈中的默認策略設置爲允許,不添加其他規則,將input鏈的默認策略設置爲拒絕,只放行對個別服務的訪問,以及響應本機訪問請求的數據包。

[root@localhost ~]# vim /opt/myipfw.hostonly

圖片1.png

2)執行腳本

圖片2.png

3)查看規則

圖片3.png

現在基本上用不着Linux做路由轉發,路由器做路由轉發比較專業

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章