RHEL5.7下iptabels防火墙配置(下)
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-03-25
将由路由模块把数据包路由给10.10.2.3服务器.假设IP为10.10.2.3的计算机需要为Internet提供网络服务,此时,可以规定一个公网IP地址,使其与10.10.2.3建立映射关系,采用"-j PREROUTING”目标动作.假设使用的公网IP是218.75.26.34,则配置目的NAT的命令如下: iptables -t nat -A PREROUTING -i eth0 -d 218.75.26.34/32 -j DNAT --to 10.10.2.3 以上是在PREROUTING链中添加规则,这条链位于路由模块的前面,因此是在路由前改变了数据包的目的IP,这将对路由的结果造成影响.网络接口eth0与Internet连接,因此,"-i eth0"保证了数据包是来自Internet的数据包."-d 218.75.26.34/32"表示数据包的目的地是到218.75.26.34主机,而这个IP应该是eth0某个子接口的地址,这样才能由NAT服务器接收数据包,否则,数据包将会无人接收而丢弃. 以上是让一个公网IP完全映射到内网的某个IP上,此时同10.10.2.3主机直接位于Internet,并且使用218.75.26.34地址是没有区别的.因此这种方式虽然达到了地址转换的目的,但实际上并没有带来多大好处,使用NAT的主要目的是为了能够共用公网IP地址,以节省日益紧张的IP地址资源.为了达到共用IP地址的目的,可以使用端口映射.端口映射是把一个公网IP地址的某一端口映射到内网某一IP地址的某一端口上去.它使用起来非常灵活,两个映射的端口其端口号可以不一样,同一个公网IP的不同端口可以映射到不同的内网IP地址上去.例如,主机10.10.2.3只为外网提供Web服务,因此,只需要开放80端口,而主机10.10.2.9为外网提供了FTP服务,因此需要开放21号端口.在这种情况下,完全可以把公网IP地址218.75.26.34的80号和21号端口分别映射到10.10.2.3和10.10.2.9的80号和21号端口,以便两台内网服务器可以共用一个公网IP.具体命令如下所示. iptables -t nat -A PREROUTING -i eth0 -d 218.75.26.34/32 -p tcp --dport 80 -j DNAT --to 10.10.2.3:80 iptables -t nat -A PREROUTING -i eth0 -d 218.75.26.34/32 -p tcp --dport 21 -j DNAT --to 10.10.2.9:21 以上命令中,目的地址是218.75.26.34的TCP数据包.当目的端口是80时,将转发给10.10.2.3主机的80端口;当目的端口是21时,将转发给10.10.2.9主机的21号端口.当然,两个映射的端口完全可以不一样.例如,如果还有一台主机10.10.2.8也通过80端口提供Web服务,并且映射的IP地址也是218.75.26.34,此时需要把218.75.26.34的另一个端口,如8080,映射到10.10.2.8的80端口,命令如下: iptables -t nat -A PREROUTING -i eth0 -d 218.75.26.34/32 -p tcp --dport 8080 -j DNAT --to 10.10.2.8:80 注意:上面介绍的只是有关iptables中的DNAT配置,在实际应用中,还需要其他一些配置的配合才能真正成功.例如,filter表的3个链应该允许相应的数据包通过,应该为每一个外网IP创建eth0接口的子接口等. 此外,对于FTP服务来说,21号端口只是建立控制连接时用到的端口,真正传输数据时要使用其他端口.在被动方式下,客户端向FTP服务器发起连接的端口号是随机的,因此,无法通过开放固定的端口来满足要求.为了解决这个问题,可以在Linux系统中载入以下两个模块:modprobeip_conntrack_ftp和modprobeip_nat_ftp.这两个模块可以监控FTP控制流,以便能事先知道将要建立的FTP数据连接所使用的端口,从而可以允许相应的数据包通过,即使防火墙没有开放这个端口. 实验案例 如图,RHEL-A是企业内网的一台服务器,RHEL-B是外网一台主机,RHEL-C是企业出口网关,Router代表运营商路由器.企业内部使用私有地址,网关处需要进行NAT转换才可以访问,RHEL-C的eth0接口只有一个公网IP.要求RHEL-A能够访问外网的RHEL-B,RHEL-B在浏览器上输入RHEL-C的外网IP时可直接访问RHEL-A的80端口(前 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 在RHEL5中配置多IP下一篇: 构建企业服务之centos 5.5 DNS 部署
关于RHEL5.7下iptabels防火墙配置(下)的所有评论