Ipv6

如果我已經有 /64,為什麼我必須將 /128 ipv6 地址顯式添加到設備?

  • September 26, 2019

在 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/24192.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符號。

引用自:https://unix.stackexchange.com/questions/543814