web-dev-qa-db-ja.com

ホストからVagrantプライベートネットワークに接続できません

浮浪者の仮想ボックスが稼働しています。これまでのところ、Webサーバーに接続できませんでした。ここにスタートアップがあります:

[jesse@Athens VVV-1.1]$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your Host and reload your VM.
    default: 
    default: Guest Additions Version: 4.2.0
    default: VirtualBox Version: 4.3
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => /home/jesse/vagrant/vvvStable/VVV-1.1
    default: /srv/www => /home/jesse/vagrant/vvvStable/VVV-1.1/www
    default: /srv/config => /home/jesse/vagrant/vvvStable/VVV-1.1/config
    default: /srv/database => /home/jesse/vagrant/vvvStable/VVV-1.1/database
    default: /var/lib/mysql => /home/jesse/vagrant/vvvStable/VVV-1.1/database/data
==> default: VM already provisioned. Run `vagrant provision` or use `--provision` to force it
==> default: Checking for Host entries

私のホストコンソールでは、ip addr show yields:

4: vboxnet0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000                                       
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff                                                                         
5: vboxnet1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000                                      
    link/ether 0a:00:27:00:00:01 brd ff:ff:ff:ff:ff:ff

ゲストでは次のようになります。

vagrant@vvv:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope Host lo
    inet6 ::1/128 scope Host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:12:96:98 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
    inet6 fe80::a00:27ff:fe12:9698/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:2c:d4:3e brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.4/24 brd 192.168.50.255 scope global eth1

今のところ、私がやりたいことは、仮想マシン上のWebサーバーにアクセスすることです。暗闇で撮影するだけで、さまざまなことを試しました。特定の情報を提供させていただきます。どんな助けや提案も大歓迎です

34
laertiades

将来の参考のためにもう1つの可能性。

通常、プライベートネットワーキングを使用してVMを作成すると、Vagrant(Virtualbox?不明)は、ホストのルーティングテーブルに対応するエントリを作成します。これらを見るには

netstat -rn

なんらかの理由で、ホストがVMを作成してもルーティングテーブルに新しいルートが表示されない状態になり、対応する接続​​ができなくなりました。繰り返しますが、上記のコマンドを使用すると、ルートnotが表示されます。

ルートを手動で作成すると、VMに到達できました。例えば:

Sudo route -nv add -net 10.0.4 -interface vboxnet

(適切なネットワークとインターフェースを代用してください。)しかし、私はそうする必要はありませんでした。

この質問 に基づいて、ホストを再起動しようとすると、Vagrantがルーティングテーブルエントリの自動作成を再開しました。

問題が何であったかは正確にはわかりませんが、うまくいけば誰かの助けになります。

16
Willie Wheeler

インターフェイスがダウンしています

同じ問題がありました。ダウンしていたのは私のvboxnet0インターフェイスでした。 ip addrのリスト内には、インターフェース用に<BROADCAST,MULTICAST>がありますが、<BROADCAST,MULTICAST,UP,LOWER_UP>でなければなりません。

つまり、インターフェイスがダウンしています。

Sudo ifconfigで確認できます。インターフェイスは表示されませんが、-aを追加すると、Sudo ifconfig -aが表示されます。

それを育てる方法

だからそれを持ち出すためにあなたはできる:

Sudo ifconfig vbox

OR

Sudo ip link set vboxnet0 up

両方とも機能します。

6
Mat'arangéÇa

Virtual Box内でプライベートネットワークを削除することで、プライベートネットワークも機能するようになりました。 vagrant upで再作成すると、ip configは次のようになりました。

vboxnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 0a:00:27:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.50.1/24 brd 192.168.50.255 scope global vboxnet0
       valid_lft forever preferred_lft forever
3
laertiades

または、SSH(SSHトンネリング)を介した手動ポート転送を使用できます。

ssh -L 80:127.0.0.1:80 [email protected] -p 2222

ホストポート80をVMへのSSHセッション経由でVMポート80にバインドします。

3
Cees Timmerman

これは正確には当てはまらないかもしれませんが、タイトルの「プライベートネットワーク」が私をここに連れてきました。MacOS Xで複数のゲストボックスを実行しようとしている人もいるでしょう。

私は「private_network」を使用し、ポート転送を行いません。 「project1.local」、「project2.local」などのホストからVMにアクセスします。

だから、私は2番目のボックス(LAMPのスコッチ/ボックスubuntu)を起動しようとしたときに驚きました(エラーで起動を拒否しました(抜粋):

"...The forwarded port to 2222 is already in use on the Host machine..."

エラーメッセージの提案された解決策は機能しません。つまりこれをVagrantfileに追加します。

config.vm.network :forwarded_port, guest: 22, Host: 1234
#Where 1234 would be a different port.

以前に複数回実行したことがあるので、なぜそれが起こるのかわかりません(スコッチ/ボックスではありません)。問題は、private_networkを使用する場合でも、VagrantはSSHにポート転送を使用することです。

解決策は、Vagrantファイルにこれを追加することにより、SSH用に特別にポートを設定することです。

# Specify SSH config explicitly with unique Host port for each box
config.vm.network :forwarded_port,
  guest: 22,
  Host: 1234,
  id: "ssh",
  auto_correct: true

注:auto_correctを使用すると、一意でないポート番号が機能する場合がありますが、テストしていません。

現在、プライベートネットワーキングを使用して、複数のVMを同時に実行できます。

(アーロンアーロンと彼の投稿に感謝します: https://groups.google.com/forum/#!topic/vagrant-up/HwqFegoCXOc

2
Phreditor

Arch(2017-01-01)で同じ問題が発生していました。 net-toolsをインストールする必要がありました:Sudo pacman -S net-tools

Virtual Box 5.1.12r112440、Vagrant 1.9.1。

1
Shane

Vagrant Machineにプライベートネットワークを設定しました

そのIPが表示されていない場合、Vagrantマシンにsshして、このコマンドを実行します

Sudo /etc/init.d/networking restart

ファイアウォールとiptablesも停止するようにチェックしてください

1
selftaught91

Macでも同様の問題が発生しました。 VirtualBoxは、プライベートネットワークにのみホストを使用します。内部ネットワークとして使用するには、これをプライベートネットワーク構成に追加する必要がありました。

"virtualbox__intnet: true"
1