はじめに
この記事は、NTTテクノクロス Advent Calendar 2024 シリーズ1の8日目の記事になります。
NTTテクノクロスの宮崎です。この記事はHyper-Vで内部仮想スイッチを使用して仮想マシンをネットワークに接続する際、接続がうまくいかなくてつらいときに見る対処法一覧です。
ホストOSとゲストOSの両方で発生したありがちな問題とその対処法を紹介します。
対象:
HyperVを使用しているが、会社のネットワーク的に仮想マシンのIPアドレスが見えてはいけなくて、Hyper-Vで内部スイッチを設定してNATを行おうとしている人向け。
環境
- ホストOS: Windows10
- ゲストOS: Ubuntu Desktop 22.04(LTS)
問題点1: ホストOSのWinNATの問題
現象
- 問題: WinNATの調子が悪くなり、NATが機能しなくなる。
-
詳細:ホストマシンで
Get-NetNat
コマンドで確認すると、Active
フィールドがFalse
になっており、NATが削除できない状態になる。
対処法
-
レジストリキーの削除:
- レジストリエディタを開き、以下のキーを削除する。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules
-
NATの再作成:
- WinNATを削除し、新しく作り直す。
Remove-NetNat -Name "NAT-NW01" New-NetNat -Name "NAT-NW01" -InternalIPInterfaceAddressPrefix "192.168.0.0/24"
参考リンク
- 開発メモ その257 WinNATが削除できない · A certain engineer "COMPLEX"
- Set up a Hyper-V Virtual Switch using a NAT Network - Thomas Maurer
問題点2: ゲストOSの接続問題
現象
- 問題: 以前は接続できていたゲストマシンが接続できなくなった。
-
詳細:
nmtui
やAdvanced Networkmanager
から設定を変更しようとしたが、変更が反映されない。ip addr show
で確認すると、現在のIPアドレスが反映されるべき設定と異なる。
対処法
-
新しいゲストマシンの作成:
- 同様の設定で新しいゲストマシンを作成し、接続を確認する。
-
ネットワーク設定の確認とリセット:
-
ip addr show
コマンドで現在のIPアドレスを確認し、設定が反映されているか確認。
ip addr show
-
-
NetworkManagerの設定リセット:
- 設定ファイルを削除してネットワーク設定を初期状態に戻す。
sudo rm /etc/NetworkManager/system-connections/*
-
NetworkManagerの再起動:
- 設定ファイルを削除した後、NetworkManagerを再起動して新しい設定を適用する。
sudo systemctl restart NetworkManager
-
ネットワークインターフェースのリセット:
- ネットワークインターフェースをリセットして、再度有効化する。
sudo ip link set dev <インターフェース名> down sudo ip link set dev <インターフェース名> up
問題点3: netplan設定が反映されない問題
現象
- 問題: netplanで設定したネットワーク設定が反映されず、手動で設定を行う必要がある。
-
詳細:
/etc/netplan/10-network-manager.yaml
に設定を記述しても、netplan apply
を実行しても設定が反映されない。
対処法
nmtuiを使用してネットワーク設定を行う手順は以下の通り。
nmtui is これ。
-
ターミナルを開き、nmtuiコマンドを実行。
sudo nmtui
-
ネットワーク接続の編集:
- nmtuiのメニューから「Edit a connection」を選択します。
- 設定したいネットワークインターフェース(例:
eth0
)を選択し、「Edit」を選択します。
-
IPアドレスの設定:
- 「IPv4 CONFIGURATION」セクションで「Manual」を選択。
- 「Addresses」に
192.168.137.55/24
(適宜変更)を入力。 - 「Gateway」に
192.168.137.1
(ホストマシンのIPアドレスに適宜変更)を入力。 - 「DNS servers」に
192.168.137.1
(会社のDNSなどに適宜変更)を入力。
-
設定の保存と適用:
- 設定を保存し、nmtuiを終了。
- 設定を適用するために、ネットワークインターフェースを再起動する。
sudo systemctl restart NetworkManager
-
設定の確認:
- 設定が正しく反映されているか確認する。
ip addr show
この記事が皆さんのネットワークトラブル解決の一助となればHAPPY。いろんな記事見て設定したけど、全然開通できなくてとてもつらかったので、そういう目にあう人を減らしたいです!
何か質問があればコメントでお知らせください。