Tengo el sistema operativo invitado de Ubuntu en VirtualBox usando NAT predeterminado para eth0.
Funciona bien en la oficina y en casa EXCEPTO cuando está en la oficina VPN desde casa.
Cuando el sistema operativo host (Windows 7) está conectado a la VPN, las búsquedas de DNS no funcionan dentro del huésped Virtualbox. Las búsquedas de DNS están bien en el host. Dentro de Virtualbox, puedo hacer ping a IP directamente tanto dentro de la VPN como en el exterior, por lo que no es un problema de conectividad.
Parece que el invitado de Ubuntu está usando localhost como punto de entrada DNS, de acuerdo con /etc/resolv.conf
y nslookup
. Entonces parece que algo local se está enviando a otro DNS subyacente.
¿Cómo soluciono esto?
ubuntu
virtualbox
dns
wrschneider
fuente
fuente
Respuestas:
Esto funcionó por alguna razón
C:\...\VirtualBox\VBoxManage modifyvm "VM name" --natdnshostresolver1 on
Sospecho que es porque cuando la VPN está activa, el host está haciendo algo especial para las búsquedas de DNS además de simplemente enviar solicitudes a los servidores DNS especificados que VirtualBox recogió de la configuración de Windows.
fuente
Tuve una situación muy similar con Lubuntu 16.04 (debería ser idéntica en otros Ubuntus) pero esta solución no mejoró la situación. Al menos con 16.04, el problema parece ser que NetworkManager usa un proxy DNS local (dnsmasq), y esto no funciona bien con las conexiones VPN, al menos en la configuración predeterminada.
Comentando / borrando dns = dnsmasq en /etc/NetworkManager/NetworkManager.conf
Probablemente haya una forma de configurar dnsmasq, pero esto me da acceso equivalente al host (dns, etc.), por lo que no he investigado. YMMV.
fuente
TL; DR:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
Ejecutar una VM en un host conectado a una VPN puede generar problemas de DNS cada vez que cambia el estado de la VPN. Hay dos escenarios:
1) VPN conectado -> VPN desconectado
En este caso, la VM probablemente habrá recibido una dirección DNS que forma parte de la red del proveedor de VPN. Por lo general, será una dirección IP privada interna. Verifique el contenido de
cat /etc/resolv.conf
. En mi caso me sale lo siguiente:nameserver 10.8.8.1
<--- Esto es interno a la red del proveedor de VPNnameserver 192.168.178.1
<--- Esta es mi puerta de enlace (enrutador)Ahora desconecte el host de la conexión VPN:
En mas detalles:
2) VPN desconectado -> VPN conectado
En este caso, la VM no recibirá la dirección DNS que forma parte del proveedor de red VPN ya que el host no estaba conectado a la VPN cuando se inició la VM. Verifique el contenido de
cat /etc/resolv.conf
. En mi caso me sale lo siguiente:nameserver 192.168.178.1
<--- Esta es mi puerta de enlace (enrutador)Ahora conecte el host a la conexión VPN:
En mas detalles:
fuente