Осиротевший интерфейс TUN: найдите владельца, прежде чем удалять
Интерфейс TUN, остающийся после обрыва туннеля, может быть постоянным по замыслу. Найдите владельца, а затем удалите интерфейс через службу, которая им управляет.
Ваш интерфейс TUN всё ещё в списке, туннель не пропускает трафик, и очевидное решение выглядит как удаление канала. Именно здесь небольшие чистки превращаются в простои. Интерфейс может быть постоянным по замыслу, принадлежать службе, которая создаст его заново, или скрываться в пространстве имён, где то же имя означает другое. Его наличие не доказывает, что он осиротел.
Удалить именованный интерфейс просто. Понять, что от него зависит, — настоящая задача.
Миф: интерфейс остался, потому что туннель отключён
Постоянное устройство TUN существует независимо от подключённого сеанса. В этом смысл постоянного флага: устройство остаётся, чтобы следующее соединение могло его повторно использовать. Трафик не идёт, и ничего не сломано.
Интерфейс может принадлежать службе, находящейся между перезапусками, или клиенту, чей профиль простаивает. Проверьте процесс-владелец и конфигурацию, прежде чем решать, что он заброшен. Список процессов и конфигурация, которая его запускает, — более сильное доказательство, чем отсутствующий туннель.
Запишите пространство имён вместе с именем. В другом пространстве имён может быть интерфейс с тем же именем, и они не связаны. Используйте флаг пространства имён, когда нужно проверить другое.
Миф: удаление канала всё прибирает
Удаление канала убирает адреса и маршруты, привязанные к нему. Оно не убирает правила политики, правила межсетевого экрана, настройки резолвера или вспомогательные скрипты, которые на него ссылались. Они могут сохраниться и указывать на устройство, которого больше нет.
Если служба всё ещё настроена, она может создать интерфейс заново при следующем запуске или переподключении. Тогда вы удалили работающий ресурс и оставили исходную проблему жизненного цикла на месте. Меняйте конфигурацию, а не только состояние выполнения.
Чистка, которая заканчивается возвратом интерфейса и дублированием правил, хуже, чем никакая чистка.
Найдите владельца, прежде чем трогать
Начните с ip link show и инструментов проверки TUN/TAP, чтобы получить интерфейс, его адреса и маршруты. Проверьте клиента, службу или сетевой менеджер, который может им владеть. Убедитесь, постоянно ли устройство и какой режим использует. Затем решите, зависит ли от него ещё кто-нибудь.
Для подтверждённого неиспользуемого постоянного интерфейса ip tuntap описывает удаление с учётом режима. Сверьте фактическое имя и режим устройства и не запускайте широкую чистку против каждого туннеля на хосте.
Сохраняйте доступ для восстановления и маршруты других клиентов нетронутыми во время работы. Запишите использованную команду, чтобы следующую проверку можно было повторить точно.
Удалите его через владельца, а затем проверьте, что осталось
Сначала остановите или удалите поддерживаемую конфигурацию подключения, чтобы служба не создала заново то, что вы удаляете. Затем удалите устройство. После этого проверьте устаревшие адреса, маршруты и состояние резолвера у их собственных владельцев.
Если проблема возвращается при переподключении, исправьте конфигурацию жизненного цикла вместо повторения ручного удаления. Запись о чистке, где назван осиротевший интерфейс, почему он не использовался и какой компонент должен управлять заменой, избавит следующего человека от путаницы законного постоянного интерфейса с неисправностью.