我一直在尝试在服务器上配置 IPTABLES,以便我可以与另一台机器共享服务器上的互联网。服务器 IP 为 192.168.10.1 (eth0),连接来自 192.168.0.6 (eth0:2),客户端为 192.168.10.10 (机器中的 eth1)。我尝试使用来自
https://help.ubuntu.com/community/Internet/ConnectionSharing
进行了正确的更改,但我无法使其工作,客户端可以 ping 192.168.0.1(互联网来自的地方),但根本无法访问互联网。
服务器:
eth0 192.168.10.1 eth0:2 192.168.0.6 当前已与客户端和互联网建立连接
路由器:
192.168.0.1
客户:
eth1 192.168.10.10 可以 ping 通路由器和服务器
答案1
编辑/etc/sysctl.conf并取消注释:
# net.ipv4.ip_forward=1
iptables 部分应该如下所示,其中 eth0 是互联网,eth1 是 LAN:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
如果你的服务器有 2 个物理网络接口,那么它应该可以工作,如果你的服务器只有 1 个物理接口,你就不能将它用作互联网网关