具有 3 个 NIC 的 Ubuntu 路由表

具有 3 个 NIC 的 Ubuntu 路由表

我想将 Ubuntu 12.04 配置为路由器。这台 Ubuntu PC 有 3 个网卡

eth0:192.168.1.203 (LAN1)
eth1:172.16.30.21 (Internet)
eth2:10.216.1.107 (LAN2)

$ route -n

Kernel IP routing table
Destination     Gateway         Genmask         Indic Metric   Ref  Use Iface
0.0.0.0         172.16.30.1     0.0.0.0         UG    0        0    0   eth1
10.216.1.0      10.216.1.1      255.255.255.0   UG    0        0    0   eth2
10.216.1.0      0.0.0.0         255.255.255.0   U     1        0    0   eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1000     0    0   eth2
172.16.30.0     0.0.0.0         255.255.255.0   U     1        0    0   eth1
192.168.0.0     192.168.1.3     255.255.0.0     UG    0        0    0   eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     1        0    0   eth0

如果我像这样配置另一台 Windows PC(PC1):

ip:192.168.1.29
mask:255.255.255.0
gw:192.168.1.203

从这台电脑(PC1),我连接到互联网,我可以 ping 通这个范围 192.168.0.0/16 和这个 IP 10.216.1.107 中的所有 IP,但是我无法 ping 通这个范围 10.216.1.0/24 中的其他 IP(我可以从 ubuntu pc ping 通这个范围)。

我的问题是如何修改我的路由表以确保 PC1 与 10.216.1.0/24 范围内的所有 PC 之间的连接

答案1

网络 10.216.1.0/24 中的计算机不知道到网络 192.168.1.0/24 的路由,这就是它们无法通信的原因。您必须在 router2 中设置静态路由,将 192.168.1.0/24 重定向到 10.216.1.107。

或者,您可以使用 iptables 将 192.168.1.0/24 网络伪装在 eth2 IP 地址后面:

iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

离开 eth2 的软件包的源 IP 将会变为 10.216.1.107。

相关内容