浮浪者の仮想ボックスが稼働しています。これまでのところ、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サーバーにアクセスすることです。暗闇で撮影するだけで、さまざまなことを試しました。特定の情報を提供させていただきます。どんな助けや提案も大歓迎です
将来の参考のためにもう1つの可能性。
通常、プライベートネットワーキングを使用してVMを作成すると、Vagrant(Virtualbox?不明)は、ホストのルーティングテーブルに対応するエントリを作成します。これらを見るには
netstat -rn
なんらかの理由で、ホストがVMを作成してもルーティングテーブルに新しいルートが表示されない状態になり、対応する接続ができなくなりました。繰り返しますが、上記のコマンドを使用すると、ルートnotが表示されます。
ルートを手動で作成すると、VMに到達できました。例えば:
Sudo route -nv add -net 10.0.4 -interface vboxnet
(適切なネットワークとインターフェースを代用してください。)しかし、私はそうする必要はありませんでした。
この質問 に基づいて、ホストを再起動しようとすると、Vagrantがルーティングテーブルエントリの自動作成を再開しました。
問題が何であったかは正確にはわかりませんが、うまくいけば誰かの助けになります。
同じ問題がありました。ダウンしていたのは私の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
両方とも機能します。
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
または、SSH(SSHトンネリング)を介した手動ポート転送を使用できます。
ssh -L 80:127.0.0.1:80 [email protected] -p 2222
ホストポート80をVMへのSSHセッション経由でVMポート80にバインドします。
これは正確には当てはまらないかもしれませんが、タイトルの「プライベートネットワーク」が私をここに連れてきました。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 )
Arch(2017-01-01)で同じ問題が発生していました。 net-tools
をインストールする必要がありました:Sudo pacman -S net-tools
Virtual Box 5.1.12r112440、Vagrant 1.9.1。
Vagrant Machineにプライベートネットワークを設定しました
そのIPが表示されていない場合、Vagrantマシンにsshして、このコマンドを実行します
Sudo /etc/init.d/networking restart
ファイアウォールとiptablesも停止するようにチェックしてください
Macでも同様の問題が発生しました。 VirtualBoxは、プライベートネットワークにのみホストを使用します。内部ネットワークとして使用するには、これをプライベートネットワーク構成に追加する必要がありました。
"virtualbox__intnet: true"