由 jianxh 在 10-26-2002 20:54 发表:
NAT 的高手请进!
172.16.250.250 为网关
172.16.250.1为WEB服务器的地址
现在想通过NAT实现IP映射,就是说把WEB服务器放在网关的内部,INTERNET通过访问202.110.123.100,在网关上把它转到172.16.250.1上面
########实现透明代理#########
iptables -t nat -A PREROUTING -s 172.16.0.0/16 -d 0/0 -p tcp --dport 80 -j DNAT --to 172.16.250.250.4:3128
########IP映射#############
iptables -t nat -A PREROUTING -i eth0 -d 202.110.123.100 -j DNAT --to 172.16.250.1
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.250.1 -j SNAT --to 202.110.123.100
我按上面的rules不能实现,如果只有第一条,可以实现透明代理,加上后面两条的话,WEB不能被INTERNET访问到,请教NAT的高手,我应该怎样做才行啊?
谢谢~~
由 xchen 在 10-27-2002 12:27 发表:
202.110.123.100是有效ip么?
用映射还不如用转发,ip映射将所有的请求都送到了172.16.250.1,转发的话只将80的请求发送至172.16.250.1。
不管你202.110.123.100是否是有效地址,在这里仅以接口eth0来做,用的时候用有效ip访问就可以了:
iptables -t nat -A PREROUTING -i etho -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.250.1:80
iptables -t nat -A POSTROUTING -o etho -s 172.16.250.0/24 -d 172.16.250.1 -p tcp -m tcp --dport 881 -j SNAT --to-source 172.16.250.250
再开启etho上的80端口。
你原来的ip映射语句没有错,十之八九还是你的202.110...这个ip有问题。
由 小红帽 在 10-27-2002 17:54 发表:
你的forward规则可能没有打开
由 xchen 在 10-28-2002 21:44 发表:
不好意思,上面有地方错了,更正如下:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.250.1