web-dev-qa-db-ja.com

SLAACクライアントが表示されたときにDNSAAAAレコードを更新する方法

ISPからルーティングされた/ 64があり、radvdを実行しています。私のクライアント(Linux、Windows)は、ルーターに接続されたときに追加の構成なしで正常に動作しています。それらはすべて、一時的および永続的(1)アドレス割り当ての両方で、SLAACを介してISP/64プレフィックスを使用して一意のアドレスを割り当てます。

DHCPv6を実行しておらず、実行するつもりもありません。私が学んだように ここ 、割り当てられたDHCPアドレスを使用する特別な構成がない限り、SLAACクライアントはデフォルトで無視する可能性が高いため(2)、SLAACクライアントにはまったく役に立ちません。ネットワークに接続する「ストック」クライアントマシンで作業を行う必要は絶対にありません。

したがって、上記のポイント(1):クライアントが使用するSLAACIPv6アドレスは実際には永続的ではありません。これらをDNSAAAAレコードのバインドに入れると機能します...しばらくの間。これが私の問題の核心です。

DNSサーバーにSLAACIPに基づいてレコードを入力させる方法がわかりません。

質問:

1)radvdはRAでスクリプトを実行してから、これをステップ2に進めることができます...

2)前のステップから、新しいクライアント用の新しいFE80アドレスがあることがわかりました。 FE80アドレスを使用してクライアントが割り当てたグローバルIPv6アドレスを取得するにはどうすればよいですか?

3)次に、手順2で取得したグローバルIPv6アドレスでBindDNSレコードを更新します。

私が達成しようとしている上記のことは、インターネット全体に塗りつぶされるべきであるように思われます-私は自分のユースケースを非常にまれにする間違っていることを理解しようと奮闘しています。私が見逃しているこれを自動的に達成するメカニズムはすでにありますか(DHCPv6は問題外であることを覚えておいてください)?

よろしくお願いします

(2)SLAAC Ubuntuクライアントは、radvdがDHCPv6の割り当てについて通知した場合でも、DHCPv6の割り当てを確実に無視します。実際、Ubuntu(およびそれ以上)には、この構成で使用すると古いバグがあり、実際にはルートが追加されないため、手動の介入なしに接続が使用できなくなります。 DHCPv6とradvdを組み合わせたものは、とにかく実際には推奨されるソリューションではないため、このバグの優先度は非常に低いと思います。私はそれでまったく問題ありません。

5
ts90

Radvdは、ネットワーク情報を含むマルチキャストメッセージを送信しますが、クライアントがその情報をどのように処理するかについて、クライアントからの返信はありません。したがって、(1)は機能しません。

リンクローカルアドレス(fe80:アドレス)は、クライアントが使用するグローバルユニキャストアドレスとは関係ありません。したがって、手順(2)も実行できません。

あなたがやりたいことに対する一般的な解決策は次のとおりです。

  • SLAACとDHCPv6を並行して使用します。 DHCPv6ベースのアドレスはクライアントへの接続のためにDHCPv6サーバーによってDNSに入れられ、SLAACアドレスはクライアントからのアウトバウンド接続のプライバシーを維持するためにDNSに入れられません。
  • SLAACなしでDHCPv6を使用し(RAのAフラグをオフにします)、DHCPv6サーバーにアドレスをDNSに配置させます。 Androidベースのデバイスは、このような環境では機能しないため、お勧めできません。
  • SLAACを使用して、クライアントが独自のアドレスをDNSに配置できるようにします。管理された環境(Win2kおよびWin2k3の時代のずっと前からこれを覚えています)では、これは自動的に構成できます。

これに加えて、スイッチやデフォルトゲートウェイルーターなど、ネットワークで使用されているMACアドレスとIPv6アドレスの両方を確認できるデバイスでスクリプトを作成することもできます。使用されているIPv6アドレスを監視するスクリプトを記述し、MACアドレスを調べて物理デバイスを特定し、データベースでそのデバイスのホスト名を調べて、それに基づいてDNSを更新することができます。しかし、それを行う標準的なソフトウェアはないと思います。

2
Sander Steffann