我在 ubntu 上设置了 2 个 NICS。一个连接到互联网,具有 IP 192.168.1.101
,另一个连接到 LAN,具有 IP 192.168.1.100
,互联网网关是192.168.1.1
我的配置,使用 Iptables 如下:
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
我已将测试 PC 连接到192.168.1.100
端口,并指定了一个静态 IP 192.168.1.11
,并将 GW 设置为192.168.1.100
(也尝试了 .1 和 .101!!)每台 PC 都可以 ping 通对方,但我无法从测试 PC 访问互联网另外,我无法从测试192.168.1.1
PC ping 通 GW。
是否缺少配置?
我还补充道:echo 1 >/proc/sys/net/ipv4/ip_forward
问候,福阿德
答案1
我的建议是:
nic 到internet
/eth0
address: 192.168.1.101
netmask: 255.255.255.0
gateway: 192.168.1.1
nic 到lan
address: 192.168.2.1
netmask: 255.255.255.0
电脑通过局域网连接到
address: 192.168.2.100
netmask: 255.255.255.0
gateway: 192.168.2.1
是的,但对于完整的手册
启用 IP 转发。这可以通过使用
echo "1" > /proc/sys/net/ipv4/ip_forward
在那之后
添加一条规则,告诉转发流量
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
因为您的路由器不知道网络,所以192.168.2.0/24
我们必须这样做masquarade
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
这样,来自的流量eth0
就可以通过到达网络的其余部分eth1
。