到 169.254.0.0 的路由来自哪里?

jac*_*hab 36 linux routing route centos

运行 CentOS 5.4

为什么我有到 169.254.0.0 的路由,尽管它没有出现在网络 > 以太网设备 > 路由配置对话框中?

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth2
169.254.0.0     *               255.255.0.0     U     0      0        0 eth2
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth2
Run Code Online (Sandbox Code Playgroud)

Kyl*_*ith 59

我喜欢马塞尔的回答,但它并没有真正解决这个问题。问题是“为什么我有..”,而不是“我如何禁用”。OP 实际上可能不想禁用此路由。

169.254.0.0/16 网络用于自动专用 IP 寻址或 APIPA。如果 DHCP 客户端尝试获取地址,但在超时和重试期后未能找到 DHCP 服务器,它将随机假定来自该网络的地址。这允许与未能获得 DHCP 地址的主机进行通信。

  • 马塞尔:也许,也许不是。你的回答很好,只是想确保他明白为什么他会以 169.254 开始。:) (3认同)
  • 我想他知道这一点。他真的很想知道为什么会出现路由,尽管他的 DHCP(如果他使用一个)显然有效,因为他在该接口上的 IP 地址与 169 不同......为什么我有?......正如答案所说......因为你没有禁用它:) (2认同)

小智 39

来自红帽知识库上的这篇文章:

如何禁用 zeroconf 路由,以便系统在没有 169.254.0.0 / 255.255.0.0 路由的情况下启动?

症状:

每次系统启动时,都会启用 zeroconf 路由 (169.254.0.0)。您可以通过关闭防火墙手动禁用它,并使用 route 命令删除 169.254.0.0 / 255.255.0.0 的路由。

启用 zeroconf 路由的路由示例输出类似于以下内容:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.15.50.0      *               255.255.252.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
Run Code Online (Sandbox Code Playgroud)

解决方案:

要在系统引导期间禁用 zeroconf 路由,请编辑 /etc/sysconfig/network 文件并将以下 NOZEROCONF 值添加到文件末尾:

NETWORKING=YES
HOSTNAME=localhost.localdomain
NOZEROCONF=yes
Run Code Online (Sandbox Code Playgroud)

  • 最好能实际说明 Zeroconf 路由的用途 (4认同)