【linux】iptables防火墙SNAT和DNAT的简单演示

首先说明SNAT和DNAT都大体至关于网络中的NAT和PAT协议,本实验是经过用一台linxu虚拟机来模拟内网网关,而且利用linux上的iptables防火墙策略,达到地址转换和端口映射的目的。linux

 

SNAT服务器

实验结构:网络

 

真机----------------v1)网关服务器s1(v2)--------------(v2)外网服务器s2tcp

 

2台虚拟机linux,分别模拟s1s2ide

其中,s1上另增长一块网卡,使用vmnet1与真机相连。测试

使用vmnet2与外网服务器的s2vmnet2相连。spa

 

IP地址规划blog

真机:接口

vmnet1192.168.80.5/24ip

s1:

vmnet1:192.168.80.20/24

vmnet2:192.168.90.1/24

s2:

vmnet2:192.168.90.22/24

 

实验步骤:

  1. 设置s1,s2的网卡参数

vi /etc/sysconfig/network-scripts/ifcfg-eth0

设置以下

wKioL1R9tNbittdbAAEQ1gp6K30356.jpg

 

继续设置另外一块网卡的参数

首先ifconfig查看一下eth1mac地址,而后

cd /etc/sysconfig/network-scripts/

复制模板

cp -p ifcfg-eth0 ifcfg-eth1

修改

vi  ifcfg-eth1

设置以下

wKioL1R9tOWCPO3cAACxBv9abog326.jpg

s1上开启路由转发功能

vi /etc/sysctl.conf

wKiom1R9tGjxEf8lAAE1cWMsm94228.jpg

 

设置s2的网卡参数

s2

vi /etc/sysconfig/network-scripts/ifcfg-eth1

wKioL1R9tQCDHNmVAAC7jygtA0w994.jpg

关闭s2的防火墙

service iptables stop

 

将真机vmnet1IP地址设置为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

wKiom1R9tIHzHgylAADJs3W18LI834.jpg

是通的。

能够在s2上搭建一个ftp,来观察结果。

s2

service vsftpd start

 

而后在真机上登陆 ftp

wKioL1R9tRWCojdeAACy4D2J5Z8911.jpg

s2上查看一下是谁在登陆

s2

netstat –anpt

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

wKiom1R9tKDAy6sUAACy_AKIuj8955.jpg

成功登陆

s2netstat -anpt

wKioL1R9tTSwbMxzAAEr-ZE8-Kw602.jpg

验证登陆的为真机IP地址192.168.80.5

实验结束。

相关文章
相关标签/搜索