はじめに
久しぶりに投稿。
個人的な理由で、最近になってMacのメジャーバージョンアップを行い、
Catalina → Big Sur → Monterey
とMontereyまで2段階上げたのですが、
久しぶりにvagrant環境でVirtualBoxを立ち上げるとネットワークが繋がらなくなっていました。
結論としては、
- 関連ソフト導入
- ネットワーク設定
だけだったのですが、エラーログも見つからず、苦戦したので残しておきます。
誰かの役に立てば幸いです。
環境
macOS Monterey 12.2.1
Vagrant 2.2.14
VirtualBox 6.1.32 r149290
ゲスト環境はCentOS7系の、NAT+ホストオンリーアダプターでネットワーク構築されたイメージを使用してます。
仕事で用意してもらった環境なので、詳細は伏せます。
発生した問題
vagrant upで立ち上げたwebサーバに対して、ホストからゲストへcurl, pingしても反応がない。
vagrant upで表示されるログも問題らしきログが見つからない。
~/VirtualBox\ VMs/以下のVirtualBoxのログにも、特に影響がありそうなものは見つからなかった。
vagrant ssh してゲスト自身へはcurlできるため、
ネットワークに問題があることはわかっていたが、
ifconfigで表示されるインターフェースは特に問題なさそう
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.100.10 netmask 255.255.255.0 broadcast 192.168.100.255
ネットで探したところ、vagrant up実行時のエラーに関する記事が主だったので困りましたが、
関連しそうな記事から必要操作を抜き出して実施しました。
対応
以下対応を行い、Macを再起動
関連ソフト導入
sudo kmutil load -b org.virtualbox.kext.VBoxDrv
sudo kmutil load -b org.virtualbox.kext.VBoxNetFlt
sudo kmutil load -b org.virtualbox.kext.VBoxNetAdp
sudo kmutil load -b org.virtualbox.kext.VBoxUSB
許可設定が必要な方もいるかと思います。
参考記事を参照してください。
ネットワーク設定
ホストオンリーアダプタで使用できるipが限定されるよう変更されたそうです。
とりあえず、全ip許可する形で対応します。
# sudo mkdir /etc/vbox
sudo vi /etc/vbox/networks.conf
再起動後、vagrant up
参考
- 【macOSアップデート】vagrant upできない時に一通り試すと良いかもしれない方法
- Vagrant 2.2.18, OSX 11.6 cannot create private network
おわり
私の環境ではなぜかエラーログらしきものが出てこなかったのですが、
これでゲスト環境へ接続できるようになりました。
調べていて初めて知りましたが、Mac M1ではVirtualboxがサポートされていないらしく、結構衝撃でした。
Oracle、Big SurとMontereyで発生していた不具合を修正しサポートしていないApple M1チップ搭載のMacにインストール出来ないようにした「VirtualBox 6.1.30」をリリース。
時代はDockerかな...