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链

相关文章
相关标签/搜索