web-dev-qa-db-ja.com

WindowsでDHCPv6クライアントを無効にする

Windowsのnetsh int ipv6 set interfaceコマンドコンテキストで使用されるIPv6ステートフルおよびステートレス自動構成に関連する4つのパラメーター間のリンクを完全に理解していません。

  • advertise
  • routerdescovery
  • managedaddress
  • otherstateful

私がこれまでに見つけたものから、私はそれを理解しています:

  • advertiseは、MおよびOとして構成されたmanagedaddressおよびotherstatefulフラグを含むOSによってRAが発行/応答される必要があることを示すために使用されます。その特定のインターフェース用。これはサーバーに関連しています。
  • routerdescoveryは、OSがそのインターフェイスでRAを要求/処理し、RAが持つフラグに基づいてそれ自体を構成するために使用する必要があることを示すために使用されます。 routerdescoveryが有効になっている場合、managedaddressotherstatefulはRAのフラグによって上書きされます。これはクライアントに関連しています

私の質問は、advertiserouterdescoveryが無効になっているとどうなりますか?

この場合、managedaddressotherstatefulは、そのインターフェイスでDHCPv6クライアントが有効になっているかどうかを決定すると思います。しかし、そうではないようです。 4つのパラメーターすべてが無効になっている場合(advertiserouterdescoverymanagedaddress、およびotherstateful)、Windowsクライアントは引き続きDHCPv6サーバーに接続しようとします。

3
Chris

多くの実験と多くのあいまいなドキュメントや記事の後で、managedaddressotherstatefuladvertiseと組み合わせてのみ関連することを推測しました(つまり、WindowsでRAを有効にする場合)サーバー)、RAパケットのMおよびOフラグの設定に役立ちます。

routerdescoveryが有効でadvertiseが無効の場合、netshを介してmanagedaddressおよびotherstatefulパラメータを設定することはできなくなりますが、RAが到着するとすぐにインターフェイスでは、これら2つのパラメータは、到着したRAパケットのMフラグとOフラグを反映するように自動的に設定されます。

使用する構成に関係なく、DHCPv6要請メッセージは、Mフラグが設定されていないRAパケットを受信した場合でも、常にIPv6対応のインターフェイスで送信されます。 WindowsでDHCPv6を無効にする方法が見つかりませんでした(Vista以降を想定しています。8.1でテストしました)。ネットワーク上にDHCPv6サーバーがある場合は、そこからIPv6アドレスを取得します。

幸い、ほとんどのネットワークは、IPv6アドレスがDHCPv6サーバーとネゴシエートされるステートフル自動構成の代わりに、ステートレス自動構成(各ノードはRAでアドバタイズされたプレフィックスに基づいて自身を構成します)を使用します。ほとんどのネットワークはステートレスであるため、多くの人はrouterdiscoveryを無効にすると追加のIPv6アドレスを取得できなくなると考えていました。ただし、ネットワーク上にDHCPv6サーバーがある場合、これは無効です。

1
Chris