Zainstaluj klienta VPN na hoście Hyper-V, otwórz tam przeglądarkę, a adres wyjściowy się zmienia; otwórz tę samą stronę w maszynie wirtualnej, a może pokazać stary adres albo nic. Zwykły wniosek jest taki, że maszyna wirtualna jest zepsuta albo trzeba włączyć tunelowanie dzielone. Żadne z nich nie wynika. Klient VPN nie jest właściwością maszyny; to zestaw tras, wirtualny adapter i często filtr przypisany do konkretnych interfejsów. To, czy ruch gościa kiedykolwiek spotka ten mechanizm, zależy od przełącznika wirtualnego, którego używa gość.

Mit, powiedziany wprost

Przekonanie jest takie, że VPN zainstalowany na hoście chroni całą maszynę, w tym maszyny wirtualne, bo maszyna wirtualna to tylko proces działający na tej maszynie. To wygodne przekonanie, bo antywirus i zapory hosta zwykle zachowują się właśnie tak. Ścieżki sieciowe nie.

Rama gościa jest dotykana przez stos VPN hosta tylko wtedy, gdy host ją routuje lub filtruje. Zapisz to zdanie na karteczce, bo każdy poniższy przypadek jest jego wariantem.

Trzy typy przełączników, trzy ścieżki

Przełącznik zewnętrzny wiąże wirtualny adapter z fizyczną kartą sieciową, a gość wysyła ramy przez to wiązanie ze swoim adresem MAC. Gość staje się równorzędnym uczestnikiem sieci fizycznej, z własną dzierżawą DHCP, bramą i serwerami DNS. Domyślna trasa VPN hosta żyje w stosie hosta i nie porusza tych ram, bo są mostkowane, a nie routowane przez hosta. Dlatego też przełącznik zewnętrzny nad adapterem Wi-Fi to zły pomysł: większość sterowników bezprzewodowych nie przenosi ram dla drugiego adresu MAC.

Przełącznik wewnętrzny łączy gości z wirtualnym adapterem hosta. Sam z siebie nie daje wyjścia do internetu; obiekt NAT na hoście zapewnia tłumaczenie, jak opisano w przewodniku NAT Hyper-V. Teraz pakiety gościa naprawdę wchodzą w routing i ścieżkę NAT hosta, więc trasy i filtry klienta VPN znów się liczą. To konfiguracja, w której maszyna wirtualna naprawdę podąża za VPN hosta i w której kill switch może całkowicie odciąć gościa.

Przełącznik prywatny nie ma adaptera hosta ani łącza w górę. Goście rozmawiają tylko między sobą i z nikim innym, więc jeśli maszyna wirtualna na przełączniku prywatnym nie ma internetu, brakujący router jest przyczyną, a VPN nie ma znaczenia.

Przełącznik domyślny to odrębna konfiguracja

Windows dostarcza przełącznik domyślny, który łączy przełącznik wewnętrzny z NAT i proxy DNS. Jego podsieć wybiera host, może się zmienić po restarcie i nie jest tym samym obiektem co sieć NAT, którą tworzysz sam. Odbudowanie go tak, jakby to była sieć laboratoryjna, to sposób, w jaki ludzie kończą z dwoma NAT i gościem, który nadal nie ma trasy.

Jeśli maszyna wirtualna jest na przełączniku domyślnym, odczytaj adres otrzymany przez gościa i porównaj go z tabelą NAT hosta, zanim dotkniesz klienta VPN. Niezgodność między bramą gościa a prefiksem NAT wyjaśnia więcej awarii niż jakiekolwiek ustawienie klienta.

Cztery fakty, które rozstrzygają pytanie

Zbierz je, zanim cokolwiek zmienisz: typ przełącznika i jego łącze w górę, adapter podłączony do maszyny wirtualnej, własny adres, brama i DNS gościa oraz stan NAT i trasy domyślnej hosta. Polecenia tylko do odczytu to Get-VMSwitch, Get-VMNetworkAdapter -VMName "TestVM", Get-NetNat, i Get-NetRoute -DestinationPrefix 0.0.0.0/0; a wewnątrz gościa ipconfig /all daje resztę.

Następnie zdecyduj, co gość powinien robić. Jeśli ma pozostać poza VPN, uzyskaj obsługiwane przez dostawcę wyjątek dokładnie dla tej ścieżki, bo wykluczenie pliku wykonywalnego hosta nie zwalnia przekazywanego ruchu maszyny wirtualnej. Jeśli ma używać VPN, potwierdź udokumentowane postępowanie klienta z ruchem maszyn wirtualnych, zamiast zakładać, że test w przeglądarce hosta to obejmuje.

Test wewnątrz gościa jest jedynym dowodem, który się liczy. Sprawdź adres wyjściowy z gościa, rozwiąż nazwę wewnętrzną, połącz ponownie VPN i powtórz. Wynik przeglądarki hosta nie zastępuje niczego z tego.

Ile kosztuje mit

Ludzie wyłączają kill switch, dodają trasy statyczne albo usuwają i tworzą przełączniki od nowa tylko po to, by test przeszedł. Każde skrócenie zmienia tryb awarii: gość może dotrzeć do internetu ścieżką, której nikt nie zamierzał, albo host może stracić łączność, gdy przełącznik zewnętrzny ponownie wiąże jego fizyczną kartę.

Ponowne związanie przełącznika zewnętrznego przerywa własny dostęp hosta, więc utrzymuj otwartą ścieżkę poza pasmem i unikaj usuwania przełączników, gdy jeszcze diagnozujesz. Prawidłowy wynik to zamierzona ścieżka gościa, w tym sposób, w jaki się ponownie łączy i w jaki zawodzi, a nie zielony znaczek z jednego wczytania strony.

Trwała odpowiedź to jedna linia na maszynę wirtualną w spisie: którego przełącznika używa i który komponent dostarcza jej bramę. Gdy to jest zapisane, następna zmiana VPN jest sprawdzeniem w notatkach, a nie popołudniem zgadywania.

Powiązane artykuły