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の設定状況の確認。
一番左端のIdxの数字がI/Fを指定する番号です。
ちなみに
Power Shellのコマンドって、階層構造になってて、ヒストリー機能を使えど、打ち込み文字数多いし、何か指定するのに、覚えにくい数字を使ってと言うのが多いと思います。
直感的じゃ無いんですよね。
気を取り直してIdx 8の設定を見てみましょう。
こんな感じ。
今でこそ
これがradvd使ってネットワーク上にRAを流した結果disabledがenabledに変わってます。
お次は、routing tableの見方、変え方です。
netstat -rを、インタフェース名付で表示してくれるだけで無く、こちらでしか表示されないモノもあるようです... なんなんだ...
まあ、この例は固定IPアドレスで運用しているPCの情報なのですが、自分で設定していないモノまでたくさん出てくるし、固定IPアドレスなんだけど、自動的に振られるアドレス(aaaa:bbbb:cccc:dddd::/64やfe80::/64なprefixのアドレス)もあったりして、よく分からんです。
慣れれば&完璧に理解出来れば、そうでも無いのかもしれないけど、IPv4の直感的なわかりやすさは無いですね... アドレス空間の大きさが違いすぎるし(^^;
なお、RAのM-flagをONにして、無理矢理IPアドレスの配布をしなくても、name serverのアドレスを流してあげて、そのサーバーへの到達経路さえ設定出来れば、実はそれでもOK。
固定IPアドレスなPCでは、
それじゃ、パケットが到達しないよね。
これを、手動で無理矢理追加するのには管理者権限なPowerShellかrunasで管理者権限に昇格して
route printコマンドでも、頭の方にI/F番号の情報は出てくるので、同じように出来るのですが、表示される経路情報にnetshコマンドとの結果の差異があったので、netshコマンド使ってやってみた結果の記録です。
今回、念のため手動でdeleteしても、再起動でアドレス取得と一緒に自動で必要な経路情報が設定させるところまでは確認しました。
さて、これで、年末年始にやりたかったことは実現出来たので、次はbind9を入れてname serverの二重化とかやりますか。
でですね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の二重化とかやりますか。
コメント 0