Linux系列-Red Hat5平台下的Iptables防火墙应用(二)Iptables中必须掌握的两个技术SNAT、DNAT

上次我们已经对iptables作了一个了解,而且后面也举了不少经常使用的例子。也许你们以为很难,特别是那四张表和五个链。其实真正用的时侯没哪么复杂,等一下大家看完下面两个应用就会以为确实不难。
每一个人学技术的目的都是为客户解决问题,给客户拿出一套解决方案来。这样才算是作的有用功。Iptables有不少功能,我们不用好高骛远。学两招真正用的上技术是比较现实的。说这番话的目的是为了缓解你们面对iptables的压力。
NAT就不用说了吧,相信你们也不会陌生。无论哪一个企业哪一个机构都会用到它,想上网除了走代理就是走NAT,因此我们必需要把这个技术吃透。不但要掌握在路由、windows上的配置还要掌握在Linux系统上的配置。下面来看一下SNATDNAT的应用。
拓扑图以下:
 
如今你们看到拓扑了,咱们的目的是让内网用户安全的上网,另外就是把内网中的一台主机名为www.zpp.comweb服务器发布出去。这些应用只要是个公司确定都会有的,前面虽然已给出了用CISCO路由、windowsISA等设备的解决方案,但就性能和成原本说用Linux确定是最划算的,如今大部分网吧、小型企业都用的是iptables.
这里为了你们阅读方便我简单罗列一下拓扑上的信息:
1>.网关服务器iptables有两块网卡,TCP/IP参数以下:
Eth0LAN接口)IP192.168.1.1/24
Eth1WAN接口)IP61.134.1.4/24
2>.内网Web服务器的IP为:192.168.1.10/24网关:192.168.1.1 主机名:www.zpp.com
仍是同样分两部分来讲,先让内网中的用户上了网再说。而后再让Internet用户访问我们的Web服务器。
第一部分:利用SNAT技术使内网用户安全上网。
SNATSource Network Address Translation)源网络地址转换,我们用这个技术既能够化解四版本的地址危机,又能够起到隐藏局域网信息的功能。下面来看看如何使用SNAT技术使用内网用户安全上网。
1.       确认两块网卡的TCP/IP参数设置.如图:
 
2.       开启网关服务器的路由转发功能。
1>./etc目录下找到文件sysctl.conf将文件中的net.ipv4.ip_forward = 0,改成net.ipv4.ip_forward = 1.如图:
 
2>.执行命令sysctl –p使我们的修改生效。如图:
 
3.       为局域网访问Internet的数据包采用SNAT策略,将源地址更改成服务器的公网IP地址。
我这儿内网是192.168.1.0/24网段,因此源地址是192.168.1.0/24.
 
这时你们可能会问,若是我用的是ADSL拨号上网IP地址不是固定的而是动态的,如何设置这个策略?此时咱们可使用MASQUERADE(假装)策略。MASQUERADE是一种特殊的SNAT技术,它照样可完成修改(假装)数据包源IP地址的工做,只不过它会自动获取外网接口的IP地址。下面是MASQUERADE策略的用法:
 
说明:使用iptables命令设置MASQUERADE策略时,只须要去掉SNAT策略中的“—to-source IP地址”,改成“-j MASQUERADE”指定数据包处理方式便可。ADSL一般使用PPPoE技术,在Linux系统中,对应的链接名称为ppp0ppp1等,若是没不肯定编号能够用ppp+代替。
如今来测试一下:
在内网的客户机上使用命令nslookup,能够成功解析出外网google网站的IP说明DNS请求能够经过SNAT正常进行。如图:
 
从下图能够看到咱们利用SNAT咱们能够成功的访问外部站。
 
第二部分:利用DNAT技术将位于我们局域网内部的web服务器发布出去
DNATDestination Network Address Translation)目标网络地址转换。和SNAT恰好相反,DNAT更灵活一点它能够用在nat表的PREROUTING链和OUTPUT链或被它调用的链。我们用DNAT技术能够将内网或DMZ区中的服务器发布出去,
只须要一部搞定以下。在网关服务器上添加DNAT映射,将外网用户访问网关主机公网IP(地址为:61.134.1.480端口的数据包更改成网站主机的IP(地址为:192.168.1.2).如图:
 
如今咱们到外网主机上去测试一下,能够看到能够成功访问内网的web主机。
 
(注:我这里开了一台启动了httpd服务的Linux主机用于模拟内网web主机www.zpp.com
经过命令nslookup能够测试出,主机www.zpp.com所对应的IP是网关服务器的外网口地址。
 
    OK!如今咱们iptables中的两个关键技术——SNATDNAT解决了两个关键的问题——用户安全上网的问题和发布内网服务器的问题。你们也能够发现虽然是关键的东西,但作起来并不难,几乎都只是一条命令搞定。这也正顺应了一句话——Linux是一种高起点低应用的技术,每每咱们再学的时侯感受很困难,但真真用的时侯就不哪样认为了。
相关文章
相关标签/搜索