设为首页 收藏本站
查看: 398|回复: 0

[经验分享] iptables的SNAT和DNAT地址转换配置实例

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-26 08:51:01 | 显示全部楼层 |阅读模式
首先介绍一下实验环境,一共打开三台虚拟机,win7客户机作为内部局域网的终端设备;中间的Linux-2作为内部局域网的网关以及连接外网的设备;Linux-1作为外网的web服务器设备。
(其实这个实验是接着上次的实验继续做的)
wKiom1Vimi_AWRMiAAKIMfyxdwQ514.jpg
查看Linux-2的网卡属性需要配置两块网卡(不知怎么添加的看上一篇博客),一块作为外网连接,一块作为内部的网卡。IP地址配置如下。
wKiom1VimlKh9q23AAQTl2lRE4Q014.jpg
两块网卡配置完成,测试一下跟另外两台PC机是否能够互联互通。
wKiom1VimofBJQJSAAQNKBk0rnw845.jpg
此时开启Linux-1的web服务,关闭SELinux策略,清空防火墙条目。
wKiom1VimreDt940AAO7YRB41Gc630.jpg 开启Linux-2临时的或直接开启路由功能,同时也清空防火墙规则。
wKiom1Vimv-R1kbFAAOfdyQDa7s600.jpg
此时的win7客户端应该可以访问Linux-1搭建的web服务。Win7客户机自身的防火墙需要关闭。
wKiom1VimzHCKU8HAALK3x7WFlk334.jpg
打开IE浏览器,输入IP地址进行访问。
wKiom1Vim0qzqhXdAAVdIbqmxRA157.jpg
此时到Linux-1服务器上面看一下web日志文件,在/etc/httpd/logs目录下的access_log里面有成功访问的日志信息,这里可以看到192.168.100.120的网络的地址访问了自己的httpd服务。
wKiom1Vim2uCQIvzAAQdBP1rIB8037.jpg
现在在Linux-2上设置iptables表格的SNAT地址转换条目。如下其中:iptables是命令关键字;-t指定表格为nat;-A指定规则链并添加至末行,POSTROUTING表示转发后规则链;-s指定源地址此处指定了一个网段;-o表示指定出站口的网卡(是对于内部局域网来说的);-j后面是规则语句,大写SNAT表示对源地址进行转换;--to-source 12.0.0.1源地址转换为12.0.0.1的地址。
wKiom1Vim7HCWcmzAAQPRb8YRlk111.jpg
现在再次重新打开win7客户机的来访问Linux搭建的web网站(最好是关闭浏览器再重新打开)。
wKiom1VinFCi3g-CAAVokfbzs8Y499.jpg
回到Linux-1再次查看httpd服务的日志文件,可以看到此时的后面有两条访问记录是12.0.0.1的地址,也就是经过SNAT转换之后访问的地址。
wKiom1VinIzT-Hl2AAV9HabeZrk596.jpg
下面进行DNAT目标地址转换实验。
首先需要在win7客户机上搭建IIS服务,也就相当于web服务,用于后面的测试验证。如图:在控制面板→程序→程序和功能→打开和关闭Windows功能中进行安装,直接确定等安装完成就行了。
wKioL1VinkKzJxHAAAPC5yjDmh8686.jpg
此时使用win7访问自己搭建的web服务进行测试,应该是没问题的。
wKioL1Vins2ybfq2AAOkfHpc8uc128.jpg
下面还是在Linux-2上面做DNAT的规则条目,此处的-A指定的是nat表格中PREROUTING规则链也就是转发前规则链;-d指定的是目标地址,也就是本机的外网卡IP地址;-i表示input进站口(是对于内部局域网来说的);-p指定访问到本机的tcp协议和80端口号;-j后面的是DNAT目标转换,--to-destination跟目标IP地址。
规则条目创建完成之后,可以使用命令iptables -L -t nat查看。
wKiom1VioCCAsFRgAAPo98qRvys923.jpg
此时用Linux来访问win7搭建的web服务,能够正常访问表示做对了。
wKiom1VioGKjaAJlAAPvzUmV9iw738.jpg
经验总结:在做DNAT之前,SNAT是必须要做的(因为要有来有回)。
SNAT是将源地址进行转换,也就是在经过本Linux时会将原来的IP地址转换为之前设置好的iptables规则条目中的IP地址。是先进行路由转发再进行使用iptables规则链(说白了就是先变再发)。
DNAT是将目标地址进行转换,转换的顺序是先进行转发,到达含有iptables规则链的服务器时再根据规则链进行IP地址转变。
OK实验到此结束,谢谢!!!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-70739-1-1.html 上篇帖子: Kali linux virtualbox rc=1908 错误解决办法 下篇帖子: linux下配置samba服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表