通过之前的学习(见 http://www.linuxidc.com/Linux/2013-08/88423.htm ),我们认识了linux防火墙的表、链结构,并学会编写简单的防火墙规则,接下来为大家补充linux防火墙的SNAT源地址转换和DNAT目标地址转换策略,熟悉其的用途和用法是我们掌握防火墙的基础,下边开始我们的学习:
推荐阅读:iptables—包过滤(网络层)防火墙 http://www.linuxidc.com/Linux/2013-08/88423.htmLinux防火墙iptables详细教程 http://www.linuxidc.com/Linux/2013-07/87045.htmiptables+L7+Squid实现完善的软件防火墙 http://www.linuxidc.com/Linux/2013-05/84802.htmiptables的备份、恢复及防火墙脚本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htmLinux下防火墙iptables用法规则详解 http://www.linuxidc.com/Linux/2012-08/67952.htm
SNAT策略概述:SNAT策略的典型应用环境局域网主机共享单个公网IP地址接入InternetSNAT策略的原理:
源地址转换(Source Network Address Translation)是linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,并根据指定条件修改数据包的源IP地址。实验环境拓扑:实验分析:a:只开启路由转发,未做地址转换的情况:分析:
- 从局域网PC机访问Internet的数据包经过网关转发后其源IP地址保持不变;
- 当Internet中的主机收到这样的请求数据包后,响应数据包将无法正确返回,从而导致访问失败。
b:开启路由转发,并设置SNAT转换的情况:分析:
- 局域网PC机访问Internet的数据包到达网关服务器时,会先进行路由选择;
- 如果该数据包需要从外网接口eth0向外转发,则将其源IP地址192.168.10.2修改为网关的外网接口地址210.106.46.151,然后发送给目标主机。
- 这种访问方式的优点:
- Internet中的服务器并不知道局域网PC机的实际IP地址,中间的转换完全由网关主机完成,起到了保护内部网络的作用。
SNAT策略的应用:前提条件:
- 局域网各主机正确设置IP地址/子网掩码
- 局域网各主机正确设置默认网关地址
- Linux网关支持IP路由转发
实现方法:编写SNAT转换规则SNAT共享固定IP地址上网:实验环境描述:
- Linux网关服务器两块网卡eth0:210.106.46.151连接Internet、eth1:192.168.10.1连接局域网,开启IP路由功能
- 局域网PC机的默认网关设为192.168.10.1,并设置正确的DNS服务器。
- 内网和外网分别新建客户机,分别指定对应的网关地址,在外网客户机上开启httpd服务,在内网客户机中访问httpd服务,最后查看httpd客户机的访问记录;
- 要求:192.168.10.0/24网段的PC机能够通过共享方式正常访问internet。
实验步骤:1:打开网关的路由转发(IP转发是实现路由功能的关键所在):
打开路由转发的两种方式:
永久打开(
修改/proc文件系统中的ip_forward,当值为1时表示开启,为0表示关闭):
临时开启,临时生效:2:正确设置SNAT策略(若要保持SNAT策略长期有效,应将相关命令写入rc.local中):[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 210.106.46.1513:测试SNAT共享接入的结果:上诉操作完成后,使用局域网PC就可以正常访问Internet中的网站。对于被访问的网站服务器,在日志文件中将会记录以网关主机210.106.46.151访问。
共享动态IP地址上网:
- MASQUERADE —— 地址伪装
- 适用于外网IP地址非固定的情况
- 对于ADSL拨号连接,接口通常为ppp0、ppp1
- 将SNAT规则改为MASQUERADE即可
实例:[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o ppp0 -j MASQUERADE
如果网关使用固定的公网IP地址,建议选择SNAT策略而不是MASQUERADE策略,以减少不必要的系统开销。iptables的备份、恢复及防火墙脚本的基本使用Linux下为iptables增加layer7补丁(Linux2.6.25内核) 图文详解相关资讯 IpTables Iptables防火墙
- CentOS Samba 服务器 Iptables 和 (今 07:14)
- iptables超全详解 (09月01日)
- Iptables防火墙 基础知识 (08月19日)
| - Iptables工作原理使用详解 (09月06日)
- iptables中NAT表 (08月25日)
- Linux 为FTP 服务器添加iptables规 (08月11日)
|
本文评论 查看全部评论 (0)
评论声明- 尊重网上道德,遵守中华人民共和国的各项有关法律法规
- 承担一
|