Hyper-V でゲストの IP アドレスを固定する
Hyper-V のネットワーク
Hyper-V を使っていて、ネットワークアダプタに Default Switch を使うと IP アドレスが変わったりすることがある。というか、このアダプタにつながっているネットワークのアドレスが変わったりする。 Default Switch だと DHCP で IP が振られたり便利なんだけど、ネットワークアドレスが変わると ssh でスッと接続できないとかあるので、仮想スイッチを追加してそれを使うことにする。
仮想スイッチ マネージャー
Hyper-V マネージャーで、「仮想スイッチ マネージャー」を開く。
「新しい仮想ネットワーク スイッチ」で種類は「内部」の仮想スイッチを作成する。名前は「内部ネットワーク」とした。
PowerShell を管理者で開いて、以下のコマンドを実行する。
> New-NetIPAddress -IPAddress 172.16.192.254 -PrefixLength 24 -InterfaceAlias "vEthernet (内部ネットワーク)" > New-NetNat -Name "InternalNat" -InternalIPInterfaceAddressPrefix 172.16.192.0/24実際のところ、アダプタの IP は GUI で設定した。というのも、作成したネットワーク アダプターの名前を確認したかったから。そのとき、ネットワークを設定できるじゃないかと思ってしてみたが、正解だったのか不明。結局、上記コマンドの 1 つ目実行時にすでにネットワークがあると怒られた。
仮想マシンの設定の「ネットワーク アダプター」の「仮想スイッチ」を作成したものに変える。
ゲストの IP の設定を適切に変更する。
サクッとはいかず、ルーティングされない問題が発生した。最終的に Windows を再起動してみたらルーティングされるようになっていた。いまだに再起動が必要なのか…