我可以更改 Linux 中的 IP 地址顺序吗?

我可以更改 Linux 中的 IP 地址顺序吗?

我遇到了一些网络问题,这些问题似乎与 iproute2 中显示的 IP 地址顺序有关。它通常是这样的:

# ip -4 -o address show dev eth0
2: eth0    inet 192.168.222.212/23 brd 192.168.223.255 scope global eth0\       valid_lft forever preferred_lft forever
2: eth0    inet 169.254.0.2/24 scope global eth0:0\       valid_lft forever preferred_lft forever
2: eth0    inet 169.254.1.2/24 scope global eth0:1\       valid_lft forever preferred_lft forever

然而,我在网络上遇到了一个奇怪的事件,导致主 IP 被刷新/重新添加,这使得它显示在列表的底部:

# ip -4 -o address show dev eth0
2: eth0    inet 169.254.0.2/24 scope global eth0:0\       valid_lft forever preferred_lft forever
2: eth0    inet 169.254.1.2/24 scope global eth0:1\       valid_lft forever preferred_lft forever
2: eth0    inet 192.168.222.212/23 brd 192.168.223.255 scope global eth0\       valid_lft forever preferred_lft forever

因此,在这种情况下,我的传出 IGMP 数据包现在来自 169.254.0.2,而不是 192.168.222.212,直到我重新启动或刷新整个接口并重新添加 IP。

有没有办法强制新创建的 IP 显示在列表顶部?我需要修补内核才能实现这一点吗?

答案1

经过多次尝试和磨难,主要问题已经找到。

问题在于 IP 地址的范围。两个内部地址 (169.254.xx) 设置为全局范围。将范围更改为主持人解决了问题。

相关内容