Dwa skróty eliminują zgadywanie, z którym musi radzić sobie jeden przełącznik VPN: jeden zawsze łączy, drugi zawsze rozłącza. Dwa skróty eliminują niejednoznaczność: jeden zawsze prosi o połączenie, drugi zawsze prosi o rozłączenie. Oba wskazują ten sam zapisany profil przez jego UUID.

Wykonaj konfigurację w podanej kolejności. Przetestuj każde polecenie w terminalu, zanim je przypiszesz, ponieważ skrót to złe miejsce na odkrywanie okna, którego nie widzisz.

Znajdź UUID, nie nazwę profilu

Wypisz zapisane połączenia w zwykłej sesji pulpitowej i skopiuj UUID zamierzonej sieci VPN. Nazwa jest dla ludzi; dwa zapisane profile mogą ją dzielić, a profil usunięty i ponownie zaimportowany otrzymuje nowy identyfikator.

nmcli connection show
nmcli connection show "Office VPN" | grep -i uuid

Trzymaj UUID w definicji skrótu, a nie wyświetlaną nazwę. Jeśli profil zostanie później zastąpiony, zaktualizuj oba skróty naraz, ponieważ nieaktualny identyfikator daje akcję Połącz, która zawodzi, podczas gdy Rozłącz nadal wskazuje stary obiekt. Dlatego obie akcje używają tej samej wartości. Traktuj UUID jako tożsamość profilu.

Potwierdź, że profil jest siecią VPN NetworkManager, a nie demonem dostawcy z własną usługą. Klient dostawcy potrzebuje własnego obsługiwanego interfejsu sterowania; nmcli nie będzie zarządzać tunelem, który do niego nie należy. Sprawdź typ połączenia, jeśli nazwa jest niejednoznaczna. Tunel zarządzany przez inny demon nie pojawi się na tej samej liście.

Najpierw przetestuj oba polecenia w terminalu

Poproś o połączenie interaktywnie, dokończ zatwierdzone logowanie i dotrzyj do prywatnego zasobu, którego naprawdę potrzebujesz. Następnie rozłącz się pasującym poleceniem i potwierdź, że VPN spada, nie zabierając ze sobą łącza Wi-Fi ani Ethernet.

nmcli --ask connection up uuid 11111111-2222-4333-8444-555555555555
nmcli connection down uuid 11111111-2222-4333-8444-555555555555

Uruchamiaj je jako dwie osobne akcje. Zmieniają stan połączenia; nie usuwają profilu ani nie zmieniają jego ustawień. Zachowaj wynik terminala z pierwszego uruchomienia, aby wiedzieć, jak wygląda normalna sekwencja monitów. Ten zapis czyni zachowanie skrótu przewidywalnym.

Nie testuj rozłączania przez jedyną drogę zdalnej administracji. Jeśli VPN przenosi twoją sesję, udane rozłączenie kończy także dostęp, a odzyskanie wymaga drogi niezależnej od tunelu. Trzymaj dostępną konsolę lokalną lub drugie łącze.

Przypisz dwa nazwane skróty do tego samego UUID

W ustawieniach klawiatury pulpitu utwórz dwie jasno nazwane akcje, na przykład Połącz z VPN biura i Rozłącz VPN biura. Przypisz różne kombinacje klawiszy i wklej sprawdzony UUID do obu poleceń.

Nazywaj je według intencji, a nie stanu. Skrót o nazwie Przełącz sprawia, że następne naciśnięcie jest nieprzewidywalne; Połącz i Rozłącz dokładnie opisują, o co zostanie poproszone. To czyni listę skrótów samoobjaśniającą się. Przypadkowe naciśnięcie nadal robi coś przewidywalnego.

Jeśli pulpit używa launcherów desktop-entry, pamiętaj, że launcher nie przydziela terminala automatycznie. Polecenie wymagające interaktywnego wejścia będzie czekać tam, gdzie nikt nie może odpowiedzieć.

Umieść okno uwierzytelniania tam, gdzie je widzisz

Bez --ask, nmcli prosi działającego agenta sekretów o brakujące dane logowania. To właściwa droga, gdy pulpit już obsługuje uwierzytelnianie tej sieci VPN i agent może pokazać własny monit. Przetestuj zwykłe polecenie Połącz bezpośrednio ze skrótu, zanim uznasz, że działa.

Jeśli VPN wymaga interakcji w terminalu, skonfiguruj skrót tak, aby otwierał aplikację terminala pulpitu i uruchamiał tam interaktywne polecenie. Argumenty uruchamiania różnią się między aplikacjami terminala, więc użyj udokumentowanej formy zainstalowanej.

Dla wpisu pulpitu Terminal=true prosi o okno terminala, a Terminal=false nie. Żadne z ustawień nie jest powodem, by umieszczać hasło w wierszu poleceń, przyznawać sudo bez hasła ani omijać polityki uwierzytelniania organizacji.

Sprawdź gotowość po naciśnięciu klawisza

Naciśnięcie klawisza oznacza, że poproszono o aktywację. Nie dowodzi, że uwierzytelnianie się zakończyło, trasy zostały zainstalowane ani że prywatny DNS odpowiada. Sprawdź stan połączenia, a następnie rzeczywisty prywatny zasób.

Czytaj stan przez klienta będącego właścicielem, a nie przez porównywanie przetłumaczonego zdania. Czytelny dla człowieka tekst zmienia się z językiem, a maszyna może mieć więcej niż jedną sieć VPN, więc dopasowanie ciągu może zgłosić niewłaściwy profil albo pominąć stan przejściowy.

Jeśli inna automatyzacja ponownie łączy VPN, uzgodnij ją ze skrótem Rozłącz. Dwaj właściciele, którzy się wzajemnie odwracają, dają połączenie, które wydaje się ignorować naciśnięcie klawisza, gdy prawdziwym problemem jest konkurencyjna polityka.

Zapisz UUID, oba polecenia i sprawdzenie gotowości w notatkach. Następne zastąpienie profilu lub aktualizacja pulpitu są znacznie łatwiejsze do zdiagnozowania, gdy identyfikator i zamierzona ścieżka monitu są już zapisane.

Powiązane artykuły