A megfelelő OpenVPN-kapcsolat leállítása: előtér, systemd vagy NM
A tunnel bontásához szükséges parancs attól függ, ki indította. Hasonlítsa össze az előtér, a systemd, a NetworkManager és az OpenVPN 3 tulajdonosait, mielőtt jelet küld.
Egy terminálablak bezárása nem ugyanaz, mint egy tunnel bezárása, és egy folyamat megölése nem ugyanaz, mint egy szolgáltatás leállítása. Linuxon a ténylegesen bontó parancs attól függ, melyik komponens indította a kapcsolatot, és ezért birtokolja annak életciklusát. Az alábbi összehasonlítás a legvalószínűbben előforduló négy elrendezést és az egyesekhez szükséges azonosítót tárgyalja.
Előtérbeli és démonizált kliensek
A terminálban kézzel indított kliens ahhoz a terminálhoz tartozik. A Ctrl+C megszakítást küld, a kliens lebontja a felületét, és a tunnel véget ér. Semmi mást nem kell értesíteni.
A shell-burkolón keresztül indított és háttérben hagyott kliens senkihez sem tartozik különösebben, és ebben az esetben nyúlnak az emberek a killallhoz. Először keresse meg a folyamatot, erősítse meg, hogy a parancssora említi a szándékolt profilt, majd küldje el a szokásos leállítási jelet. A felügyelője alatt megölt felügyelt folyamat egyszerűen újraindul, ezért a tulajdonos azonosítása fontosabb, mint a jel kiválasztása. Csak akkor küldjön jelet a folyamatcsoportnak, ha megerősítette, hogy más tunnel nem osztozik rajta.
A SIGUSR1 nem bontás; arra kéri a klienst, hogy indítsa újra a tunnelt.
systemd-példányok
Amikor egy unit birtokolja a kapcsolatot, a unit a leállítandó objektum. Az olyan sablonpéldányok, mint az openvpn-client@office, a profil nevét hordozzák, és a sabloncél leállítása a példány helyett minden kliensre hatással lehet a gazdagépen.
systemctl list-units 'openvpn-client@*'
systemctl stop [email protected]
Olvassa el az unit ExecStart sorát, ha nem biztos benne, melyik profilt töltötte be a példány.
Az engedélyezett unit a következő indításkor visszatér, ami külön döntés a mostani leállításától. Csak azután tiltsa le, hogy eldöntötte, a kapcsolatnak nem szabad visszatérnie, és rögzítse ezt a döntést ott, ahol a következő rendszergazda megtalálja.
NetworkManager-profilok
A NetworkManager által kezelt profil nem olyan folyamat, amelynek jelet küldhet. A kezelő birtokolja az életciklust, és a kezelendő objektum az aktív kapcsolat, amelyet UUID azonosít, nem pedig megjelenített név. Az aktív lista előzetes beolvasása azt is megmutatja, fut-e egy második tunnel olyan néven, amelyre nem számított.
nmcli connection show --active
nmcli connection down uuid actual-uuid
A megjelenített nevek ismétlődnek, és egy profilfájl neve nem azonosítója, ezért másolja ki az UUID-t a listából. Ha a kapcsolat azonnal visszatér, valami aktiválja: egy secondaries bejegyzés egy alapkapcsolaton, egy dispatcher-szkript vagy egy automatikus csatlakozási jelző. A kezelő kapcsolatának leállítása a helyes első lépés, és az újraaktiválás a következő kérdés. Ne törölje a profilt az újraaktiválás megállításához, mert az eltávolítja a holnap esetleg szükséges hitelesítő adatokat is.
A kezelő parancsreferenciája dokumentálja, hogyan választódik ki a down cél.
OpenVPN 3 munkamenetek
Az OpenVPN 3 Linux munkamenet-modellt használ tunnelkénti folyamat helyett. Megvizsgálja a szolgáltatás által ismert munkameneteket, majd egy munkamenet-útvonalon cselekszik. Az útvonal az azonosító, és nem cserélhető fel egy konfigurációs névvel.
openvpn3 sessions-list
openvpn3 session-manage --path /net/openvpn/v3/sessions/... --disconnect
Minden munkamenet bontása más művelet, és szándékosnak kell lennie.
Ugyanaz a gazdagép több felhasználó munkamenetét is tarthatja, ezért cselekvés előtt listázzon, és erősítse meg a befejezni kívánt munkamenet tulajdonosát.
Mit kell utána ellenőrizni
Ellenőrizzen három dolgot bármelyik leállítás után: az aktív kapcsolatok listája már nem tartalmazza a tunnelt, a felület eltűnt, és egy belső címhez tartozó útvonalkeresés már nem választ tunnel-eszközt. Ezután döntse el, mi történik a következő indításkor.
ip -brief address
ip route get 10.8.0.1
A felület kézi eltávolítása nem állítja le a tulajdonost, és félkész tisztítást hagy maga után.
A mostani bontás, a következő automatikus indítás megakadályozása és a nem VPN-forgalom utólagos engedélyezése három külön döntés. Tegye mindegyiket kifejezetté.