Ipv6
如果我已經有 /64,為什麼我必須將 /128 ipv6 地址顯式添加到設備?
在 Fedora 伺服器上,我的
/etc/sysconfig/network-scripts/ifcfg-eth0:0
:IPV6ADDR=<REDACTED>:48ea::1/64
現在綁定到該特定地址有效:
$ nc -l <REDACTED>:48ea::1 1025
但是,綁定到同一網路遮罩空間中的另一個地址失敗:
$ nc -l <REDACTED>:48ea::2 1025 Ncat: bind to <REDACTED>:48ea::2:1025: Cannot assign requested address. QUITTING.
如果顯式添加
<REDACTED>:48ea::2/128
(通過添加IPV6ADDR_SECONDARIES
或執行ip addr add <REDACTED>:48ea::2/128 dev eth0
),那麼我可以綁定到它。**為什麼添加
/64
地址還不夠?**在使用設備之前,我是否必須明確地將每個 /128 地址添加到設備中?
後面的數字
/
是子網大小,在 IPv6 中(幾乎)總是 /64。它沒有說明您的本地機器。就像使用 IPv4 一樣,您仍然必須將每個單獨的地址分配給介面。使用 IPv4,您可以同時編寫
192.168.0.1/24
和192.168.0.1/255.255.255.0
. 他們的意思完全一樣。使用 IPv6 寫入
<REDACTED>:48ea::1/ffff:ffff:ffff:ffff::
(甚至<REDACTED>:48ea::1/ffff:ffff:ffff:ffff:0000:0000:0000:0000
)會變得有點笨拙,所以只使用<REDACTED>:48ea::1/64
符號。