設定が違っているようなので見直してください。
VirtualBox上の環境設定>ネットワーク
→ホストオンリーネットワーク(タブ)
に設定してあるだけで、NAT(タブ)は空にします。例えば、下記のようにネットワークアダプタを設定します。仮想環境上では192.168.10.2~254
が設定できます。
192.168.10.1
255:255:255:0
あとは何も考えることなく、Vagrantfile
の設定を下記のようにしてVagrantを起動(vagrant up)して完了です。
ruby
1Vagrant.configure("○○○") do |config|
2 #...
3 #VirtualBoxのホストオンリーアダプタ使用するので「192.168.10.2~254」を設定
4 config.vm.network "private_network", ip: "192.168.10.5"
5 #...
6end
Vagrantが起動すると、VirtualBox 起動イメージ>設定 → ネットワークタブ → アダプタ1(タブ)は NAT で隣の アダプタ2(タブ)は ホストオンリーアダプタ が設定されていることと思います。
VirtualBox上のCentOSで/sbin/ifconfig
を見ると2つのネットワークアダプタが設定されています。
eth0: 10.0.2.15/24
eth1: 192.168.10.5/24
上記 2. はVagrantで設定したアドレスでVirtualBoxのホストオンリーアダプタを使用しています。
上記 1. は、Vagrantのvagrant ssh
などの通信用に使われます。こちらはMacOSと仮想環境のポートフォワード(VirtualBoxアダプタ1:NAT)で成り立っています。
※ VirtualBoxの設定>ネットワーク → アダプタ1(タブ)>高度 → ポートフォワーディング でSSH用の設定が見られます(初期設定はssh,TCP,127.0.0.1:2222,22)。
設定次第ですが、初期設定ではVagrant用ネットワーク、ユーザー用ネットワークが分かれている構成になっています。
bash
1rute
2
3#----- 下記結果 -----
4Kernel IP routing table
5Destination Gateway Genmask Flags Metric Ref Use Iface
610.0.2.0 * 255.255.255.0 U 0 0 0 eth0
7192.168.10.0 * 255.255.255.0 U 0 0 0 eth1
8link-local * 255.255.0.0 U 1002 0 0 eth0
9link-local * 255.255.0.0 U 1003 0 0 eth1
10default 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
ネットワークをざっくりと図式化すると下記のようになります。
CentOS Guest Gateway VirtualBox MacOS Host
-------------------------------------------------------------------------------
10.0.2.15:ssh --> 10.0.2.2 --> NAT -------> 127.0.0.1:2222(ポートフォワード)
192.168.10.5:mysqld --> 192.168.10.1 --> HostOnly --> (そのままアクセス可能)
※上記 HostOnly とはVirtualBoxの「ホストオンリーアダプタ」の意味
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。