六、端口映射

见上节透明代理设置

#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128

七、通过NAT上网

典型NAT上网

一般做为NAT的计算机同时也是局域网的网关,假定该机有两块网卡eth0、eth1,eth0连接外网,IP为202.96.134.134;eth1连接局域网,IP为192.168.62.10

1. 先在内核里打开ip转发功能

#echo 1 > /proc/sys/net/ipv4/ip_forward

2.?使局域网用户能访问internet所要做的nat

#iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to?202.96.134.134

如果上网的IP是动态IP,则使用以下规则:

#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE

如果是通过ADSL上网,且公网IP是动态IP,则使用以下规则:

#iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.62.0/24 -j MASQUERADE

3. 使internet用户可以访问局域网内web主机所要做的nat

#iptables -t nat -A PREROUTING -p tcp -d 202.96.134.134 --dport 80 -j DNAT --to-destination 192.168.62.10

注:局域网内的客户端需将默认网关、DNS设为防火墙的IP

在我们的网络机房实现NAT共享上网

工作环境:上层代理192.168.60.6(4480),只授予教师机(192.168.62.111)使用该代理的权限

目标:不使用squid代理上网,而是使用NAT的方式上网

方法:

1) 确保停止教师机(192.168.62.111)的squid或其它代理服务

2) 客户端网关、DNS均指向192.168.62.111,浏览器代理设置为192.168.60.6(4480)。测试在当前情况下能否上网

3) 在教师机(192.168.62.111)上添加如下iptables规则:

#iptables -t nat -A POSTROUTING -p tcp -d 192.168.60.6/32 --dport 4480 -j SNAT --to-source 192.168.62.111:10000-30000

解释:对于目的地为192.168.60.6、目的端口为4480的TCP包,在经过防火墙路由后,将其源地址转换为192.168.62.111,端口转换为10000-30000间的某个端口。

4) 客户端测试能否上网


相关内容