IPv6隣接ルータの状態がSTALEに変わるのはなぜですか?どうすれば回避できますか?

IPv6隣接ルータの状態がSTALEに変わるのはなぜですか?どうすれば回避できますか?

ブリッジされたネットワークを持つホストには仮想マシンがあります(したがって、独自のMACアドレスがあります)。ホストマシンと仮想マシンの両方がCentOSを実行しています。彼らのネットワークは単純なファイルで管理されています/etc/sysconfig/network-scripts/ifcfg-enpXsY。 IPv4はうまく動作します。

VMにIPv6アドレス(ホストコンピュータにもアドレスがあります)を割り当て、データセンターで正しくルーティングされます。ただし、ほとんどの接続はIPv4を使用しています(マシンにはまだDNS AAAAエントリがなく、まだIPv6をテストしています)。

仮想マシンを起動すると、完全なIPv6接続が可能になります。しかし、一定時間が経過すると、IPv6接続は機能しません。(IPv6魔法?)。問題の範囲をネイバー (ARP/NDISC キャッシュ) データに絞り込みました。

動作せず、IPv6入出力を介してpingまたは接続できません。

# ip -6 neighbour 
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 router STALE

キャッシュを更新する修正/解決方法:

# ip -6 neighbour flush dev enp1s2
# ip -6 neighbour
(empty, as expected)

その後、ホストはping6VM内でキャッシュを埋めます。

# ping6 2912:1375:23:9a6c::2
PING 2912:1375:23:9a6c::2(2912:1375:23:9a6c::2) 56 data bytes
64 bytes from 2912:1375:23:9a6c::2: icmp_seq=1 ttl=64 time=2.35 ms
64 bytes from 2912:1375:23:9a6c::2: icmp_seq=2 ttl=64 time=0.468 ms
^C
# ip -6 neighbour
fe80::1 dev enp1s2 lladdr 0c:86:72:2e:04:28 router REACHABLE
2912:1375:23:9a6c::2 dev enp1s2 lladdr 08:21:4b:b7:f8:31 DELAY

IPv6隣接/ ARPテーブルが再び有効になり、接続が機能しています!

だから私の質問は次のようになります

  1. キャッシュが古い理由は何ですか?
  2. それを防ぐにはどうすればよいですか?

もちろん、cronタスク内でこれらのコマンドを実行できますが(どのくらいの頻度ですか?)、IPv6では通常はそうする必要はないと思いますか?

PS:テストにスクリプトを使用しました。IPv6スタックは約20分ごとにクラッシュします。。 RFCを説明できますか?

関連情報