Ipv6

如何設置ipv6的順序?

  • October 13, 2014

我的伺服器上的輸出按以下順序顯示 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

但在我的 /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"

注意 2xxx:xxx:aaac:3e::10 是第一個,但我希望它是最新的。有什麼方法可以讓 IPv6 尊重訂單?

地址關閉的順序並不真正相關。問題是 Linux 通常使用第一個配置的地址作為 IPv4 的預設源地址,但最後一個配置的地址用於 IPv6。該地址顯示在頂部是巧合。

如果要手動定義預設源地址,可以在路由表中進行。這適用於 IPv4 和 IPv6:

ip add route default via 2001:db8::1 dev eth0 src 2001:db8::1234 metric 1

該指標確保選擇此路由而不是任何其他預設路由(SLAAC、啟動腳本等)。要記住的一件事是,如果您在引導腳本中添加這樣一行,只要所選的源地址仍處於暫定狀態,Linux 就會拒絕添加路由。最近的引導腳本等待重複地址檢測完成以防止這種情況發生。如果您的系統仍然有不等待的損壞啟動腳本,您可以使用 https://www.vaspects.com/2013/12/11/services-dont-bind-to-ipv6-address/ 上所示的腳本.

引用自:https://serverfault.com/questions/636514