如果我已经有 /64 地址,为什么还必须向设备显式添加 /128 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 地址添加到设备中?

答案1

后面的数字/是子网大小,在 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使用符号。

相关内容