通过NAT实现IP映射,就是说把WEB服务器放在网关的内部,如何设置?

由 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

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus