UbuntuをVMwareなどの仮想環境で使っていると、ネットの速度が異常に遅いことがあります。
例えば、母艦PCでは200Mbps出ているのに、Ubuntu VMでは1~3Mbps…なんてことも。
この記事では、その原因と改善方法、さらに実際のネットワーク速度を測る方法を丁寧に解説します!
症状:Ubuntu VMだけネットが遅い
Speedtestを実行してみると…
speedtest
結果:
Download: 1.77 Mbit/s
Upload: 6.55 Mbit/s
なんと、1.77Mbps!これは何かがおかしい…。
原因:VMの仮想NIC設定にあり!
VMwareのデフォルトでは、仮想NICの種類が e1000
になっていることが多く、これがパフォーマンスのボトルネックになります。
解決策:仮想NICを「vmxnet3」に変更する
1. .vmx ファイルを編集する
VMをシャットダウンした状態で、.vmx
ファイルをテキストエディタで開きます。通常は以下のような場所にあります。
C:\Users\<ユーザー名>\Documents\Virtual Machines\<VM名>\<VM名>.vmx
次の1行を追加または修正:
ethernet0.virtualDev = "vmxnet3"
保存して閉じたら、VMを再起動します。
2. Ubuntuに VMware Tools をインストール
sudo apt update
sudo apt install open-vm-tools
3. ネットに繋がらない場合の対処
NICの名前が ens33
→ ens160
などに変わっている可能性があります。
以下のコマンドで確認し、DHCPで再取得します:
bashコピーする編集するip a
sudo dhclient <新しいインターフェース名>
必要なら /etc/netplan/
のYAMLファイルも更新して sudo netplan apply
。
補足:どれくらい改善したか?
Speedtestの結果がこちら:
Before: 1.77 Mbps
After: 3.91 Mbps(+VM構成次第でもっと上がる)
おまけ:ホストPCとVM間の実効速度を iperf3 で測る
Step 1. 両方に iperf3 をインストール
Ubuntu側
sudo apt install iperf3
Windows側
- https://iperf.fr/ から
iperf3 for Windows
をダウンロードして展開
Step 2. Windowsをサーバーモードに
iperf3.exe -s
Step 3. Ubuntuから接続
ホストPCのIPアドレスを調べて(例: 192.168.0.10)、Ubuntu側で実行:
iperf3 -c 192.168.0.10
注意:pingが通らない場合
- Windowsのファイアウォールがブロックしている場合あり
- 「Windows Defender ファイアウォール → 詳細設定 → 受信の規則 → ICMPv4 を許可」で解決
iperf3.exe
の通信も一時的に許可を
まとめ
項目 | 内容 |
---|---|
問題 | Ubuntu VMのネットが異常に遅い |
原因 | 仮想NICの種類が非効率(e1000など) |
解決策 | vmxnet3 に変更+open-vm-toolsインストール |
測定ツール | speedtest とiperf3 で効果確認 |
この記事でVMのネットワーク速度が改善できた方は、ぜひシェアやコメントをお願いします!
コメント