Osierocony interfejs TUN: znajdź właściciela, zanim go usuniesz
Interfejs TUN, który zostaje po zerwaniu tunelu, może być trwały z założenia. Znajdź właściciela, a następnie usuń go przez usługę, która nim zarządza.
Twój interfejs TUN nadal jest na liście, tunel nie przepuszcza ruchu, a oczywiste rozwiązanie wygląda jak usunięcie łącza. Wtedy małe porządki zamieniają się w awarie. Interfejs może być trwały z założenia, należeć do usługi, która go odtworzy, albo ukrywać się w przestrzeni nazw, gdzie ta sama nazwa znaczy coś innego. Jego istnienie nie jest dowodem, że jest osierocony.
Usunięcie nazwanego interfejsu jest łatwe. Wiedza, co od niego zależy, to prawdziwe zadanie.
Mit: interfejs został, bo tunel jest wyłączony
Trwałe urządzenie TUN istnieje niezależnie od połączonej sesji. Taki jest sens trwałej flagi: urządzenie zostaje, aby następne połączenie mogło je ponownie wykorzystać. Ruch nie płynie i nic nie jest zepsute.
Interfejs może też należeć do usługi, która jest między restartami, lub do klienta, którego profil jest bezczynny. Sprawdź proces właściciela i konfigurację, zanim uznasz, że został porzucony. Lista procesów i konfiguracja, która go uruchamia, są mocniejszym dowodem niż brakujący tunel.
Zapisz przestrzeń nazw razem z nazwą. Inna przestrzeń nazw może zawierać interfejs o tej samej nazwie, a oba nie mają ze sobą związku. Użyj flagi przestrzeni nazw, gdy musisz sprawdzić inną.
Mit: usunięcie łącza wszystko porządkuje
Usunięcie łącza usuwa przypisane do niego adresy i trasy. Nie usuwa reguł polityki, reguł zapory, ustawień resolvera ani skryptów pomocniczych, które się do niego odwoływały. Mogą one przetrwać i wskazywać na urządzenie, którego już nie ma.
Jeśli usługa jest nadal skonfigurowana, może odtworzyć interfejs przy następnym starcie lub ponownym połączeniu. Wtedy usunąłeś działający zasób i pozostawiłeś pierwotny problem cyklu życia na miejscu. Zmień konfigurację, nie tylko stan działania.
Porządki, które kończą się powrotem interfejsu i zdublowanymi regułami, są gorsze niż żadne porządki.
Znajdź właściciela, zanim go dotkniesz
Zacznij od ip link show i narzędzi inspekcji TUN/TAP, aby uzyskać interfejs, jego adresy i trasy. Sprawdź klienta, usługę lub menedżera sieci, który może go posiadać. Potwierdź, czy urządzenie jest trwałe i jakiego trybu używa. Następnie zdecyduj, czy ktoś jeszcze od niego zależy.
Dla potwierdzonego nieużywanego trwałego interfejsu, ip tuntap dokumentuje usuwanie zależne od trybu. Dopasuj rzeczywistą nazwę i tryb urządzenia i nie uruchamiaj szerokich porządków wobec każdego tunelu na hoście.
Podczas pracy zachowaj nienaruszony dostęp odzyskiwania i trasy innych klientów. Zapisz użyte polecenie, aby następne sprawdzenie można było dokładnie powtórzyć.
Usuń go przez właściciela, a następnie sprawdź, co zostało
Najpierw zatrzymaj lub usuń obsługiwaną konfigurację połączenia, aby usługa nie odtworzyła tego, co usuwasz. Następnie usuń urządzenie. Potem sprawdź nieaktualne adresy, trasy i stan resolvera pod ich własnymi właścicielami.
Jeśli problem wraca przy ponownym połączeniu, napraw konfigurację cyklu życia zamiast powtarzać ręczne usuwanie. Zapis porządków, który nazywa sierotę, wyjaśnia, dlaczego była nieużywana i który składnik powinien zarządzać zamianą, oszczędza następnej osobie pomylenia legalnego trwałego interfejsu z usterką.