- 论坛徽章:
- 0
|
本帖最后由 cyhyf 于 2016-01-12 16:26 编辑
我装了个Centos当路由用,网络环境如下:
eth0(192.168.0.11)->Adsl Modem
eth1(172.16.10.1)->LAN
也就是在Centos上用两块网卡,一块接modem,做PPPoE拨号上网,另一块接局域网,同时下面两条命令来做端口映射和NAT,
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 8890 -j DNAT --to-destination 172.16.10.10:5000
-A POSTROUTING -s 172.16.10.0/24 -o ppp0 -j MASQUERADE
现在的问题是在外网我可以通过访问ppp0拨号获取到的公网IP:8890,访问到局域网内172.16.10.10:5000上的服务,但如果在内网直接使用ppp0上的公网IP:8890则无法访问,只能通过内网IP来访问,我知道这是NAT回流的问题,如果我将上面的命令改成:
-A PREROUTING -p tcp -m tcp --dport 8890 -j DNAT --to-destination 172.16.10.10:5000
-A POSTROUTING -s 172.16.10.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
则可以在内网使用公网IP来访问,但又有一个问题,比如访问www。baidu。com:8900,只要是8900端口的都给转发到172.16.10.10上去了,要怎么正确的去设置iptables呢?
|
|