シェアする

  • このエントリーをはてなブックマークに追加





【vagrant】ホストからゲストにpingが通らない

シェアする

  • このエントリーをはてなブックマークに追加
  • 0

vagrantではこれまでゲストに対しては、ポートフォワードを使用して

DBなどへホストから通信させていたのですが、

今回はゲストに対してprivate ipを設定し、そのipで通信させようとしたところ、

一向につながらないという事象に出くわしました。

簡単に解決できそうかと思いきや、全然できなかったんですよねー。

どうやって解決したかを備忘録。

環境

OS: mac Monterey

vagrant: 2.2.7

virtualbox: 6.1.30

vagrantで使用するbox:bento/amazonlinux-2

設定したprivate ip:192.168.33.10

確認したこと

ゲストにssh通信:OK

ゲストにてifconfigでipが割り当てられている:OK

うーん、vagrant設定的には問題なさそう。という感じでした。

virtualboxの設定を見てみる

Vagrantfileの書き方の問題かと思ってしばらくハマってしまったのですが、

原因はvirtualbox側にありました。

仮想マシンのネットワーク

virtualboxでの仮想マシンの設定→ネットワークとたどっていくと

「NAT」と「ホストオンリーアダプタ」という2つのものが割り当てられています。

NAT:sshやポートフォワードで使用

ホストオンリーアダプタ:ホスト⇔ゲストを内部ネットワークとして接続するために使用

設定確認

VBoxManage list -l hostonlyifs

このコマンドで、現在作成されているホストオンリーアダプタが表示されます。

Name:            vboxnet1
GUID:            786f6276-656e-4174-8000-0a0027000001
DHCP:            Disabled
IPAddress:       192.168.33.1
NetworkMask:     255.255.255.0
IPV6Address:
IPV6NetworkMaskPrefixLength: 0
HardwareAddress: 0a:00:27:00:00:01
MediumType:      Ethernet
Wireless:        No
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet1

このIPAddressに割当たっているものが、

vagrant側で設定したものでないと接続ができません!!

僕の場合は、このIPが違うものになっていました。

ホストオンリーアダプタの設定を修正する

と、いうことで今割当たっているもののIPを192.168.33.1に修正しようとしましたが。。。

E_ACCESSDENIED

が表示され変更できませんでした。。。

なぜアクセスが拒否される??

こちらの記事によると、

virtualboxの6.1.28以降、ホストオンリーアダプタを作成する際は、

192.168.56.XX〜作成されるようで、192.168.33.XXは許可されていないって

ことみたいです。

どうする?

拒否はされるものの、解決策はちゃんとあって、

/etc/vbox/networks.confを作成します。

vboxのフォルダがなければ作成すればOKです。

そこに、

* 192.168.0.0/16

これを追記します。

この記述で192.168始まりはすべてOKになります。

このファイルを作成したあと、

virtualboxにてホストオンリーアダプタのIPを

192.168.33.10に修正したら、

仮想マシンのアダプタを変更します。

これでホストからゲストへのpingも通るようになっているはずです。

それでは!!!

シェアする

  • このエントリーをはてなブックマークに追加

フォローはいかがですか?