SNAT(Source Network Address Translation 源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源IP地址。 DNAT(Destination Network Address Translation 目标地址转换)是Linux防火墙的另一种地址转换操作,同样也是iptables命令中的一种数据包控制类型,其作用是可以根据指定条件修改数据包的目标IP地址和目标端口。
实验描述
需求分析:
- DNSserver搭建分离解析;
- 内网解析www.yun.com为192.168.100.88;
- 外网解析www.yun.com为12.0.0.1;
- 利用SNAT和DNAT实现网址转换成eth1端口IP;
- 使得内外网pc机均可使用www.yun.com域名访问;
实验环境:
- DNSserver采用DNS分离解析;
- 内网WEB服务器提供Apache网站服务;
- Apache版本2.2;
- Linux系统版本RedHat6.5;
实验部署
1、搭建DNS分离解析
为DNSserver搭建分离解析服务,并设置解析域名为"www.yun.com"详细过程可参见DNS分离解析服务。 设定eth0为内网网卡,eth1为外网网卡。
2、iptables防火墙规则设置
搭建完成DNS分离解析,为了使服务器启动路由转发功能:
代码语言:javascript复制vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 //设置为1,开启路由转发功能
sysctl -p // 刷新sysctl.conf文件,使修改立即生效
①SNAT实现内网访问外网地址转换成eth1地址
iptables -F //清空防火墙默认规则 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j SNAT --to-source 12.0.0.1 //将内网pc机访问外网时IP均变为 12.0.0.1
②DNAT实现外网访问内网地址转换成eth1地址
iptables -t nat -A PREROUTING -i eht1 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.100.88 //让外网pc访问外网网卡eth1即可转发到内网web服务器上。
此处列举外网pc机配置和访问情况: