我服务器上的输出按以下顺序显示 IPv6:
inet6 addr: 2xxx:xxx:aaac:3e::10/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::1/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::2/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::3/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::4/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::5/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::6/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::7/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::8/48 Scope:Global
inet6 addr: 2xxx:xxx:aaac:3e::9/48 Scope:Global
Run Code Online (Sandbox Code Playgroud)
但是在我的 /etc/sysconfig/network-scripts/ifcfg-eth0 中,它们以其他方式排序:
IPV6INIT=yes
IPV6ADDR=2xxx:xxx:aaac:3e::1/48
IPV6ADDR_SECONDARIES=" 2xxx:xxx:aaac:3e::2/48 \
2xxx:xxx:aaac:3e::3/48 \
2xxx:xxx:aaac:3e::4/48 \
2xxx:xxx:aaac:3e::5/48 \
2xxx:xxx:aaac:3e::6/48 \
2xxx:xxx:aaac:3e::7/48 \
2xxx:xxx:aaac:3e::8/48 \
2xxx:xxx:aaac:3e::9/48 \
2xxx:xxx:aaac:3e::10/48"
Run Code Online (Sandbox Code Playgroud)
注意 2xxx:xxx:aaac:3e::10 是第一个,但我希望它是最新的。有什么办法可以让 IPv6s 尊重顺序吗?
地址下降的顺序并不真正相关。问题在于 Linux 通常使用第一个配置的地址作为 IPv4 的默认源地址,但使用最后一个配置的地址作为 IPv6。该地址出现在顶部是巧合。
如果您想手动定义默认源地址,您可以在路由表中进行。这适用于 IPv4 和 IPv6:
ip add route default via 2001:db8::1 dev eth0 src 2001:db8::1234 metric 1
Run Code Online (Sandbox Code Playgroud)
该指标确保该路由被选择而不是任何其他默认路由(SLAAC、引导脚本等)。要记住的一件事是,如果在引导脚本中添加这样一行,只要所选的源地址仍处于暂定状态,Linux 将拒绝添加路由。最近的启动脚本等待重复地址检测完成以防止这种情况发生。如果您的系统仍然有不等待的损坏的启动脚本,您可以使用https://www.vaspects.com/2013/12/11/services-dont-bind-to-ipv6-address/ 上所示的脚本代替.
归档时间: |
|
查看次数: |
1018 次 |
最近记录: |