VirtualBox上のゲストOSからNATでインターネットへ接続できない時の対処法
Kali Linux(Debian系)をインストールして、色々試してみようかと思っていたところ、Virtualboxのネットワークの設定にハマってしまったので備忘録として残しておきます。
対象
・Virtualbox上のゲストOSからNATでインターネットへ接続できない人
環境
・macOS Mojave 10.14.4 (ホストOS)
・VirtualBox 6.0.6 (仮想化ソフト)
・Kali Linux(ゲストOS)
背景
VirtualBoxを触ったことがほとんどないこと、またネットワークの知識がほとんどない状態であったことから、ググりまくって手探りで進めていきました。参照先は最後にまとめて記載しておきます。
Kali Linuxのインストールはトラブルが多々ありながらも、何とかなったので、あとはVirtualBoxのネットワークの設定のみでした。色々とググってみたのですが、一般的なVirtualBoxの構成としては以下の通りです。
・ホストOSからゲストOSへ接続することができる
→運用保守を行うため
・ゲストOSからインターネットへ接続することができる
→バージョンアップ等を行うため
・インターネットからゲストOSへは接続できない
→セキュリティ確保のため
ホストOSからゲストOSへ接続することができて、反対にインターネットからゲストOSへ接続できないようにするためには、ゲストOSのネットワークアダプターの設定を「ホストオンリーアダプター」にします。
ゲストOSからインターネットへ接続できて、反対にインターネットからゲストOSへ接続できないようにするためには、ゲストOSのネットワークアダプターの設定を「NAT」にします。
これで設定は完了です。ホストOSからゲストOSへの接続は確認できました。次にゲストOSからインターネットへ接続しようとした際に、失敗しました。。。
ifconfigでネットワークアダプターを確認してみると、eth0は上記で設定した通りに「ホストオンリーアダプター」でIPアドレスが付与されています。
しかしeth1では、上記で設定した通りに「NAT」でIPアドレスが付与されていません。
そこで、右上のケーブルのアイコンをクリックして、GUIで確認してみたところ、eth0は接続済みで、eth1は接続できていない状態であることがわかりました。GUIでeth1の接続状態をオンにすると、eth0がオフになってしまいます。
これは、Debian特有のネットワークマネージャーが原因であることがわかりました。
解決策
原因がわかったので、あとは対処するだけです。
「cd /etc/network」を実行後、「vim interfaces」を行い、内容を以下の通り、文字を追記します。
・編集前
・編集後
結果
GUIの設定画面からはethの設定箇所が仕様通りに見えなくなり、CUIでは設定が正しく行われていることが確認できました。ifconfigコマンドでeth0、eth1共にipアドレスが付与されている状態です。
これでNATでインターネットに接続すること、またホストOSからゲストOSへ接続することができるようになりました。
振り返り
OS特有の事象であることに意識が及ばず、Virtualboxのインストールミス等の思い込みをしたためにググっても解決策がすぐに出てこなかった。
今後は、考えられる原因を洗い出した後で、ググるワードを変えながら調査を進める。
参照
・Kali Linux の構築
https://www.websec-room.com/2014/01/07/1485
・VirtualBoxのネットワークの仕組み
http://zorinos.seesaa.net/article/450304938.html
・VirtualBoxで一般的なネットワークの設定方法(シンプルでわかりやすい)
http://mo-mo.hatenablog.com/entry/2014/02/18/155714