SSブログ

netshコマンドの使い方(一部) [Windows 10]

Power Shellのコマンドって、洗練されてないよなーって事で、あんま深入りすることもないのですが、必要なときには使わないとしょーがないので。

でですねnetstat -rでUNIX宜しくrouting tableを表示してくれます。
いいところは、オプションをしなくてもIPv6も表示してくれるところ。
一方でrouteコマンドはroute printしないとダメです。UNIXならrouteだけでいいのに。
こちらも表示した結果はnetstat -rと同じになります。
ipconfigにしろ、びみょーにUNIXと異なるのは、どうにかして欲しいんですね。昔から思いますが。

んで、この記事の本題。
前の記事
https://straycats.blog.ss-blog.jp/2021-01-03
の続きです。

そもそもはipconfigでは見れない、IPv6の設定状況を確認するところから始まりました。
設定確認なら、普通にPower Shellを開いても利用出来ますが、例えばrouting tableを変更しようとする場合は、管理者権限で開く必要があります。
sudoよろしく、runasで同じようなことが出来ます。

まずはIPv6の設定状況の確認。
> netsh interface ipv6 show interface

Idx     Met         MTU          状態                 名前
---  ----------  ----------  ------------  ---------------------------
  1          75  4294967295  connected     Loopback Pseudo-Interface 1
 17           5        1500  disconnected  イーサネット 2
 13           5        1500  disconnected  イーサネット 3
 21          25        1500  connected     VirtualBox Host-Only Network
 50        5000        1500  connected     vEthernet (WSL)
  8          15        1500  connected     イーサネット 6
こんな感じでネットワーク接続の一覧が表示されます。
一番左端のIdxの数字がI/Fを指定する番号です。

ちなみに
> netsh interface ipv6 show
とか、netshが理解可能な所まで打ち込めば、その状況に応じたコマンドの使い方
使用できるコマンドは次のとおりです:

このコンテキストのコマンド:
show addresses - 現在の IP アドレスを表示します。
show compartments - コンパートメント パラメーターを表示します。
show destinationcache - 宛先キャッシュ エントリを表示します。
show dnsservers - DNS サーバー アドレスを表示します。
show dynamicportrange - 動的ポート範囲の構成パラメーターを表示します。
show excludedportrange - すべての除外ポート範囲を表示します。
show global    - グローバル構成パラメーターを表示します。
show interfaces - インターフェイス パラメーターを表示します。
show ipstats   - IP 統計情報を表示します。
show joins     - 参加したマルチキャスト グループを表示します。
show neighbors - 近隣キャッシュ エントリを表示します。
show offload   - offload 情報を表示します。
show potentialrouters - 利用可能なルーターを表示します。
show prefixpolicies - プレフィックス ポリシー エントリを表示します。
show privacy   - プライバシー構成パラメーターを表示します。
show route     - ルート テーブル エントリを表示します。
show siteprefixes - サイト プレフィックス テーブル エントリを表示します。
show subinterfaces - サブインターフェイス パラメーターを表示します。
show tcpstats  - TCP 統計情報を表示します。
show teredo    - Teredo 状態を表示します。
show tfofallback - ネットワーク単位に TCP Fastopen フォールバック状態を表示します。
show udpstats  - UDP 統計情報を表示します。
が表示されますが、理解出来ない場合、例えば...
> netsh interface ipv6 shoq
次のコマンドは見つかりませんでした: interface ipv6 shoq
とつれない返事を返してきます。
Power Shellのコマンドって、階層構造になってて、ヒストリー機能を使えど、打ち込み文字数多いし、何か指定するのに、覚えにくい数字を使ってと言うのが多いと思います。
直感的じゃ無いんですよね。

気を取り直してIdx 8の設定を見てみましょう。
> netsh interface ipv6 show interface 8

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

こんな感じ。

今でこそ
管理されたアドレス構成             : enabled
その他のステートフル構成           : enabled
となってますが、ふつーは
管理されたアドレス構成             : disabled
その他のステートフル構成           : enabled
となってるはずです。
これがradvd使ってネットワーク上にRAを流した結果disabledがenabledに変わってます。

お次は、routing tableの見方、変え方です。
> netsh interface ipv6 show route

発行     種類      Met  プレフィックス            Idx ゲートウェイ/インターフェイス名
-------  --------  ---  ------------------------  ---  ------------------------
いいえ      Manual    256  ::/0                        8  fe80::ooo5:ppp5:qqq5:rrr5
いいえ      Manual    256  ::/0                        8  fe80::ooo6:ppp6:qqq6:rrr6
いいえ      System    256  ::1/128                     1  Loopback Pseudo-Interface 1
いいえ      Manual    256  aaaa:bbbb:cccc:dddd::/64      8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eeee:fff0:ggg0:hhh0/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee1:fff1:ggg1:hhh1/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee2:fff2:ggg2:hhh2/128    8  イーサネット 6
いいえ      System    256  aaaa:bbbb:cccc:dddd:eee3:fff3:ggg3:hhh3/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW::/64    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:192:168:iii0:jjj0/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:192:168:iii1:jjj1/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:kkk0:lll0:mmm0:nnn0/128    8  イーサネット 6
いいえ      System    256  ZZZZ:YYYY:XXXX:WWWW:kkk1:lll1:mmm1:nnn1/128    8  イーサネット 6
いいえ      System    256  fe80::/64                  13  イーサネット 3
いいえ      System    256  fe80::/64                  17  イーサネット 2
いいえ      System    256  fe80::/64                   8  イーサネット 6
いいえ      System    256  fe80::/64                  21  VirtualBox Host-Only Network
いいえ      System    256  fe80::/64                  50  vEthernet (WSL)
いいえ      System    256  fe80::ooo0:ppp0:qqq0:rrr0/128   21  VirtualBox Host-Only Network
いいえ      System    256  fe80::ooo1:ppp1:qqq1:rrr1/128   13  イーサネット 3
いいえ      System    256  fe80::ooo2:ppp2:qqq2:rrr2/128   50  vEthernet (WSL)
いいえ      System    256  fe80::ooo3:ppp3:qqq3:rrr3/128    8  イーサネット 6
いいえ      System    256  fe80::ooo4:ppp4:qqq4:rrr4/128   17  イーサネット 2
いいえ      System    256  ff00::/8                    1  Loopback Pseudo-Interface 1
いいえ      System    256  ff00::/8                   13  イーサネット 3
いいえ      System    256  ff00::/8                   17  イーサネット 2
いいえ      System    256  ff00::/8                    8  イーサネット 6
いいえ      System    256  ff00::/8                   21  VirtualBox Host-Only Network
いいえ      System    256  ff00::/8                   50  vEthernet (WSL)
な感じで表示されます。
netstat -rを、インタフェース名付で表示してくれるだけで無く、こちらでしか表示されないモノもあるようです... なんなんだ...

まあ、この例は固定IPアドレスで運用しているPCの情報なのですが、自分で設定していないモノまでたくさん出てくるし、固定IPアドレスなんだけど、自動的に振られるアドレス(aaaa:bbbb:cccc:dddd::/64やfe80::/64なprefixのアドレス)もあったりして、よく分からんです。
慣れれば&完璧に理解出来れば、そうでも無いのかもしれないけど、IPv4の直感的なわかりやすさは無いですね... アドレス空間の大きさが違いすぎるし(^^;

なお、RAのM-flagをONにして、無理矢理IPアドレスの配布をしなくても、name serverのアドレスを流してあげて、そのサーバーへの到達経路さえ設定出来れば、実はそれでもOK。
固定IPアドレスなPCでは、
いいえ      Manual    256  aaaa:bbbb:cccc:dddd::/64      8  イーサネット 6
この経路情報が勝手に付与されるのですが、DELL XPS13で実験をしていたとき、アドレスは取れたものの、この経路情報が設定されていないことに気が付きました。
それじゃ、パケットが到達しないよね。

これを、手動で無理矢理追加するのには管理者権限なPowerShellかrunasで管理者権限に昇格して
netsh interface ipv6 add route aaaa:bbbb:cccc:dddd::/64 Idx
とかしてIdxに設定したいI/F番号を指定してあげると出来ます。
route printコマンドでも、頭の方にI/F番号の情報は出てくるので、同じように出来るのですが、表示される経路情報にnetshコマンドとの結果の差異があったので、netshコマンド使ってやってみた結果の記録です。
今回、念のため手動でdeleteしても、再起動でアドレス取得と一緒に自動で必要な経路情報が設定させるところまでは確認しました。

さて、これで、年末年始にやりたかったことは実現出来たので、次はbind9を入れてname serverの二重化とかやりますか。
nice!(9)  コメント(0) 
共通テーマ:パソコン・インターネット

nice! 9

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。