標籤:dnat snat linux iptables
首先說明SNAT和DNAT都大致相當於網路中的NAT和PAT協議,本實驗是通過用一台linxu虛擬機器來類比內網網關,並且利用linux上的iptables防火牆策略,達到地址轉換和連接埠映射的目的。
SNAT
實驗結構:
真機----------------(v1)閘道伺服器s1(v2)--------------(v2)外網伺服器s2
開2台虛擬機器linux,分別類比s1和s2。
其中,s1上另增加一塊網卡,使用vmnet1與真機相連。
使用vmnet2與外網伺服器的s2的vmnet2相連。
IP地址規劃
真機:
vmnet1:192.168.80.5/24
s1:
vmnet1:192.168.80.20/24
vmnet2:192.168.90.1/24
s2:
vmnet2:192.168.90.22/24
實驗步驟:
設定s1,s2的網卡參數
vi /etc/sysconfig/network-scripts/ifcfg-eth0
設定如下
650) this.width=650;" title="1.png" alt="wKioL1R9tNbittdbAAEQ1gp6K30356.jpg" src="http://s3.51cto.com/wyfs02/M02/54/45/wKioL1R9tNbittdbAAEQ1gp6K30356.jpg" />
繼續設定另一塊網卡的參數
首先ifconfig查看一下eth1的mac地址,然後
cd /etc/sysconfig/network-scripts/
複製模板
cp -p ifcfg-eth0 ifcfg-eth1
修改
vi ifcfg-eth1
設定如下
650) this.width=650;" title="2.png" alt="wKioL1R9tOWCPO3cAACxBv9abog326.jpg" src="http://s3.51cto.com/wyfs02/M00/54/45/wKioL1R9tOWCPO3cAACxBv9abog326.jpg" />
在s1上開啟路由轉寄功能
vi /etc/sysctl.conf
650) this.width=650;" title="3.png" alt="wKiom1R9tGjxEf8lAAE1cWMsm94228.jpg" src="http://s3.51cto.com/wyfs02/M00/54/46/wKiom1R9tGjxEf8lAAE1cWMsm94228.jpg" />
設定s2的網卡參數
s2
vi /etc/sysconfig/network-scripts/ifcfg-eth1
650) this.width=650;" title="4.png" alt="wKioL1R9tQCDHNmVAAC7jygtA0w994.jpg" src="http://s3.51cto.com/wyfs02/M01/54/45/wKioL1R9tQCDHNmVAAC7jygtA0w994.jpg" />
關閉s2的防火牆
service iptables stop
將真機vmnet1的IP地址設定為192.168.80.5/24 ,網關設定為192.168.80.20
2.在s1上設定防火牆,使得s1可以做pat,將真機地址192.168.80.5轉換為外網口
地址192.168.90.1
iptables –t nat –I POSTROUTING –s 192.168.80.0/24 –o eth1 –j SNAT --to
192.168.90.1
注釋:-t 規則表 -I 規則鏈 -s 源地址 -o出站介面 -j 策略
測試結果,在真機上ping 192.168.90.22
650) this.width=650;" title="5.png" alt="wKiom1R9tIHzHgylAADJs3W18LI834.jpg" src="http://s3.51cto.com/wyfs02/M01/54/46/wKiom1R9tIHzHgylAADJs3W18LI834.jpg" />
是通的。
可以在s2上搭建一個ftp,來觀察結果。
s2
service vsftpd start
然後在真機上登入 ftp
650) this.width=650;" title="6.png" alt="wKioL1R9tRWCojdeAACy4D2J5Z8911.jpg" src="http://s3.51cto.com/wyfs02/M02/54/45/wKioL1R9tRWCojdeAACy4D2J5Z8911.jpg" />
在s2上查看一下是誰在登入
s2
netstat –anpt
650) this.width=650;" title="7.png" alt="wKiom1R9tJPh96S8AADitVT9wZk561.jpg" src="http://s3.51cto.com/wyfs02/M02/54/46/wKiom1R9tJPh96S8AADitVT9wZk561.jpg" />
登入自己的主機地址為192.168.90.1 表明pat已經轉換地址成功。
DNAT
實驗結構:
真機(類比外網)(v1)----------(vmnet1)閘道伺服器s1(vmnet2)---- -----(vmnet2)內網伺服器s2
IP地址的規劃依舊不變
在s1上做修改
s1
首先清空原來的防火牆配置
iptables –F
配置新的DNAT策略
iptables –t nat –A PREROUTING –i eth0 –d 192.168.80.20 –p tcp --dport 21 –j DNAT
--to 192.168.90.22
注釋:-t 規則表 -A 規則鏈 -i 入站介面 -d 目標地址 –p協議 --dport 目標連接埠 -j 策略
測試,用真機ftp 192.168.90.22
650) this.width=650;" title="8.png" alt="wKiom1R9tKDAy6sUAACy_AKIuj8955.jpg" src="http://s3.51cto.com/wyfs02/M00/54/46/wKiom1R9tKDAy6sUAACy_AKIuj8955.jpg" />
成功登入
在s2上netstat -anpt
650) this.width=650;" title="9.png" alt="wKioL1R9tTSwbMxzAAEr-ZE8-Kw602.jpg" src="http://s3.51cto.com/wyfs02/M01/54/45/wKioL1R9tTSwbMxzAAEr-ZE8-Kw602.jpg" />
驗證登入的為真機IP地址192.168.80.5。
實驗結束。
本文出自 “NE之路” 部落格,請務必保留此出處http://332162926.blog.51cto.com/8831013/1585690
【linux】iptables防火牆SNAT和DNAT的簡單示範