ネットワークがあり、radvd
サーバーがkea-dhcp6
稼働しています。クライアントが稼働していてsystemd-networkd
(現在のDebianが安定している)、次のことを行います。
[Network]
IPv6AcceptRA=true
DHCP=yes
望ましい動作は、DHCPv6 のアドレスと RA のパスでクライアントを設定することです。現在この構成では、クライアントはDHCPから正しいIPアドレス、自動生成/自動割り当てglobal dynamic mngtmpaddr noprefixroute
アドレス、および正しいパスを取得します。
default proto static metric 1024
nexthop via fe80::20d:b9ff:fe54:2d18 dev eno1 weight 1 pref medium
退屈な理由で、システムはDHCPv6割り当てアドレスをソースアドレスとして好むことを望んでいます。私が知っている限り、このアドレスを「自宅」アドレスに設定するか、このアドレスを利用可能な唯一のアドレスに設定することでこれを達成できます。現在、DHCP取得アドレスにフラグを設定することがsystemd-networkd
不可能であることがわかったhome
ので、後者の実行方法を理解しようとしています。
問題は、これを設定するとIPv6AcceptRA=false
アドレスが削除されますが、デフォルトのLLアドレスルーティングも削除され、他の多くが中断されることです。
RAがLLパスを割り当てたが、付属の自動設定アドレスを持たない方法はありますか?
答え1
最善の解決策は、ネットワーク全体のアドレス自動設定を無効にするのか、1つのデバイスに対してのみアドレス自動設定を無効にするのかによって異なります。
radvd
ネットワーク全体の場合、通知に「自律性」フラグを設定しないことを確認できます。これにより、ネットワーク上のすべてのシステムが自動的に独自のアドレスを生成するのを防ぎます。このオプションを使用できますAdvAutonomous
。
カーネルレベルのクライアントでこれを設定するには、カーネルに独自のアドレスを生成しないように指示する必要があります。最も簡単な方法は、/etc/sysctl.d/10-ipv6-autoconf.conf
以下を使用して作成することです。
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.autoconf = 0
このファイルは再起動するたびに処理されます。 runnintを使用して手動で新しい設定を有効にできますsudo sysctl --system
。
以下を使用するにはsystemd-networkd
機能する必要がありますが、自分で試したことはありません。
[Network]
IPv6AcceptRA=true
DHCP=yes
[IPv6AcceptRA]
UseAutonomousPrefix=false