Dwie aplikacje otwierają połączenia z tym samym serwerem biurowym i tylko jedna z nich powinna korzystać z tunelu. Trasa nie potrafi wyrazić tego życzenia, bo tablice routingu są oparte na celach i nie mają pojęcia, który proces otworzył gniazdo. To, o co ludzie proszą, i to, czego potrzebują, to często różne rzeczy. Rozdziel oba, zanim zmienisz jakąkolwiek konfigurację.

Selektor to cel, nigdy proces

Każda decyzja routingu zaczyna się adresem docelowym, a kończy interfejsem. Jądro nigdy nie pyta, który program wysłał pakiet, a w macOS także pf nie trasuje według procesu, więc reguła firewalla nie może skierować jednej aplikacji na inną drogę. Dlatego ten sam serwer, osiągany przez przeglądarkę i przez narzędzie raportowe, ma dla obu jedną drogę. Rozdzielenie na poziomie aplikacji musi więc pochodzić z czegoś innego niż trasa: wtyczki VPN, która posiada gniazdo, proxy, które przejmuje połączenie w imieniu aplikacji, albo osobnego stosu sieciowego. Żadne z nich nie jest zmianą routingu.

Dwie aplikacje rozmawiające z jednym adresem to najczystszy test projektu. Jeśli odpowiedź nie może się między nimi różnić, projekt jest oparty na celu, jakkolwiek by go nazwać.

Co zwykły split tunnel naprawdę daje

Split tunnel instaluje trasy dla prefiksów prywatnych, a wszystko inne zostawia na ścieżce fizycznej. Zwykle to właśnie oznacza prośba: dotrzeć do serwera biurowego przez tunel, a publiczne przeglądanie zostawić bezpośrednio. Jest to proste, każdy typowy klient to obsługuje i jest wymuszane przez ten sam mechanizm co każda inna trasa. Sprawdź konkretny cel za pomocą route -n get, zamiast czytać trasę domyślną, bo split tunnel często zostawia trasę domyślną nietkniętą.

Ręczna edycja trasy domyślnej nie jest przejściem na cokolwiek. Walczy z własnym przywracaniem tras klienta i u klientów, którzy instalują politykę ochrony, może zostawić maszynę w stanie, którego nie oczekujesz ani ty, ani klient. Skonfiguruj split tunnel w obsługiwanych ustawieniach klienta.

Czego wymaga VPN dla aplikacji w macOS

Prawdziwe VPN dla aplikacji w macOS to funkcja Network Extension sterowana profilem konfiguracji. Ładunek zarządzania przypisuje wybrane aplikacje do konfiguracji VPN, a system następnie kieruje ruch tych aplikacji odpowiednio. To wdrożenie zarządzane, co oznacza MDM, podpisany profil i administratora, który ma oba.

Ręczna instalacja klienta nie tworzy tego przypisania, a zwykły panel ustawień nie czyni aplikacji wybieralnymi pojedynczo. Dostawca może udostępnić własne reguły aplikacji i te podążają za jego dokumentacją, a nie ogólną regułą.

Trzy drogi do rozdzielenia według aplikacji bez MDM

Tam, gdzie zarządzanie nie jest dostępne, praktyczną odpowiedzią jest proxy. Ustaw własną konfigurację proxy aplikacji albo użyj pliku PAC, który wybiera według celu i protokołu tylko dla tej aplikacji.

Lokalne proxy kończy połączenie i tworzy je ponownie przez tunel, więc aplikacja nigdy nie potrzebuje trasy. Druga opcja to osobny stos sieciowy: maszyna wirtualna lub kontener z własną trasą domyślną, do którego aplikacja dociera przez adres lokalny. Trzecia to zaakceptowanie routingu opartego na celu i porzucenie wymagania, co jest uczciwe, gdy obie aplikacje mogą używać tunelu. Wszystkie trzy można przetestować i żadna nie udaje, że trasa zna procesy.

Napisz prośbę tak, aby odpowiedź była jednoznaczna

Opisz przepływ pracy, a nie mechanizm: która aplikacja potrzebuje której usługi, czy inną aplikację trzeba trzymać z dala od tej samej usługi i co ma się dziać, gdy tunel jest wyłączony. Te trzy odpowiedzi wybierają projekt. Mówią też administratorowi, czy prośba jest zmianą routingu, czy projektem wdrożenia.

Wyraźnie uwzględnij przypadek wykluczonej aplikacji. Klient, który zatrzymuje aplikację, gdy jej chroniona ścieżka jest niedostępna, zachowuje się inaczej niż ten, który pozwala jej wrócić na interfejs fizyczny, a użytkownicy od razu zauważają tę różnicę. Nazwij oczekiwanie w zgłoszeniu. Potem sprawdź na rzeczywistej maszynie, bo ten sam produkt często zachowuje się inaczej w macOS niż w Windows, a jego dokumentacja dla macOS jest jedynym wiarygodnym źródłem tego, co robią jego ustawienia.

Powiązane artykuły