我对 iptables 还很陌生。我的服务器有两张以太网卡(eth0、eth1)和一个 ADSL 路由器,该路由器处于桥接模式,连接到 eth0,拨号时会创建 ppp0。
我正在尝试将外部端口 80 转发到连接到 eth1 的本地机器 (192.168.2.2)。
我的互联网共享是通过以下方式完成的:
iptables -t nat -A POSTROUTING -s 192.168.2.0/255.255.255.0 -o ppp0 -j MASQUERADE
(如果有更好的方法请告诉我)
我正在尝试使用:
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j DNAT --to-destination 192.168.2.2:80
但我不知道应该将其指向哪个以太网接口。有什么想法吗?
答案1
如果您通过 访问互联网ppp0
,则您应该-i
在两个命令中使用 for。(请检查 中的默认路由ip -4 route
以确保无误。)
答案2
查看http://www.hackorama.com/network/portfwd.shtml。它对您要做的事情提供了非常好且详细的解释。