iptables禁止应用中的SNAT和DNAT的区别与应用

通过上一篇文章的学习,我们认识了Linux防火墙的表、链机构,并学会了编写简单的防火墙规则。Linux防火墙在很多时候承担着连接企业内、外网的重任,除了提供数据包过滤功能以外,有时还需要提供一些基本的网关应用。

在配置SNAT和DNAT之前,需要开启Linux系统中的地址转发功能,否则数据无法通过防火墙转发出去。

也可以开启临时的路由转发,可以执行以下操作。

SNAT:源地址转换,是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源IP地址。

列如:Linux网关服务器通过eth0和eth1分别连接Internet和局域网,其中eth0的IP地址为218.29.30.31,eth1的IP地址为192.168.1.1。现在要求在Linux网关服务器上配置规则,使用局域网内的所有用户可以通过共享的方式访问。可执行以下操作。

1)开启路由转发,上面已经讲过,这里不在详述了。

3)在某些情况下,网关的外网IP地址可能不是固定的,列如使用ADSL宽带接入时,针对这这种需求,iptables提供了一个名为MASQUERASE(伪装)的数据包控制类型,MASQUERADE相当于SNAT的一个特列,同样同来修改数据包的源IP地址只过过它能过自动获取外网接口的IP地址。

参照上一个SNAT案例,若要使用MASQUERADE伪装策略,只需要去掉SNAT策略中的“--to-source IP地址”。然而改为“-j MASQUERADE”指定数据包的控制类型。对于ADSL宽带连接来说,连接名称通常为ppp0,ppp1等。操作如下

4)测试SNAT共享接入的结果

同过上面的配置,这时内部局域网访问所使用的IP地址是网关服务器的外网接口地址了。我们可以在往外客户端执行“tcpdump -i eth0”监听访问本机的数据流,然后在内网ping外网客户端,然后查看外网客户端监听的状态,会发现,访问外网客户机的IP地址是网关服务器的外网接口地址,而不是内部局域网的地址。

DNAT:目标地址转换,是Linux防火墙的另一种地址转换操作,同样也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的目标IP地址,目标端口。

DNAT策略与SNAT策略非常相似,只不过应用方向反过来了。SNAT用来修改源地址IP,而DNAT用来修改目标IP地址,目标端口;SNAT只能用在nat表的POSTROUTING链,而DNAT只能用在nat表的PREROUTING链和OUTPUT链中。

列如:借助上述网络环境,公司内部局域网内搭建了一台web服务器,IP地址为192.168.1.7,现在需要将其发布到互联网上,希望通过互联网访问web服务器。那么我们可以执行如下操作。

2)再列如:公司的web服务器192.168.1.7需要通过互联网远程管理,由于考虑到安全问题,管理员不希望使用默认端口进行访问,这时我们可以使用DNAT修改服务的默认端口。操作如下:

3)在外网客户端中访问网关服务器的外网接口,可以发现访问的居然是内网192.168.1.7的web服务器的网页。而在使用sshd连接2346端口时,居然可以远程连接到192.168.1.7服务器上。

}

这个,,,通常是不记录,当然,如果需要记录就要使用专门的模块,例如ulog2, 当当然,模块的日志可以保存在文件中,也可以insert 到数据库中,取决于你的配置。。。

}

专业文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。

专业文档是百度文库认证用户/机构上传的专业性文档,文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。

阅读已结束,下载本文需要

下载文档到电脑,同时保存到云知识,更方便管理

还剩3页未读, 继续阅读

}

我要回帖

更多关于 iptables禁止应用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信