(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【Windows】IPv6のネットワーク通信を無効にする

スポンサーリンク

はじめに

nslookupコマンドでネットワーク調査をしていた際にドメイン引きに失敗するケースがあり、原因としてIPv6が優先されていることが挙げられていました。

その際に実践した、WindowsパソコンにてIPv6の通信のみを止める(IPv4は止めない)流れについて説明します。

環境情報
  • Windows 10

IPv6のネットワーク通信を無効にする

現状確認

まずはIPv4/IPv6のどちらにおいても有効になっていることを確認します。

コマンドプロンプトにてipconfigコマンドを押下すれば、インターネットに接続されている場合はIPアドレスが割り振られているかと思います。

Wireless LAN adapter Wi-Fi:
   接続固有の DNS サフィックス . . . . .: ...
   IPv6 アドレス . . . . . . . . . . . .: 2408:XXX...
   一時 IPv6 アドレス. . . . . . . . . .: 2408:XXX...
   リンクローカル IPv6 アドレス. . . . .: fe80::XXX...
   IPv4 アドレス . . . . . . . . . . . .: 192.168.10.101
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: fe80::XXX
                                          192.168.10.1

確かにIPv6アドレスとIPv4アドレスが割り振られています。

ついでにIPv6が有効になっているインターフェースを確認するコマンドnetsh interface ipv6 show interfaceでは以下のように表示されます。

$ netsh interface ipv6 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Interface 1
  2          55        1500  connected     Wi-Fi
  3           5        1500  disconnected  イーサネット
  4          65        1500  disconnected  Bluetooth ネットワーク接続
 5          25        1500  disconnected  ローカル エリア接続* 1

IPv6を無効にする

コントロールパネルから以下で該当のネットワークインターフェースを左クリックしてプロパティを開きます。

コントロール パネル\ネットワークとインターネット\ネットワーク接続

すると以下のようにTCP/IPv6にチェックが入っています。

f:id:mtiit:20200105210753p:plain
IPv6のチェックを外す

こちらを外して「OK」を押下すれば無効になります。再度チェックをつければ有効になります。

ちなみにこれらの反映に再起動は不要です。

IPv6の無効を確認する

先ほど同様にコマンドでインターフェースを確認すると

Wireless LAN adapter Wi-Fi:
   接続固有の DNS サフィックス . . . . .: ...
   IPv4 アドレス . . . . . . . . . . . .: 192.168.10.101
   サブネット マスク . . . . . . . . . .: 255.255.255.0
   デフォルト ゲートウェイ . . . . . . .: 192..168.10.1

IPv6に関する項目は表示されません。

$ netsh interface ipv6 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Interface 1
  3           5        1500  disconnected  イーサネット
  4          65        1500  disconnected  Bluetooth ネットワーク接続
 5          25        1500  disconnected  ローカル エリア接続* 1

(おまけ)nslookupログ

ちなみにnslookupの失敗時のログは以下です。

------------
SendRequest(), len 29
    HEADER:
        opcode = QUERY, id = 5, rcode = NOERROR
        header flags:  query, want recursion
        questions = 1,  answers = 0,  authority records = 0,  additional = 0
    QUESTIONS:
        yahoo.co.jp, type = AAAA, class = IN
------------
Got answer (29 bytes):
    HEADER:
        opcode = QUERY, id = 5, rcode = REFUSED
        header flags:  response, want recursion, recursion avail.
        questions = 1,  answers = 0,  authority records = 0,  additional = 0
    QUESTIONS:
        yahoo.co.jp, type = AAAA, class = IN
------------
*** XXX が yahoo.co.jp を見つけられません: Query refused

IPv6を無効にすると確かに解決できました。

> yahoo.co.jp
サーバー:  XXX
Address:  192.168.10.1

権限のない回答:
名前:    yahoo.co.jp
Addresses:  182.22.59.XXX
          183.79.135.XXX

終わりに

通信においてIPv4に対してIPv6が優先される場合に起こるエラーがあるようなので、このようにIPv6を明示的に無効にする手順は知っておいて損はないと思います。

以上、ご参考になれば幸いです。