Ubuntu залишається без інтернету після видалення програми VPN
Видалений клієнт VPN може залишити профілі NetworkManager і фіктивний інтерфейс. Ці сироти утримують маршрут за замовчуванням або політику брандмауера.
Видалити клієнт VPN, перезавантажитися і потім виявити, що браузер нічого не завантажує, — звична послідовність в Ubuntu. Тунель зник, але політика, яка спрямовувала до нього трафік, ні, і в Ubuntu ці залишки зазвичай живуть у NetworkManager, а не в пакеті. Профіль з'єднання і фіктивний інтерфейс, створені під час роботи, не належать жодному пакету, тому видалення пакета їх не видаляє.
Тунель зник, політика — ні
аварійний вимикач працює так, що без тунелю мережа стає непридатною. Коли клієнт видаляють, поки цей стан активний, не залишається нічого, що його вимкне. Результат виглядає точно як зламаний мережевий адаптер і зазвичай це профіль, що тримає маршрут.
Тому перевстановлення іноді відновлює зв'язок: воно створює заново процес, який уміє скасувати власну політику. Клієнт, видалений при активному вимикачі, залишив стан, який більше нікому прибрати.
Прочитайте об'єкти, якими пакет ніколи не володів
Прочитайте стан до того, як його змінювати. Перелічіть пристрої, активні з'єднання й обидві таблиці маршрутизації, потім пошукайте фіктивний пристрій, який повідомляє про підключення, або маршрут за замовчуванням, що вказує на нього. IPv4 і IPv6 відмовляють окремо, тому робочий ping до адреси зі зламаним розв'язанням імен указує на інший об'єкт, ніж мертвий маршрут. Фіктивний пристрій із маршрутом за замовчуванням сам пояснює весь збій.
nmcli device status
nmcli connection show --active
ip -4 route
ip -6 routeЗапишіть, що знайшли, бо виправлення — це видалити один конкретний об'єкт, а не скинути все. Будь-що ширше ризикує другим збоєм. У цьому різниця між ремонтом і здогадкою.
Порожня таблиця маршрутизації з підключеним пристроєм — інша несправність, і вона вказує на DHCP, а не на залишковий профіль. Прочитайте оренду, перш ніж щось редагувати.
Видаліть профіль, а не файл ключа
Видаліть профіль через NetworkManager, а не прибирайте файл ключа. Видалення файлу залишає профіль у пам'яті активним до наступного перезавантаження, через що правильний ремонт виглядає ненадійним. Потім перезапустіть службу і знову прочитайте список пристроїв. Саме перезапуск робить видалення справжнім.
sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManagerЯкщо фіктивний зв'язок зберігся, приберіть і його, потім перевірте адресу та ім'я окремо. Чиста маршрутизація з невдалим ім'ям указує на DNS, а невдала адреса — на маршрут або брандмауер.
Перевірте гачок завантаження, перш ніж він повториться
Деякі залишки перевстановлюють себе при кожному завантаженні. Написаний вручну unit або if-up-скрипт, що додає правила брандмауера, робить це й після зникнення пакета, тому збій повертається, а попередній ремонт виглядає як удача. Перегляньте файли unit і мережеві гачки перед наступним перезавантаженням. Ім'я unit зазвичай видає себе.
systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.dВидаліть або замаскуйте конкретний файл, потім один раз перезавантажтеся і переконайтеся, що стан без тунелю — саме те, що потрібно. Це останнє перезавантаження і є перевірка, бо виправлення, яке тримається лише до наступного завантаження, не виправлення. Після цього тримайте нотатку разом із машиною. Довідка з nmcli описує команди для пристроїв і з'єднань, використані вище.