码迷,mamicode.com
首页 > 其他好文 > 详细

iptables的SNAT和DNAT地址转换配置实例

时间:2015-05-25 14:48:42      阅读:293      评论:0      收藏:0      [点我收藏+]

标签:web服务器   iptables防火墙   snat转换   dnat转换   

首先介绍一下实验环境,一共打开三台虚拟机,win7客户机作为内部局域网的终端设备;中间的Linux-2作为内部局域网的网关以及连接外网的设备;Linux-1作为外网的web服务器设备。

(其实这个实验是接着上次的实验继续做的)

技术分享

查看Linux-2的网卡属性需要配置两块网卡(不知怎么添加的看上一篇博客),一块作为外网连接,一块作为内部的网卡。IP地址配置如下。

技术分享

两块网卡配置完成,测试一下跟另外两台PC机是否能够互联互通。

技术分享

此时开启Linux-1web服务,关闭SELinux策略,清空防火墙条目。

技术分享开启Linux-2临时的或直接开启路由功能,同时也清空防火墙规则。

技术分享

此时的win7客户端应该可以访问Linux-1搭建的web服务。Win7客户机自身的防火墙需要关闭。

技术分享

打开IE浏览器,输入IP地址进行访问。

技术分享

此时到Linux-1服务器上面看一下web日志文件,在/etc/httpd/logs目录下的access_log里面有成功访问的日志信息,这里可以看到192.168.100.120的网络的地址访问了自己的httpd服务。

技术分享

现在在Linux-2设置iptables表格的SNAT地址转换条目。如下其中:iptables是命令关键字;-t指定表格为nat-A指定规则链并添加至末行,POSTROUTING表示转发后规则链;-s指定源地址此处指定了一个网段;-o表示指定出站口的网卡(是对于内部局域网来说的);-j后面是规则语句,大写SNAT表示对源地址进行转换;--to-source 12.0.0.1源地址转换为12.0.0.1的地址。

技术分享

现在再次重新打开win7客户机的来访问Linux搭建的web网站(最好是关闭浏览器再重新打开)。

技术分享

回到Linux-1再次查看httpd服务的日志文件,可以看到此时的后面有两条访问记录是12.0.0.1的地址,也就是经过SNAT转换之后访问的地址。

技术分享

下面进行DNAT目标地址转换实验。

首先需要在win7客户机上搭建IIS服务,也就相当于web服务,用于后面的测试验证。如图:在控制面板→程序→程序和功能→打开和关闭Windows功能中进行安装,直接确定等安装完成就行了。

技术分享

此时使用win7访问自己搭建的web服务进行测试,应该是没问题的。

技术分享

下面还是在Linux-2上面做DNAT的规则条目,此处的-A指定的是nat表格中PREROUTING规则链也就是转发前规则链;-d指定的是目标地址,也就是本机的外网卡IP地址;-i表示input进站口(是对于内部局域网来说的);-p指定访问到本机的tcp协议和80端口号;-j后面的是DNAT目标转换,--to-destination跟目标IP地址。

规则条目创建完成之后,可以使用命令iptables -L -t nat查看。

技术分享

此时用Linux来访问win7搭建的web服务,能够正常访问表示做对了。

技术分享

经验总结:在做DNAT之前,SNAT是必须要做的(因为要有来有回)。

SNAT是将源地址进行转换,也就是在经过本Linux时会将原来的IP地址转换为之前设置好的iptables规则条目中的IP地址。是先进行路由转发再进行使用iptables规则链(说白了就是先变再发)。

DNAT是将目标地址进行转换,转换的顺序是先进行转发,到达含有iptables规则链的服务器时再根据规则链进行IP地址转变。

OK实验到此结束,谢谢!!!


本文出自 “朕的天下” 博客,请务必保留此出处http://zhang2015.blog.51cto.com/9735109/1654915

iptables的SNAT和DNAT地址转换配置实例

标签:web服务器   iptables防火墙   snat转换   dnat转换   

原文地址:http://zhang2015.blog.51cto.com/9735109/1654915

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!