network guest from create bridged networking virtual-machine virtualbox vagrant

networking - guest - No se puede conectar a la red privada Vagrant desde el host



vagrant network (9)

Tu interfaz está abajo

Tuve el mismo problema. Era mi interfaz vboxnet0 quien estaba abajo. Dentro del listado de ip addr tiene <BROADCAST,MULTICAST> para su interfaz, pero debería ser <BROADCAST,MULTICAST,UP,LOWER_UP> .

Eso significa que tu interfaz no funciona.

Puede confirmar con sudo ifconfig . La interfaz no se mostrará pero si agrega -a lo verá: sudo ifconfig -a .

cómo sacarlo

Entonces, para que aparezca, puede hacer:

sudo ifconfig vbox

O

sudo ip link set vboxnet0 up

Ambas obras.

Tengo una caja virtual vagabunda en funcionamiento. Hasta ahora no he podido conectarme al servidor web. aquí está la puesta en marcha:

[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

en mi consola de host, ip addr show produce:

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

en el invitado rinde:

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

Por ahora, todo lo que quiero hacer es acceder al servidor web en la máquina virtual, sea cual sea el camino. He intentado una variedad de cosas, solo tiro en la oscuridad. Estaré encantado de proporcionar cualquier información específica. Cualquier ayuda o sugerencia sería muy apreciada


Alternativamente, puede usar el reenvío de puerto manual a través de SSH (túnel SSH):

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

Eso vincula el puerto de host 80 al puerto de VM 80 a través de su sesión de SSH a la VM.


En función de la salida proporcionada, la caja tiene 2 interfaces de red, 1 es el NAT por defecto y el otro privado - pregunte lo que usted dijo.

La razón por la que no puede acceder al sitio web alojado dentro de la VM a través de la interfaz privada: podría ser que la dirección IP del host eth0 o wlan0 no se encuentre en la misma red que la interfaz privada -> 192.168.50.4/24 y allí no es una ruta

Para acceder al sitio alojado por el servidor web dentro del huésped, tiene las siguientes opciones:

1. Reenvío de puertos NAT

Reenviar el puerto web, por ejemplo 80 al 8080 del host (no puede usar 80 porque es un puerto privilegiado en * NIX). Agregue lo siguiente

Vagrant.configure("2") do |config| config.vm.network "forwarded_port", guest: 80, host: 8080, auto_correct: true end

NOTA: autocorrección resolverá conflictos de puerto si el puerto en el host ya está en uso.

HAGA una vagrant reload y podrá acceder al sitio a través de http://localhost:8080/

2. Red pública (red puenteada VirtualBox)

Agregar una interfaz de red pública

Vagrant.configure("2") do |config| config.vm.network "public_network" end

Obtenga la IP de la máquina virtual después de que esté funcionando, el reenvío de puertos NO se aplica a la conexión en red puenteada. Por lo tanto, http://IP_ADDR al sitio utilizando http://IP_ADDR , si dentro de la VM se une a 80, de lo contrario especifique el puerto.


Estaba teniendo el mismo problema con Arch (2017-01-01). Tuvo que instalar net-tools : sudo pacman -S net-tools

Virtual Box 5.1.12r112440, Vagrant 1.9.1.


Has configurado una red privada para tu máquina vagabunda

Si esa ip no es visible, entonces ssh a su máquina vagabunda y ejecute este comando

sudo /etc/init.d/networking restart

Compruebe para detener su firewall y iptables también


Puede que esto no se aplique exactamente, pero la "red privada" en el título me trajo aquí y otros pueden beneficiarse de que intenten ejecutar varias casillas de invitados en Mac OS X:

Uso "private_network" y no realizo reenvío de puertos. Es decir, accedo a mis VM por hosts como "project1.local", "project2.local".

Entonces, me sorprendió cuando intenté lanzar una segunda caja (un ubuntu scotch / box para LAMP) y se negó a iniciarse con un error (extracto):

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

La solución propuesta del mensaje de error no funciona. Es decir, agregue esto a su Vagrantfile:

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

No estoy seguro de por qué sucede porque he corrido múltiples antes (pero no scotch / box). El problema es que incluso si usa private_network, Vagrant utiliza el reenvío de puertos para SSH.

La solución es establecer puertos ESPECÍFICAMENTE PARA SSH al agregar esto a sus archivos Vagrant:

# 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

Nota: autocorrección puede hacer que los números de puerto no únicos funcionen, pero no he probado eso.

Ahora puede ejecutar varias máquinas virtuales al mismo tiempo mediante una red privada.

(Gracias a Aaron Aaron y su publicación aquí: https://groups.google.com/forum/#!topic/vagrant-up/HwqFegoCXOc )


Terminé haciendo que la red privada también funcionara al eliminarla en Virtual Box. Cuando lo recreé de nuevo con vagrant, la configuración de ip se convirtió en:

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


Tuve un problema similar en mi Mac. VirtualBox usa host solo para redes privadas. Para usarlo como una red interna, tuve que agregar esto a la configuración de red privada:

"virtualbox__intnet: true"


Una posibilidad más solo para futuras referencias.

Normalmente, cuando se crean máquinas virtuales usando redes privadas, Vagrant (Virtualbox? No seguro) crea las entradas correspondientes en la tabla de enrutamiento del host. Puedes ver estos usando

netstat -rn

De alguna manera, mi host había entrado en un estado en el que la creación de máquinas virtuales no daba como resultado la aparición de nuevas rutas en la tabla de enrutamiento, con la correspondiente incapacidad para conectarse. De nuevo, puede ver las rutas que no aparecen utilizando el comando anterior.

La creación manual de la ruta me permitió llegar a las máquinas virtuales. Por ejemplo:

sudo route -nv add -net 10.0.4 -interface vboxnet

(Sustituya la red y la interfaz apropiadas). Pero no quería tener que hacer eso.

Basado en esta pregunta , intenté reiniciar mi host y Vagrant comenzó a crear automáticamente las entradas de la tabla de enrutamiento nuevamente.

No estoy seguro exactamente cuál era el problema, pero espero que esto ayude a alguien.