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

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

 

SNAT

实验结构:

 

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

 

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

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

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

 

IP地址规划

真机:

vmnet1192.168.80.5/24

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

设置如下

 

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

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

cd /etc/sysconfig/network-scripts/

复制模板

cp -p ifcfg-eth0 ifcfg-eth1

修改

vi  ifcfg-eth1

设置如下

s1上开启路由转发功能

vi /etc/sysctl.conf

 

设置s2的网卡参数

s2

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

关闭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

是通的。

可以在s2上搭建一个ftp,来观察结果。

s2

service vsftpd start

 

然后在真机上登录 ftp

s2上查看一下是谁在登录

s2

netstat –anpt

登录自己的主机地址为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

成功登录

s2netstat -anpt

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

实验结束。

 

 

本文出自 “NE之路” 博客,请务必保留此出处http://332162926.blog.51cto.com/8831013/1585690

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。