4 个网卡,2 个网关,只有两个接口可以访问网络

4 个网卡,2 个网关,只有两个接口可以访问网络

我有一个centos7具有 4 个接口和 2 个网关、2 个网络范围的操作系统。一个接口有自己的网关并且可以工作,没有问题。

其他 3 个接口应该使用单个网关,但只有其中一个能够看到/ping 网络。

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=enp2s0
DEVICE=enp2s0
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
IPADDR=10.8.8.53
NETMASK=255.255.255.192
GATEWAY=10.8.8.3
DNS1=4.2.2.4

其他 3 个接口的配置如下:

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=enp3s0
DEVICE=enp3s0
ONBOOT=yes
PROXY_METHOD=none
BROWSER_ONLY=no
IPV6INIT=no
IPADDR=10.8.8.200
NETMASK=255.255.255.192
DNS1=4.2.2.4
ip route add 10.8.8.192/26 dev enp3s0 src 10.8.8.200 table rt3
ip route add default via 10.8.8.195 dev $device table rt4
ip rule add from 10.8.8.200/26 table rt3
ip rule add to 10.8.8.200/26 table rt3

另外两个接口的设备名称和ip是:

enp4s0 => 10.8.8.200
enp5s0 => 10.8.8.201

命令如下ip route show

default via 10.8.8.3 dev enp2s0 proto static metric 100
10.8.8.192/25 dev enp2s0 proto kernel scope link src 10.8.8.51 metric 100
10.8.8.192/26 dev enp5s0 proto kernel scope link src 10.8.8.201 metric 103
10.8.8.192/26 dev enp4s0 proto kernel scope link src 10.8.8.200 metric 104
10.8.8.192/26 dev enp3s0 proto kernel scope link src 10.8.8.199 metric 105

我曾尝试设置DEFROUTE=no,我曾尝试rt对所有接口使用相同的名称。

我需要所有接口(enp3s0,,enp4s0enp5s0能够拥有 10.8.8.195 的网关。

答案1

ip rule add from 10.8.8.200/26 table rt3

/26部分告诉机器它应该使用与接收接口相同的网络掩码发送结果。

我们刚刚编辑了这部分并将其更改为/32代表接收它的相同接口和 IP。

255.255.255.255表示/32只能分配一个主机,它是机器的当前 IP。

我不知道如何或为什么,但它解决了这个问题并且我的路由现在已经修复。

ip rule add from 10.8.8.200/32 table rt3
ip rule add to 10.8.8.200/32 table rt3

相关内容