我有一台带有两个 NIC 的 Red Had Linux 机器:
- eth0——10.0.1.253|255.0.0.0
- eth1-10.0.1.1 | 255.255.255.0
因此,第一个位于 A 类子网上,第二个位于 C 类子网上。
我的路由表如下所示:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.1.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
default 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
两个 NIC 连接到不同的物理(实际上是虚拟)LAN 段,我有一台主机连接到同一个 LAN 段,eth0 的 IP 为 10.0.1.3 | 255.0.0.0,但我无法从这台机器 ping 它,因为它似乎混淆了并发送了 eth1。当我禁用 eth1 以强制数据包从 eth0 发出时,它会连接,但我需要同时启用两者。
我认为解决方案是向我的主机 10.0.1.3 添加手动路由以强制其通过 eth0。根据上述信息,我不确定手动路由的命令是什么。基本上我需要将任何流量从 eth0 发送到 10.0.1.3。任何帮助都非常好!!
答案1
# route add -host 10.0.1.3 dev eth0
答案2
在使用二进制文件的较新的机器上,ip
添加路由的语法略有不同(但幸运的是,对于主机/网络/等来说确实是一致的)。
ip route add 10.0.1.3 via 10.0.0.1 dev eth0
如果您要10.0.2.0
通过eth1
接口为新网络添加新的默认路由,它可能会是这样的。
ip route add 10.0.2.0/24 via 10.0.1.1 dev eth1