[windows10][powershell][ipv6] Windows10のネットワーク周りをPowershellで操作する。

2016/10/10 11:35Microsoft、Windows,Networkipv6,Microsoft,network,PowerShell,Windows10,ネットワーク

Set-NetIPInterface | Microsoft Docs / https://docs.microsoft.com/ja-jp/previous-versions/windows/powershell-scripting/hh826125(v=wps.640)

相変わらず、Windows10でDHCPv6のDNSサーバの情報が取得できない件ですが、調査中です。しかし、ちょっと光明が見えてきたかもしれません。

というのも、WindowsのManage(M)フラグとOtherconfig(O)フラグのパラメータが端末によってバラバラでした。

このあたり設定がどういうふうに絡んでいるのか不明です。

PS C:\WINDOWS\system32> Get-NetIPInterface -ifIndex 4

ifIndex InterfaceAlias                  AddressFamily NlMtu(Bytes) InterfaceMetric Dhcp     ConnectionState PolicyStore
------- --------------                  ------------- ------------ --------------- ----     --------------- -----------
4       イーサネット                    IPv6                  1500              25 Enabled  Connected       ActiveStore
4       イーサネット                    IPv4                  1500              25 Disabled Connected       ActiveStore
PS C:\WINDOWS\system32> netsh int ipv6 show int 4

インターフェイス イーサネット パラメーター
----------------------------------------------
IfLuid                             : ethernet_32768
IfIndex                            : 4
状態                               : connected
メトリック                         : 25
リンク MTU                         : 1500 バイト
到達可能な時間                     : 17000 ミリ秒
基本の到達可能な時間               : 30000 ミリ秒
再転送間隔                         : 1000 ミリ秒
DAD 転送                           : 1
サイト プレフィックスの長さ        : 64
サイト ID                          : 1
転送                               : disabled
アドバタイズ                       : disabled
近隣探索                           : enabled
近隣到達不可能性検出               : enabled
ルーター発見                       : enabled
管理されたアドレス構成             : enabled
その他のステートフル構成           : enabled
脆弱なホストによる送信             : enabled
脆弱なホストによる受信             : disabled
自動メトリックの使用               : enabled
既定ルートを無視                   : disabled
アドバタイズされたルーターの有効期間: 1800 秒
既定ルートのアドバタイズ           : disabled
現在のホップ制限                   : 64
ARPND スリープ解除パターンの強制   : disabled
指定の MAC スリープ解除パターン    : disabled
ECN 機能                           : application

管理されたアドレス構成 が、Manageフラグ、その他のステートフル構成 がOtherconfigフラグを表していると思われます。

本来であれば個別に設定できるようなきがするのですが、Statelessのみの設定にしようとして、Mフラグをdisableにしようとすると以下のようになります。

PS C:\WINDOWS\system32> Set-NetIPInterface -ManagedAddressConfiguration Disabled
Set-NetIPInterface : パラメーターが間違っています。
発生場所 行:1 文字:1
+ Set-NetIPInterface -ManagedAddressConfiguration Disabled
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (MSFT_NetIPInter...ystemName = ""):ROOT/StandardCimv2/MSFT_NetIPInterfa
ce) [Set-NetIPInterface]、CimException
+ FullyQualifiedErrorId : Windows System Error 87,Set-NetIPInterface

エラーで弾かれます。Set-NetIPInterface -RouterDiscovery Disabledに関連付けられているのか、こちら(RD)をdisableにしないとMフラグをOFFにできません。しかし、これでは、なぜか以下のようになります。

PS C:\WINDOWS\system32> netsh int ipv6 show int 4

インターフェイス イーサネット パラメーター
----------------------------------------------
IfLuid                             : ethernet_32768
IfIndex                            : 4
状態                               : connected
メトリック                         : 25
リンク MTU                         : 1500 バイト
到達可能な時間                     : 17000 ミリ秒
基本の到達可能な時間               : 30000 ミリ秒
再転送間隔                         : 1000 ミリ秒
DAD 転送                           : 1
サイト プレフィックスの長さ        : 64
サイト ID                          : 1
転送                               : disabled
アドバタイズ                       : disabled
近隣探索                           : enabled
近隣到達不可能性検出               : enabled
ルーター発見                       : disabled
管理されたアドレス構成             : disabled
その他のステートフル構成           : enabled
脆弱なホストによる送信             : enabled
脆弱なホストによる受信             : disabled
自動メトリックの使用               : enabled
既定ルートを無視                   : disabled
アドバタイズされたルーターの有効期間: 1800 秒
既定ルートのアドバタイズ           : disabled
現在のホップ制限                   : 64
ARPND スリープ解除パターンの強制   : disabled
指定の MAC スリープ解除パターン    : disabled
ECN 機能                           : application
イーサネット アダプター イーサネット:

接続固有の DNS サフィックス . . . . .: kometch.local
説明. . . . . . . . . . . . . . . . .: Broadcom NetXtreme Gigabit Ethernet
物理アドレス. . . . . . . . . . . . .: 1C-C1-DE-0F-CC-29
DHCP 有効 . . . . . . . . . . . . . .: いいえ
自動構成有効. . . . . . . . . . . . .: はい
IPv6 アドレス . . . . . . . . . . . .: 240b:11:8500:3900:988e:b6cc:d1aa:a2fe(優先)
リース取得. . . . . . . . . . . . . .: 2016年10月9日 22:48:00
リースの有効期限. . . . . . . . . . .: 2016年11月8日 22:48:00
リンクローカル IPv6 アドレス. . . . .: fe80::adb7:6828:1ccd:f484%4(優先)
IPv4 アドレス . . . . . . . . . . . .: 192.168.1.30(優先)
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.1.1
DHCPv6 IAID . . . . . . . . . . . . .: 152879582
DHCPv6 クライアント DUID. . . . . . .: 00-01-00-01-1E-87-9B-9E-1C-C1-DE-0F-CC-29
DNS サーバー. . . . . . . . . . . . .: 240b:11:xxxx:xxxx:10::223
240b:11:xxxx:xxxx:10::224
192.168.1.223
192.168.1.224
NetBIOS over TCP/IP . . . . . . . . .: 有効
接続固有の DNS サフィックス検索の一覧:
kometch.local

はい、アドバタイズするルータの探索が行えないので、IPv6のデフォルトゲートウェイが取得できません。静的に設定するのであれば問題ないのでしょうが、それではステートレスモードの自動構成が使えないということになってしまいます。

DHCPv6サーバをWindows Serverで構成できれば、もしかしたら違うのかもしれませんが、Linux との混在環境ではどうにもうまく行きません。

実際にはこの2つのフラグが立っていてもWindowsの方でよしなにしてくれるのでしょうか?
動作周りがよく分かっていないので、調査を継続しようかと思います。

この記事を書いた人
kometchtech

kometchtech
うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。
Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

Buy Me A Coffee