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/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
シンボルのみを使用してください。