Estoy tratando de configurar un conjunto de invitados en VirtualBox, de modo que cada uno de ellos pueda acceder a Internet y ser visible el uno al otro y al host. También quiero que los invitados tengan direcciones IP estáticas.
Aquí está el procedimiento que he seguido hasta ahora:
- Desactive la función del servidor DHCP de la red de solo host que se utilizará en esta configuración
- Cambie la dirección IP asignada al host a 192.168.56.254
- Cree una máquina invitada con 2 tarjetas de interfaz de red (NIC)
- Configure la primera NIC para usar NAT
- Configure la 2da NIC para usar redes solo en caliente
- Instale el sistema operativo (Ubuntu Server 13.10) en cada uno de ellos
- Actualiza el SO
- Configure la red de la siguiente manera editando / etc / network / interfaces
auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.1 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 gateway 192.168.56.254 dns-search cloudspace.local dns-nameservers 8.8.8.8 8.8.4.4
- Guarda el archivo
- Reiniciar
Cuando el invitado se inicia nuevamente, la red de solo host funciona bien. Los pares de máquinas host / guest e guest / guest pueden hacer ping entre sí, sin embargo, Internet no funciona como apt-get
falla.
Si luego emito un service networking restart
comando, la red comienza a funcionar como debería.
¿Qué estoy haciendo mal?
He intentado cambiar el orden en que aparecen las NIC en el /etc/network/interfaces
archivo. También he intercambiado la red NAT / solo host entre las 2 NIC. Nada funcionó.
El host es Windows 8.1 y el invitado es Ubuntu Server 13.10. He intentado lo mismo en Mac OS X con resultados similares.
Agradecería mucho cualquier ayuda en esto.
Actualizar:
He incluido el resultado de los siguientes comandos a continuación, para ayudar en el diagnóstico:
- cat / etc / network / interfaces
- ifconfig -a
- ruta -n
$ cat /etc/network/interfaces auto lo iface lo inet loopback auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.1 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 gateway 192.168.56.254 $ ifconfig -a eth0 Link encap:Ethernet HWaddr 08:00:27:75:47:64 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe75:4764/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1180 (1.1 KB) TX bytes:1332 (1.3 KB) eth1 Link encap:Ethernet HWaddr 08:00:27:93:98:d8 inet addr:192.168.56.1 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe93:98d8/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:140 errors:0 dropped:0 overruns:0 frame:0 TX packets:225 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:14418 (14.4 KB) TX bytes:27378 (27.3 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1184 (1.1 KB) TX bytes:1184 (1.1 KB) $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.56.254 0.0.0.0 UG 0 0 0 eth1 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Actualización 2:
Después de ejecutar sudo service networking restart
, la salida de se route -n
convierte en:
$ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0 10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Entonces, ¿cómo me aseguro de esta configuración en el arranque?
fuente
eth1
está alterando la ruta predeterminada asignada por DHCP. ¿Hay una solución para esto?Se me ocurrió esta solución, que es lo mismo que la respuesta de @ jkt123 y la pregunta de @ Umar, pero más corta. Agradecería sus comentarios!
En virtualbox, habilite las redes NAT y las de solo host . (Por cierto: funciona en mi host win7. No sé cómo hacerlo en Linux host).
En el host: busque la IP de la interfaz "solo host"
En el invitado, edite / etc / network / interfaces . El truco fue revertir el orden eth1 (solo host) viene ANTES de eth0 (internet / dhcp). No se porque.
reiniciar.
fuente
En primer lugar, habilité ambas redes NAT con DHCP y host solo con red
static ip add 192.168.40.41
.Entonces, seguí con este comando:
Obtuve este resultado:
Y antes de reiniciar, escribí el siguiente comando:
Luego reiniciado.
Después de cargar en VM VirtualBox, ambas redes están funcionando. Puedo conectarme a Internet y puedo conectarme a
192.168.40.41
través de un navegador web.Espero que esto sea útil para obtener el
nano
editor:Luego simplemente escriba
nano
terminal para iniciarlo.fuente
Tiene varias puertas de enlace predeterminadas asignadas a diferentes NIC. En general, "Predeterminado" significa una opción preseleccionada. En este caso, si se define una puerta de enlace predeterminada especificada para ambas NIC, no sería una opción preseleccionada. Además, esto también provocaría problemas de comunicación como el enrutamiento asincrónico. No estoy seguro de cómo la métrica de ambas interfaces se establece en 0, pero puede deberse a que ambas NIC tienen puertas de enlace. El informe de Microsoft sobre esto se encuentra aquí y la función Métrica tiene una serie de factores que proporcionan cómo se determina para establecer prioridades. (Enlace: https://support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes )
De acuerdo con @ jkt123 en la respuesta respondida, solo se debe asignar una puerta de enlace predeterminada.
fuente