Mam system gościa Ubuntu w VirtualBox używający domyślnego NAT dla eth0.
Działa dobrze w biurze i w domu Z WYJĄTKIEM w biurze VPN z domu.
Gdy system operacyjny (Windows 7) jest podłączony do sieci VPN, wyszukiwania DNS nie działają w gościu Virtualbox. Wyszukiwanie DNS jest prawidłowe na hoście. W Virtualbox mogę pingować adresy IP bezpośrednio zarówno w sieci VPN, jak i na zewnątrz, więc nie jest to problem z łącznością.
Wygląda na to, że gość Ubuntu używa localhost jako punktu wejścia DNS, zgodnie z /etc/resolv.conf
i nslookup
. Wygląda więc na to, że coś lokalnie wysyła następnie do innego bazowego DNS.
Jak rozwiązać ten problem?
ubuntu
virtualbox
dns
wrschneider
źródło
źródło
Odpowiedzi:
Z jakiegoś powodu to zadziałało
C:\...\VirtualBox\VBoxManage modifyvm "VM name" --natdnshostresolver1 on
Podejrzewam, że dzieje się tak, ponieważ gdy VPN jest aktywny, host robi coś specjalnego dla wyszukiwań DNS, poza tylko przesyłaniem żądań do określonych serwerów DNS, które VirtualBox odebrał z konfiguracji Windows.
źródło
Miałem bardzo podobną sytuację z Lubuntu 16.04 (powinno być identyczne w innych Ubuntus), ale ta poprawka nie poprawiła sytuacji. Przynajmniej w przypadku wersji 16.04 problem wydaje się polegać na tym, że NetworkManager używa lokalnego serwera proxy DNS (dnsmasq), co nie działa dobrze w przypadku połączeń VPN, przynajmniej w domyślnej konfiguracji.
Komentowanie / usuwanie dns = dnsmasq w /etc/NetworkManager/NetworkManager.conf
Prawdopodobnie istnieje sposób skonfigurowania dnsmasq, ale daje to (mi) równoważny dostęp do hosta (dns itp.), Więc nie zbadałem. YMMV.
źródło
TL; DR:
VBoxManage modifyvm "VM name" --natdnshostresolver1 on
Uruchomienie maszyny wirtualnej na hoście podłączonym do sieci VPN może powodować problemy z DNS przy każdej zmianie statusu VPN. Istnieją dwa scenariusze:
1) Połączony z VPN -> VPN odłączony
W takim przypadku maszyna wirtualna prawdopodobnie otrzyma adres DNS będący częścią sieci dostawcy VPN. Zwykle będzie to wewnętrzny prywatny adres IP. Sprawdź zawartość
cat /etc/resolv.conf
. W moim przypadku otrzymuję:nameserver 10.8.8.1
<--- To dotyczy sieci VPN Providernameserver 192.168.178.1
<--- To jest moja domowa brama (router)Teraz odłącz hosta od połączenia VPN:
Więcej szczegółów:
2) VPN odłączony -> VPN podłączony
W takim przypadku maszyna wirtualna nie otrzyma adresu DNS, który jest częścią dostawcy sieci VPN, ponieważ host nie był podłączony do sieci VPN podczas uruchamiania maszyny wirtualnej. Sprawdź zawartość
cat /etc/resolv.conf
. W moim przypadku otrzymuję:nameserver 192.168.178.1
<--- To jest moja domowa brama (router)Teraz podłącz hosta do połączenia VPN:
Więcej szczegółów:
źródło