3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AlmaLinuxをVirtualBoxで外部ネットワークに接続できなかった際の対処法

Last updated at Posted at 2025-05-27

初めに

 今回は、VirtualBox上でAlmaLinux 9.5を起動した際に、インターネット接続ができないという問題に直面しました。

 具体的には、ping 8.8.8.8curl google.com を実行しても応答が返ってこない状態でした。
 この記事では原因と対処法について書いています。
 
 同じような環境でネットワークに接続できなくて困っている方の参考になれば嬉しいです!

使用環境

 

  • 仮想マシン:AlmaLinux 9.5
     ovaファイルからインポート
  • 実行環境:VirtualBox(ネットワークは NAT + ホストオンリー)
     インポート時はアダプター1にホストオンリーアダプターのみ
     NATは後から追加
  • 症状:仮想マシンが外部ネットワーク(インターネット)に接続できない
     NATのIPアドレスが192.168.x.xになっていて、10.0.2.xにならない
  • デフォルトゲートウェイは設定済み

原因の分析

 
Network設定画面(NATが10.0.2.xでない)

*enp0s3がホストオンリーアダプター(アダプター1)
*enp0s8がNAT(アダプター2)

 画像のアダプター2がNATに設定をしているのに10.0.2.xになっていない。そのため外部と接続することができない。
そこでチャットgptにたくさん質問をしていると、「DHCPが有効になっていない可能性がある」とのことだったのでnmcli コマンドで接続設定を確認すると、DHCPが無効になっており、IPアドレスが手動(固定)で設定されていました。

nmcli connection show enp0s3 | grep ipv4.method
ipv4.method: manual

 この設定では、NAT側のDHCPサーバーからIPアドレスを自動取得できないため、インターネットとの通信ができなくなっていました。そのため、manualからautoに変更する必要があります。
 以下のコマンドでDHCPを有効化し、ネットワークサービスを再起動することで、DHCPが有効化にされ、10.0.2.xのIPアドレスが取得されます。

nmcli connection modify enp0s8 ipv4.method auto

 ネットワークサービスを再起動(OSを再起動しても大丈夫です)

sudo systemctl restart NetworkManager
sudo shutdown -r now

 しかし、ここで新たな問題に直面します。というのはDHCPが有効化されて外部と接続するための10.0.2.xが取得されているが、インターネット通信ができないという問題です。
 そこでenp0s3(ホストオンリーアダプター)が優先してpingコマンドの処理にあてられていると考え、enp0s8(NAT)が優先されるよう値を変更したのですが、pingが通ることはありませんでした。

アドレスの取得はできているのに通信ができない

 原因を探すために、過去にLAMP環境を構築したマシンが残っていたのでそこで確認をするとOSのip route コマンドの実行結果など違いはありませんでしたが、アダプターがNATが1、ホストオンリーアダプターが2と逆に設定されていました。「関係ないだろうけど一応やってみるか」と思い変更して確認してみるとpingコマンドが成功し、外部と接続ができました。

 解決方法をまとめると、

1.NATをアダプター1に、ホストオンリーアダプターをアダプター2に設定
2.デフォルトゲートウェイを設定

 sudo ip route add default via <ゲートウェイのIPアドレス> dev <インターフェース名>

3.DHCPを有効化

 nmcli connection modify <接続名> ipv4.method auto

4.NetworkManagerを再起動

疑問点

 何とかインターネット通信をすることはできましたが、いくつかの疑問点が残ってしまいました。

  • なぜアダプターを変更すると成功したのか
  • アダプター2に設定したNATは使用できないが、ホストオンリーアダプターが使用できるのはなぜか
  • IPアドレスが取得できていたのにインターネット通信ができなかったのはなぜか

 VirtualBoxはアダプターの順序がDHCPの動作に影響を与える可能性があるというユーザの報告などがありました。(海外の投稿を翻訳してみたので間違っているかもしれない)

まとめ

  • VirtualBoxで外部ネットワークに接続するには、NATアダプター + DHCPが必要
  • アダプター1にNATを設定する
  • ip route で確認できるデフォルトゲートウェイの設定が必要
  • ipv4.methodmanual になっていると、自動でIPが振られずネットにつながらない
  • nmcliauto に設定すればDHCPが使えるようになる

 いくつかの疑問点が残ってしまいましたがインターネット通信をすることができてよかったです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?