标签:web服务器 iptables防火墙 snat转换 dnat转换
首先介绍一下实验环境,一共打开三台虚拟机,win7客户机作为内部局域网的终端设备;中间的Linux-2作为内部局域网的网关以及连接外网的设备;Linux-1作为外网的web服务器设备。
(其实这个实验是接着上次的实验继续做的)
查看Linux-2的网卡属性需要配置两块网卡(不知怎么添加的看上一篇博客),一块作为外网连接,一块作为内部的网卡。IP地址配置如下。
两块网卡配置完成,测试一下跟另外两台PC机是否能够互联互通。
此时开启Linux-1的web服务,关闭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
标签:web服务器 iptables防火墙 snat转换 dnat转换
原文地址:http://zhang2015.blog.51cto.com/9735109/1654915