尝试向服务器添加新路由时,我看到错误。以下是我尝试添加的路由:
[root@distribute1 network-scripts]# cat route-bond0.2102
161.26.98.0/24 via 10.95.32.1
10.246.179.0/24 via 10.246.182.65 dev bond0.2102
10.246.180.0/24 via 10.246.182.65 dev bond0.2102
10.246.181.0/24 via 10.246.182.65 dev bond0.2102
10.246.182.0/24 via 10.246.182.65 dev bond0.2102
以下是我重新启动网络服务时看到的错误:
Bringing up interface bond0.2102: Determining if ip address 10.246.182.2 is already in use for device bond0.2102...
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
以下是现有的路线:
[root@distribute1 network-scripts]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.50.33.104 0.0.0.0 255.255.255.248 U 0 0 0 bond0
10.246.182.0 0.0.0.0 255.255.255.224 U 0 0 0 bond0.2102
10.50.32.224 0.0.0.0 255.255.255.224 U 0 0 0 bond0
10.95.32.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0.2455
161.26.98.0 10.95.32.1 255.255.255.0 UG 0 0 0 bond0.2455
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 bond0
0.0.0.0 10.50.32.225 0.0.0.0 UG 0 0 0 bond0
请告诉我我能做什么?
答案1
我缺少的是分配给接口的 IP 地址债券0.2102。
无论如何,从路由表中可以得到一条不相关(但“几乎”)的路由:
10.246.182.0 0.0.0.0 255.255.255.224 U 0 0 0 bond0.2102
此路由最有可能来自分配给接口的 IP 地址。此接口上可用的网络是 10.246.182.0/27 (10.246.182.0 - 10.246.182.31)。
如果您想将路由添加到路由表,下一跳(网关)必须是可直接到达的。如果您想添加一些不能直接到达的路由,您必须添加带有可到达节点的记录,并且该节点必须知道下一步(同样,对于提到的节点,它必须是可直接到达的)。
您正在尝试添加网关为 10.246.182.65 的路由。根据您当前的路由表,IP 10.246.182.65 根本无法访问。问题的可能根源是:
GW IP 10.246.182.65。要使其正常工作,最后一个八位字节(最后一个点后的数字)应介于 0 到 31 之间,当前路由记录可以访问该八位字节
在接口 bond0.2102 上设置网络掩码。如果 (最大) 为 /25(现在为 /27),则本地记录可以访问 IP 10.246.182.65 - 对于 10.246.182.0/25,有效 IP 范围为 10.246.182.0 - 10.246.182.127。
由于您尝试添加的最后一条路线是
10.246.182.0/24 via 10.246.182.65 dev bond0.2102
我猜问题出在接口上设置的网络掩码上。一旦 IP 地址变为 10.246.182.x/24 而不是 10.246.182.x/27,最后列出的路由就不再需要了,因为它将是基于接口上的 IP 设置隐式“生成”的路由,并且根据此规则,IP 10.246.182.65 将被覆盖并正常工作。因此,将有以下路由:
10.246.182.0 0.0.0.0 255.255.255.0 U 0 0 0 bond0.2102
代替
10.246.182.0 0.0.0.0 255.255.255.224 U 0 0 0 bond0.2102