iptables 防火牆筆記之二

Iptables防火牆(SNAT/DNAT

SNAT策略及應用

SNAT源地址轉換是linux命令中的一種數據包控制類型,作用是根據指定條件修改數據包的源IP地址。

共享固定IP地址上網

Linux網關服務器,eth0eth1其中eth0爲外網地址X.X.X.X(此處爲外網地址) eth1爲內網地址192.168.2.1

所有局域網PC機的默認網關爲192.168.2.1,且已經設置了正確的DNS服務器。

要求192.168.2.0/24網段的PC機能夠通過共享方式正常訪問Internet

  1. 打開網關路由轉發

修改/etc/sysct1.conf,把net.ipv4.ip_forward = 0 改爲1如下

[root@bogon ~]# vim/etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@bogon ~]# sysctl -p   #讀取修改後的配置

臨時開啓路由轉發的方法:[root@localhost ~]# echo 1 >/proc/sys/net/ipv4/ip_forward或者[root@localhost ~]# sysctl -wnet.ipv4.ip_forward=1

net.ipv4.ip_forward = 1

  1. 設置SNAT策略

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -oeth0 -j SNAT --to-source X.X.X.X

完成,測試就好了。

 當使用共享動態IP地址上網的時候網關的IP地址可能並不是固定的,例如使用ADSL撥號寬帶接入時,在這種情況下iptables提供了MASQUERADE(僞裝)的數據包控制類型,是SNAT的一個特例,設置時只需要去掉SNAT策略中的“--to-source IP”改用“-j MASQUERADE”

[root@localhost ~]# iptables -t nat -APOSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE

DNAT策略及應用

DNAT,目標地址轉換,其作用是根據指定條件修改數據包的目標IP地址、目標端口。

SNAT用來修改源IP地址,而DNAT用來修改目標IP地址,目標端口,SNAT只能用在nat表的POSTROUTING鏈,而DNAT只能用在nat表的PREROUTING鏈和OUTPUT鏈(或被其調用的鏈)中。

發佈企業內部的web服務器

1.公司註冊域名www.XXXX.com.IP地址爲X.X.X.X(外網IP

2.公司網站服務器位於局域網內,IP地址爲192.168.2.5

3.要求在internet中通過域名訪問公司網站

操作如下

a) 打開網關路由(不在複述SNAT有提到)

b) 設置DNAT

[root@localhost ~]# iptables -t nat -A PREROUTING -i eth0 -d X.X.X.X -ptcp --dport 80 -j DNAT --to-destination 192.168.2.5

測試。


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