TL; DR:各IPv6アドレスが特定のNICに割り当てられた理由を表示するコマンドはありますか?例えばそのプレフィックスをアドバタイズしたルーターを表示します。
ULAプレフィックスfdaa::/64
が付いたIPv6アドレスを使用するようにネットワークを設定しました。これは機能し、私はこのようなアドレスを持っています:
$ ip addr show dev enp0s25
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether b8:ae:ed:72:7d:5f brd ff:ff:ff:ff:ff:ff
inet 192.168.0.16/24 brd 192.168.0.255 scope global enp0s25
valid_lft forever preferred_lft forever
inet6 fdaa::6666:b3ff:0:d1a/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 2001:4479:7caa:9372:baae:edff:fe72:7d5f/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fdaa::baae:edff:fe72:7d5f/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::baae:edff:fe72:7d5f/64 scope link
valid_lft forever preferred_lft forever
ここでは、パブリック2001:
アドレス、リンクローカルfe80:
アドレスがありますが、ULA fdaa:
サブネットにtwoアドレスがあります。
2つあるとエラーが発生するので、このサブネットに必要なアドレスは1つだけです。たとえば、このマシンは間違ったIPで応答するため、DNSサーバーとして使用できません。
Host fdaa::ba27:ebff:feea:ad9d fdaa::baae:edff:fe72:7d5f
;; reply from unexpected source: fdaa::6666:b3ff:0:d1a#53, expected fdaa::baae:edff:fe72:7d5f#53
;; reply from unexpected source: fdaa::6666:b3ff:0:d1a#53, expected fdaa::baae:edff:fe72:7d5f#53
;; connection timed out; no servers could be reached
IPを削除してネットワークインターフェイスを再起動すると、IPが再び復元されるため、ネットワーク上の何かがプレフィックスをアドバタイズしているように見えますが、それがどこから来ているのかを理解する方法がわかりません!
各IPアドレスを一覧表示し、その割り当て方法、使用可能なプレフィックスとしてアドバタイズしたルーターなどを説明するコマンドはありますか?
いくつかの実験の後、次のコマンドを使用できることがわかりました。
ip monitor
何が起こっているかのリストが表示されます。 1つのターミナルでそれを実行し、別のターミナルでネットワークインターフェイスを再起動すると、各IPアドレスが削除されてから再度追加されると、行が印刷されます。
それはまだIPがどこから来ているのかを正確に説明していませんが、それは私が私のルーター設定を見ることを可能にするra
(ルーター広告)であると私に伝えました。
私の場合、静的IPとして割り当てたのと同じfdaa::/64
プレフィックスをアドバタイズしていました(このサブネットの静的IPが動的IPの割り当てを妨げると想定)、代わりに静的と問題の原因となった同じサブネット内の動的IP。これがバグかどうかについては、まだ2つの考えがあります。
よく考えた後、ルータを変更して、異なるプレフィックス(実際には同じULAの異なるサブネット/48
、したがってfdaa:0:0:1/64
)をアドバタイズします。これにより、両方のサブネットが同じULA割り当てに適合しますが、異なるサブネットは、両方のサブネットに属するIPがあるマシンに間違ったIPから応答させません。
2001年の住所はどこから来たのかわかりません。何かがあなたのネットワークでそれを宣伝しているに違いありません。不正なデバイスを特定する最も簡単な方法は、おそらくWiresharkを使用して送信元MACアドレスを調べることです。
IPv6では、複数のアドレスを持つことは正常です。 DNSサーバーソフトウェアは、クエリを受け取ったアドレスと同じアドレスから応答しているはずですが、動作が適切でない場合は、正しいアドレスを使用するように設定できます。サーバーを実行するときは、とにかくサーバーに静的アドレスを使用することをお勧めします。自動構成を利用して毎回同じアドレスを提供するのは難しい場合があります。プライバシー上の理由により、アルゴリズムは時間とともに変化します。NICが壊れ、NICを変更すると、アドレスも変更されます。クライアントには問題ありませんが、サーバーには問題ありません:)