1. 程式人生 > >IP tables防火墻:SNAT策略、DNAT策略

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

let png 轉發 網上 網關 spa gif mage 裏的

SNAT+DNAT 策略簡介:

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

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

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

·DNAT(目標地址址轉換):是

Linux防火墻的另一種地址轉換操作,同樣也是iptables命令中的數據包控制類型,其作用是—根據指定條件修改數據包的目標IP地址和目標端口

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

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

SNAT+DNAT註意事項:

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

·SNAT將內部地址的私有IP轉換為公網的公有IP

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

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

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

SNAT+DNAT實現前準備:

技術分享圖片系統 其他

IP 地址

用途

Win 7

192.168.100.40

充當內網web服務器

Linux

CentOS7

ens33192.168.100.1

ens3612.0.0.1

充當防火墻

ens33:當作內網網關

ens36:當作外網網關

Linux RedHat6

12.0.0.12

充當外網服務器(httpd

SNAT+DNAT策略開始

·因為LinuxCentOS7)作為防火墻網關,需要添加一塊網卡,並對其進行IP配置!以上表格已註明IP地址和作用

技術分享圖片

·win7作為內網服務器,了為之後的驗證,為它建立一個網站服務,可以讓外網訪問此網站:

技術分享圖片

·LinuxRedHat6)作為外網服務器,同樣也安裝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

·LinuxCentOS7)從當防火墻,把iptables的所有規則刪除包括nat表裏的規則:

技術分享圖片

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

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

技術分享圖片


·內網win7需要訪問外網RedHat6httpd服務,那麽就需要做SNAT策略,由下圖說明命令所代表含義:

技術分享圖片

·現在外網RedHat6需要訪問內網win7web服務,那麽就需要做DNAT策略,由下圖說明命令所代表含義:

技術分享圖片

驗證:

內網訪問外網:

技術分享圖片

查看httpd的日誌文件,可以看到是哪個IP 訪問httpd

技術分享圖片

實驗成功。

總結:

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

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

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

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







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