rhel4下配置SNAT和DNAT

SNAT和DNAT

SNATSNAT源地址转换,其作用是将ip数据包的源地址转换成另外一个地址,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192.168.2.8)要和外网主机B(61.132.62.131)通信,A向B发出IP数据包,如果没有SNAT对A主机进行源地址转换,A与B主机的通讯会不正常中断,因为当路由器将内网的数据包发到公网IP后,公网IP会给你的私网IP回数据包,这时,公网IP根本就无法知道你的私网IP应该如何走了。所以问它上一级路由器,当然这是肯定的,因为从公网上根本就无法看到私网IP,因此你无法给他通信。为了实现数据包的正确发送及返回,网关必须将A的址转换为一个合法的公网地址,同时为了以后B主机能将数据包发送给A,这个合法的公网地址必须是网关的外网地址,如果是其它公网地址的话,B会把数据包发送到其它网关,而不是A主机所在的网关,A将收不到B发过来的数据包,所以内网主机要上公网就必须要有合法的公网地址,而得到这个地址的方法就是让网关进行SNAT(源地址转换),将内网地址转换成公网址(一般是网关的外部地址),所以大家经常会看到为了让内网用户上公网,我们必须在routeros的firewall中设置snat,俗称IP地址欺骗或伪装(masquerade)



DNAT:目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。通常来说,合法地址的数量比起本地内部的地址数量来要少得多。RFC1918中的地址保留可以用地址重叠的方式来达到。当一个内部主机第一次放出的数据包通过防火墙时,动态NAT的实现方式与静态NAT相同,然后这次NAT就以表的形式保留在防火墙中。除非由于某种个原因会引起这次NAT的结束,否则这次NAT就一直保留在防火墙中。引起NAT结束最常见的原因就是发出连接的主机在预定的时间内一直没有响应,这时空闲计时器就会从表中删除该主机的NAT。



实验环境

Vmwareworkstation软件,两个linux操作系统







SNAT



注意:rhel4作为应用网关,web作为internet中的一个服务器,且应用网关使用的是图形界面,web使用命令行界面

网络适配器设置成如下


应用网关配置ip地址

Web服务器配置ip地址


在应用网关中添加规则,意思是将内网的ip地址转换为可以访问外网的ip地址:32.0.0.1


Web服务器上开启httpd服务

客户端上设置


这里要注意的一点是rhel4作为应用网关,需开启它的路由转发功能

此方法只是暂时的开启路由功能,系统重启后又关闭路由功能,需永久开启路由功能需修改/etc/sysctl.conf文件


客户端测试


Web服务器上同时开启了ftp服务,客户端访问,出现如下的情况

因为被动连接时指定的数据端口是随机的


所以需要在应用网关上设置文件

编辑/etc/sysconfig/iptables-config

在IPTABLES_MODULES=””中插入ip_nat_ftp

修改了该文件后需重启,如果临时测试的话可以使用命令modprobe ip_nat_ftp


客户端再次测试









DNAT

Web服务器作为内网的服务器,rhel4作为应用网关

在web服务器上设置内网ip地址

添加网关

在应用网关上设置ip地址转换


客户端上测试是否可以访问




本文出自 “摸索中前进” 博客,转载请与作者联系!

你可能感兴趣的:(SNAT,DNAT)