IP tables防火牆:SNAT策略、DNAT策略

SNAT+DNAT 策略簡介:

·SNAT(源地址轉換):是Linux防火牆的一種地址轉換操做,也是iptables命令中的一種數據包控制類型,其做用是根據指定調教修改數據包的源IP地址html

內部地址要訪問公網上的服務時(如web訪問),內部地址會主動發起鏈接,由路由器或者防火牆上的網關對內部地址作個地址轉換,將內部地址的私有IP轉換爲公網的公有IP,網關的這個地址轉換稱爲SNAT,主要用於內部共享IP訪問外部linux

·SNAT策略只能用在nat表的POSTROUTING鏈,使用iptables命令編寫SNAT策略時,須要結合‘--to-source IP’選項來指定修改後的源IP地址web

 

·DNAT(目標地址址轉換):是Linux防火牆的另外一種地址轉換操做,一樣也是iptables命令中的數據包控制類型,其做用是—根據指定條件修改數據包的目標IP地址和目標端口vim

當內部須要提供對外服務時(如對外發布web網站),外部地址發起主動鏈接,由路由器或者防火牆上的網關接收這個鏈接,而後將鏈接轉換到內部,此過程是由帶有公網IP的網關替代內部服務來接收外部的鏈接,而後在內部作地址轉換,此轉換稱爲DNAT,主要用於內部服務對外發布。服務器

·DNAT策略只能用在nat表的PREROUTING鏈,使用使用iptables命令編寫DNAT策略時,須要結合‘--to-destination IP地址’選項來指定內部服務器的IP地址網站

 

SNAT+DNAT注意事項:

·SNAT策略只能用在nat表的POSTROUTING鏈;3d

·SNAT將內部地址的私有IP轉換爲公網的公有IP日誌

·SNAT用於內部共享IP訪問外部htm

·DNAT策略只能用在nat表的PREROUTING鏈;blog

·DNAT主要用於內部服務對外發布

 

SNAT+DNAT實現前準備:

系統        其餘

IP 地址

用途

Win 7

192.168.100.40

充當內網web服務器

Linux  

 

(CentOS7)

ens33:192.168.100.1

 

ens36:12.0.0.1

充當防火牆

ens33:看成內網網關

ens36:看成外網網關

Linux (RedHat6)

12.0.0.12

充當外網服務器(httpd)

 

SNAT+DNAT策略開始

·由於Linux(CentOS7)做爲防火牆網關,須要添加一塊網卡,並對其進行IP配置!以上表格已註明IP地址和做用

圖片1.png

·win7做爲內網服務器,了爲以後的驗證,爲它創建一個網站服務,可讓外網訪問此網站:

圖片2.png

·Linux(RedHat6)做爲外網服務器,一樣也安裝httpd服務。而且修改IP地址爲:12.0.0.12  網關爲:12.0.0.1

執行如下命令:

yum install httpd -y //安裝httpd服務

service httpd start //啓動httpd服務

service iptables stop //關閉防火牆

setenforce 0 //關閉selinux

 

·Linux(CentOS7)從當防火牆,把iptables的全部規則刪除包括nat表裏的規則:

圖片3.png

·對於Linux服務器,IP轉發是實現路由功能的關鍵所在,若要Linux主機做爲網關設備,就必須開啓路由功能,修改配置文件:vim /etc/sysctl.conf

在執行命令:sysctl -p  //讀取修改後的配置

圖片4.png

 

·內網win7須要訪問外網RedHat6的httpd服務,那麼就須要作SNAT策略,由下圖說明命令所表明含義:

圖片6.png

·如今外網RedHat6須要訪問內網win7的web服務,那麼就須要作DNAT策略,由下圖說明命令所表明含義:

QQ截圖20180801104050.png

驗證:

內網訪問外網:

圖片8.png

查看httpd的日誌文件,能夠看到是哪一個IP 訪問httpd:

圖片9.png

實驗成功。

 

總結:

·在配置防火牆或者路由acl策略時要注意這兩個NAT必定不能混淆。

·注意內網和外網的網卡名稱,在配置時不要混淆

·DNAT策略只能用在nat表的PREROUTING鏈

·SNAT策略只能用在nat表的POSTROUTING鏈

相關文章
相關標籤/搜索