J'ai un OS invité Ubuntu dans VirtualBox utilisant le NAT par défaut pour eth0.
Fonctionne bien au bureau et à la maison SAUF lorsque vous utilisez le VPN de bureau à domicile.
Lorsque le système d'exploitation hôte (Windows 7) est connecté au VPN, les recherches DNS ne fonctionnent pas dans l'invité Virtualbox. Les recherches DNS sont correctes sur l'hôte. Dans Virtualbox, je peux cingler des IP directement à la fois dans le VPN et à l'extérieur, donc ce n'est pas un problème de connectivité.
Il semble que l'invité Ubuntu utilise localhost comme point d'entrée DNS, selon /etc/resolv.conf
et nslookup
. Il semble donc que quelque chose localement soit distribué à un autre DNS sous-jacent.
Comment puis-je résoudre ce problème?
ubuntu
virtualbox
dns
wrschneider
la source
la source
Réponses:
Cela a fonctionné pour une raison quelconque
C:\...\VirtualBox\VBoxManage modifyvm "VM name" --natdnshostresolver1 on
Je soupçonne que c'est parce que lorsque le VPN est actif, l'hôte fait quelque chose de spécial pour les recherches DNS en plus de simplement transférer les demandes aux serveurs DNS spécifiés que VirtualBox a récupérés de la configuration Windows.
la source
J'ai eu une situation très similaire avec Lubuntu 16.04 (devrait être identique dans les autres Ubuntus) mais ce correctif n'a pas amélioré la situation. Au moins avec 16.04, le problème semble être que NetworkManager utilise un proxy DNS local (dnsmasq), et cela ne fonctionne pas bien avec les connexions VPN, au moins dans la configuration par défaut.
Commenter / supprimer dns = dnsmasq dans /etc/NetworkManager/NetworkManager.conf
Il existe probablement un moyen de configurer dnsmasq mais cela me donne un accès équivalent à l'hôte (dns, etc.), donc je n'ai pas enquêté. YMMV.
la source
TL; DR:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
L'exécution d'une machine virtuelle sur un hôte connecté à un VPN peut entraîner des problèmes DNS à chaque fois que l'état du VPN change. Il existe deux scénarios:
1) VPN connecté -> VPN déconnecté
Dans ce cas, la machine virtuelle aura probablement reçu une adresse DNS qui fait partie du réseau du fournisseur VPN. Il s'agit généralement d'une adresse IP privée interne. Vérifiez le contenu de
cat /etc/resolv.conf
. Dans mon cas, je reçois ce qui suit:nameserver 10.8.8.1
<--- Ceci est interne au réseau du fournisseur VPNnameserver 192.168.178.1
<--- Ceci est ma passerelle domestique (routeur)Déconnectez maintenant l'hôte de la connexion VPN:
Plus de détails:
2) VPN déconnecté -> VPN connecté
Dans ce cas, la machine virtuelle ne recevra pas l'adresse DNS qui fait partie du fournisseur de réseau VPN car l'hôte n'était pas connecté au VPN au démarrage de la machine virtuelle. Vérifiez le contenu de
cat /etc/resolv.conf
. Dans mon cas, je reçois ce qui suit:nameserver 192.168.178.1
<--- Ceci est ma passerelle domestique (routeur)Connectez maintenant l'hôte à la connexion VPN:
Plus de détails:
la source