Dwa urządzenia, jedna sieć Wi-Fi, różne wyjścia VPN: co o tym decyduje
Adres domowy, adres tunelu i publiczne wyjście to trzy różne rzeczy. Dwa urządzenia mogą wychodzić różnymi wyjściami i nic nie gwarantuje, że tak się stanie.
Dwa laptopy w tej samej domowej sieci mogą docierać do internetu przez różne wyjścia VPN, a współdzielone Wi-Fi nie ma tu nic do rzeczy. O wyniku decyduje to, gdzie działa tunel i która polityka wybiera ścieżkę dla każdego żądania. Przeciwne przekonanie jest równie częste i równie błędne: dwa urządzenia z osobnymi profilami nie tworzą automatycznie dwóch publicznych adresów. Oba błędy wynikają z traktowania jednego adresu tak, jakby było ich trzy.
Trzy adresy, a tylko jeden z nich wychodzi
Laptop ma adres w domowej sieci LAN, który identyfikuje go w segmencie lokalnym, a może też mieć adres tunelu przydzielony wewnątrz VPN. Żaden z nich nie jest widoczny dla zdalnej usługi. To, co ta usługa zapisuje, to publiczny adres wyjściowy urządzenia, które ostatecznie wysyła pakiet, po wszelkich tłumaczeniach na drodze.
RFC 3022 wyznacza rozróżnienie, które wyjaśnia większość tutejszego zamieszania. Tradycyjny NAT mapuje adresy wewnętrzne na publiczne, a tłumaczenie portów pozwala wielu adresom wewnętrznym jednocześnie współdzielić jeden publiczny adres. Gospodarstwo domowe z jednym publicznym adresem i kilkoma urządzeniami to drugi przypadek i jest to domyślne ustawienie niemal wszędzie.
Licz publiczne adresy, nie profile. Dwaj klienci z różnymi adresami tunelu i tą samą polityką wyjścia dają jeden zaobserwowany adres, a jeden klient z inaczej trasowanym wyjściem może dać inny. To jedno porównanie jest całym testem. Wszystko inne to założenie o dalekim końcu.
Co naprawdę czyni dwa wyjścia różnymi
Wyjście jest inne, gdy ostatnie urządzenie przed internetem używa innego publicznego adresu dla tego ruchu. Może się tak stać, bo VPN kończy się w innym miejscu, bo pula wyjść przydziela inny adres, albo bo dostawca kieruje żądanie przez inne wyjście. Wszystkie trzy to decyzje polityczne podejmowane po dalekiej stronie i żadna z nich nie jest widoczna z domowego routera.
Dwa urządzenia, z których każde uruchamia własnego klienta z tym samym profilem, zwykle trafiają do tej samej puli i często otrzymują to samo wyjście dla danej sesji. To nie błąd, to normalne zachowanie współdzielonej puli. Uzyskanie odrębnych wyjść zwykle oznacza proszenie usługi o odrębne przydziały, a nie dwukrotne konfigurowanie klienta.
Przeczytaj warunki usługi dotyczące jednoczesnych połączeń, zanim zaprojektujesz coś wokół gwarancji. Drugie logowanie to zgoda na połączenie, a nie obietnica wyłącznego adresu. Jeśli warunki milczą, zapytaj dostawcę, zamiast zakładać. Odpowiedź zmienia projekt bardziej niż jakiekolwiek ustawienie klienta.
Dlaczego osobne profile nie są osobnymi wyjściami
Profil opisuje, jak dotrzeć do VPN i jak się uwierzytelnić, i prawie nic nie mówi o tym, co dzieje się potem. Wyjście wybiera daleka strona, gdzie żyją trasowanie, pule adresów i polityka tłumaczenia. Powielenie profilu na drugiej maszynie powiela konfigurację klienta, a nie decyzję serwera.
Odwrotnie też jest prawdą. Jeden serwer VPN może prezentować więcej niż jedno publiczne wyjście, gdy jego trasowanie i polityka tłumaczenia są tak zbudowane, a osobne serwery mogą zasilać jedno wyjście niższego poziomu. Liczba nazw serwerów w konfiguracji nic więc nie mówi o liczbie adresów. Dlatego konfiguracja jest złym miejscem na szukanie tej odpowiedzi.
Jedyna wiarygodna odpowiedź pochodzi z żądania wykonanego przez układ, którego zamierzasz używać. Wszystko inne to wnioskowanie.
Gdzie umieścić rozdzielenie
Tunel na routerze obejmuje całe gospodarstwo domowe, co jest wygodne i daje dokładnie jedno współdzielone wyjście dla każdego urządzenia za nim. Klient na każdym urządzeniu daje kontrolę na poziomie urządzenia, ale wymaga, aby każde urządzenie zostało przygotowane i pozostało przygotowane. Router obsługujący polityki stoi pośrodku, wybiera ścieżkę dla każdego urządzenia i działa tylko wtedy, gdy potrafi niezawodnie rozpoznawać urządzenia przez ponowne połączenia i zmiany DHCP.
Utworzenie kolejnego prywatnego związania DHCP na routerze to nie to samo, co utworzenie kolejnego publicznego adresu. Zmienia to lokalny obraz i pozostawia wyjście nietknięte. Rozdzielenie żyje w polityce wyjścia, niezależnie od tego, czy ta polityka jest na routerze, czy w usłudze VPN.
Jakąkolwiek formę wybierzesz, zapisz odpowiedzialność: kto przygotowuje urządzenie, kto zmienia jego poświadczenia i kto zauważa, gdy przestaje używać zamierzonej ścieżki.
Sprawdź wyjście, które rzeczywiście otrzymałeś
Sprawdzenia dokonaj z aplikacji, która ma znaczenie, i porównaj tę samą rodzinę adresów na obu urządzeniach. Wynik IPv4 z jednego i wynik IPv6 z drugiego niczego nie dowodzą o żadnym z nich. Następnie powtórz sprawdzenie po ponownym połączeniu, bo przydział z puli może się zmienić między sesjami.
Uruchom to z terminala wewnątrz polityki tunelu, a nie z urządzenia, które ją omija. Zły host daje pewną siebie błędną odpowiedź.
curl -4 -sS https://api.ipify.org; echo
curl -6 -sS https://api64.ipify.org; echo
ip route get 1.1.1.1Jeśli oba urządzenia pokazują ten sam adres IPv4, współdzielą jedno wyjście niezależnie od tego, ile tuneli jest aktywnych. Następnie zdecyduj, co się dzieje, gdy tunel zawiedzie: klient, który wraca na ścieżkę bezpośrednią, przywraca oba urządzenia na adres domowy i rozdzielenie znika bez błędu. Potwierdź to zachowanie powrotu, zanim opiszesz układ jako dwa wyjścia, i pamiętaj, że różne adresy to wynik sieci, a nie dwie anonimowe tożsamości.