Linux系统SNAT与DNAT策略应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统SNAT与DNAT策略应用相关的知识,希望对你有一定的参考价值。

SNAT(源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包类型,其作用是根据指定条件修改数据包的源IP地址

DNAT(目标地址转换)是Linux防火墙的另一种地址转换操作,同意是iptables命令中的一种数据包类型,其作用是根据指定条件修改数据包的目标IP地址和目标端口


实验环境:一台Linux6.5作为外网web服务器,地址为12.0.0.12

               一台Linux6.5作为防火墙和内外网的网关,两个地址分别为192.168.100.1 ; 12.0.0.1

               一台widows作为内网客户机,地址为192.168.100.4


技术分享图片

1 先对外网的web服务器进行设置,这里需要清空里面的防火墙条目规则,并且要关闭setenforce 0,开启它的网站服务


技术分享图片

2 这里在本地自己访问了一下没有发现什么问题


技术分享图片

3 接着我们要对作为防火墙的这台服务器进行配置,这里需要添加双网卡,其中一块作为内网的网关,另一块作为外网的网关


技术分享图片

技术分享图片

技术分享图片

4 接着关闭这台服务器的setenforce,同样清空它的防火墙规则条目,同时需要开启它的路由转换功能,因为它作为内外网的网关,如果不开启那两台机器无法

相互访问


技术分享图片


技术分享图片

5 这里用内网的win7访问外网的网站服务器,可以看见访问成功


技术分享图片

6 内网可以访问外网之后我们开始做SNAT地址转换,只需只需上图红框中的命令便可以完成。

    该条命令中 -t nat 是指定nat表,需要应用该表中的规则

                      -A POSTROUTING 是指定该表的规则链

                      -s 是指定所要转换的源地址

                      -o 是表示出站网卡,这里我的出站网卡为eth1

                      -j SNAT 表示执行SNAT的地址转换操作

                      --to-source 表示转换后的地址


技术分享图片

 技术分享图片

7 这里我再次访问web服务器,可以看到在日志文件中显示访问者的地址为12.0.0.1


技术分享图片

8接着再进行DNAT地址转换,执行上图红框中的命令,这条命令与SNAT地址转换的命令大同小异

 这里 -A PREROUTING 是需要指定PREROUTING这条规则

         -i 表示入站网卡

         -p 指定协议

         -dport 指定接口

         --to-destination 表示转换后的地址


技术分享图片

9接着我们开启内网客户机的网站服务,然后用外网的web服务器用转换后的地址进行访问


技术分享图片

10 最后用外网的web服务器访问12.0.0.1这个地址,可以看见访问到的是内网的网站。




以上是关于Linux系统SNAT与DNAT策略应用的主要内容,如果未能解决你的问题,请参考以下文章

Linux防火墙基础知识及应用;设置SNAT策略,局域网共享上网;DNAT策略,发布内部服务器

Linux防火墙------iptables(SNAT与DNAT)

熟练应用snat和dnat,掌握公网私网之间的连通(补充防火墙规则备份以及如何Linux抓包)

SNAT与DNAT原理,实现内外网相互访问

iptables中实现内外网相互访问 SNAT与DNAT的原理与应用

iptables中 SNAT与DNAT的原理与应用