SNAT(Source Network Address Translation 源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源IP地址。
DNAT(Destination Network Address Translation 目标地址转换)是Linux防火墙的另一种地址转换操作,同样也是iptables命令中的一种数据包控制类型,其作用是可以根据指定条件修改数据包的目标IP地址和目标端口。
为DNSserver搭建分离解析服务,并设置解析域名为"www.yun.com"详细过程可参见DNS分离解析服务。
设定eth0为内网网卡,eth1为外网网卡。
搭建完成DNS分离解析,为了使服务器启动路由转发功能:
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机配置和访问情况:
原文地址:http://blog.51cto.com/13659253/2128562