CentOS 路由表有默认网关的双重条目

CentOS 路由表有默认网关的双重条目

我无法 ping 通 Google,因此我查看了我的路由表:

# ip r
default via 10.30.0.1 dev eno2  proto static  metric 100 
default via 10.30.0.1 dev eno1  proto static  metric 101 
10.30.0.0/24 dev eno1  proto kernel  scope link  src 10.30.0.21  metric 100 
10.30.0.1 dev eno2  proto static  scope link  metric 100 
192.168.30.0/24 dev eno2  proto kernel  scope link  src 192.168.30.3  metric 100 

关于通过 eno2 的 10.30.0.1 的条目没有意义,因为 eno2 具有 IP/掩码 192.168.30.3/24,事实上如果我删除这两个,一切都会顺利:

# ip route delete default via 10.30.0.1 dev eno2
# ip route delete 10.30.0.1 dev eno2
# ping www.google.gr

PING www.google.gr (216.58.210.3) 56(84) bytes of data.
64 bytes from fra16s07-in-f3.1e100.net (216.58.210.3): icmp_seq=1 ttl=54 time=132 ms
...

我没有发现我的设置有任何明显错误:

输出 cat /etc/sysconfig/network-scripts/ifcfg-eno1

NAME=eno1
DEVICE=eno1
TYPE=Ethernet
BOOTPROTO=static
IPADDR=10.30.0.21
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
ONBOOT=yes
UUID=...
IPV6...
...

输出 cat /etc/sysconfig/network-scripts/ifcfg-eno2

NAME=eno2
DEVICE=eno2
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.30.3
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
ONBOOT=yes
UUID=...
IPV6...
...

答案1

您应该只在其中一个接口文件中使用“DEFROUTE=yes”,默认情况下,您希望互联网流量通过该文件流动。

答案2

您应该DEFROUTE=yes从 eno2 的配置中删除。

如果您不使用 DHCP 来获取 DNS 和默认网关,那么您也不需要PEERDNS=yesand 。PEERROUTES=yes


参考

https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-networkscripts-interfaces.html

德弗劳特: 是的— 将此接口设置为默认路由。— 不要将此接口设置为默认路由。

https://docs.oracle.com/cd/E37670_01/E41138/html/ol_about_netconf.html

PEERDNS:用于DNS解析的/etc/resolv.conf文件是否包含从DHCP服务器获取的信息。

PEERROUTES:定义接口的默认网关的路由表条目的信息是否从 DHCP 服务器获取。

相关内容