Осиротілий інтерфейс TUN: знайдіть власника, перш ніж видаляти
Інтерфейс TUN, що залишається після обриву тунелю, може бути постійним за задумом. Знайдіть власника, а потім видаліть інтерфейс через службу, яка ним керує.
Ваш інтерфейс TUN досі в списку, тунель не пропускає трафік, і очевидне рішення виглядає як видалення каналу. Саме тут невеликі прибирання перетворюються на простої. Інтерфейс може бути постійним за задумом, належати службі, яка створить його знову, або ховатися в просторі імен, де те саме ім'я означає інше. Його наявність не доводить, що він осиротів.
Видалити іменований інтерфейс просто. Зрозуміти, що від нього залежить, — справжнє завдання.
Міф: інтерфейс залишився, бо тунель вимкнено
Постійний пристрій TUN існує незалежно від підключеного сеансу. У цьому сенс постійного прапорця: пристрій залишається, щоб наступне з'єднання могло використати його повторно. Трафік не йде, і нічого не зламано.
Інтерфейс може належати службі, що перебуває між перезапусками, або клієнту, чий профіль простоює. Перевірте процес-власник і конфігурацію, перш ніж вирішити, що він покинутий. Список процесів і конфігурація, яка його запускає, — сильніший доказ, ніж відсутній тунель.
Запишіть простір імен разом з іменем. В іншому просторі імен може бути інтерфейс з тим самим іменем, і вони не пов'язані. Використовуйте прапорець простору імен, коли потрібно перевірити інший.
Міф: видалення каналу прибирає все
Видалення каналу прибирає адреси й маршрути, прив'язані до нього. Воно не прибирає правила політики, правила міжмережевого екрана, налаштування резолвера або допоміжні скрипти, які на нього посилалися. Вони можуть зберегтися й указувати на пристрій, якого більше немає.
Якщо служба все ще налаштована, вона може створити інтерфейс знову під час наступного запуску або перепідключення. Тоді ви видалили робочий ресурс і залишили початкову проблему життєвого циклу на місці. Змінюйте конфігурацію, а не лише стан виконання.
Прибирання, яке закінчується поверненням інтерфейсу й дублюванням правил, гірше за жодне прибирання.
Знайдіть власника, перш ніж торкатися
Почніть з ip link show та інструментів перевірки TUN/TAP, щоб отримати інтерфейс, його адреси й маршрути. Перевірте клієнта, службу або мережевий менеджер, який може ним володіти. Підтвердьте, чи пристрій постійний і який режим використовує. Потім вирішіть, чи хтось ще від нього залежить.
Для підтвердженого невикористовуваного постійного інтерфейсу ip tuntap описує видалення з урахуванням режиму. Звірте фактичне ім'я та режим пристрою і не запускайте широке прибирання проти кожного тунелю на хості.
Під час роботи зберігайте доступ для відновлення й маршрути інших клієнтів недоторканими. Запишіть використану команду, щоб наступну перевірку можна було точно повторити.
Видаліть його через власника, а потім перевірте, що залишилося
Спершу зупиніть або видаліть підтримувану конфігурацію з'єднання, щоб служба не створила знову те, що ви видаляєте. Потім видаліть пристрій. Після цього перевірте застарілі адреси, маршрути й стан резолвера під їхніми власними власниками.
Якщо проблема повертається під час перепідключення, виправте конфігурацію життєвого циклу замість повторення ручного видалення. Запис про прибирання, де названо осиротілий інтерфейс, чому він не використовувався і який компонент має керувати заміною, позбавить наступну людину плутанини законного постійного інтерфейсу з несправністю.