Mencopot klien VPN, mem-boot ulang, lalu mendapati peramban tidak bisa memuat apa pun adalah urutan yang umum di Ubuntu. Terowongannya hilang, tetapi kebijakan yang mengarahkan lalu lintas ke sana tidak, dan di Ubuntu sisa-sisa itu biasanya tinggal di NetworkManager, bukan di paketnya. Profil koneksi dan antarmuka dummy yang dibuat saat runtime bukan milik paket mana pun, jadi menghapus paket tidak menghapusnya.

Terowongannya hilang, kebijakannya tidak

Sebuah kill switch bekerja dengan membuat jaringan tidak bisa dipakai tanpa terowongan. Saat klien dihapus ketika keadaan itu aktif, tidak ada yang tersisa untuk mematikannya. Hasilnya tampak persis seperti adaptor jaringan rusak dan biasanya merupakan profil yang menahan rute.

Itu sebabnya pemasangan ulang kadang memulihkan konektivitas: ia membuat ulang proses yang tahu cara membatalkan kebijakannya sendiri. Klien yang dihapus saat sakelarnya aktif meninggalkan keadaan yang tidak ada lagi yang membersihkannya.

Baca objek yang tidak pernah dimiliki paket

Baca keadaan sebelum mengubahnya. Daftar perangkat, koneksi aktif, dan kedua tabel perutean, lalu cari perangkat dummy yang melaporkan terhubung atau rute default yang menunjuk ke salah satunya. IPv4 dan IPv6 gagal secara terpisah, jadi ping yang berhasil ke alamat dengan resolusi nama rusak menunjuk objek yang berbeda dari rute mati. Perangkat dummy yang menahan rute default menjelaskan seluruh pemadaman dengan sendirinya.

nmcli device status
nmcli connection show --active
ip -4 route
ip -6 route

Catat apa yang Anda temukan, karena perbaikannya adalah menghapus satu objek tertentu bukan mengatur ulang semuanya. Apa pun yang lebih luas berisiko pemadaman kedua. Itulah bedanya perbaikan dan tebakan.

Tabel perutean kosong dengan perangkat terhubung adalah kesalahan lain, dan itu menunjuk DHCP, bukan profil yang tersisa. Baca sewaannya sebelum menyunting apa pun.

Hapus profilnya, bukan berkas kuncinya

Hapus profil melalui NetworkManager daripada menghapus berkas kunci. Menghapus berkasnya membuat profil di memori tetap aktif sampai boot ulang berikutnya, yang membuat perbaikan yang benar tampak tidak andal. Lalu mulai ulang layanan dan baca lagi daftar perangkat. Mulai ulang itulah yang membuat penghapusan menjadi nyata.

sudo nmcli connection delete pvpn-killswitch
sudo systemctl restart NetworkManager

Jika tautan dummy bertahan, hapus juga tautan itu, lalu uji alamat dan nama secara terpisah. Perutean bersih dengan nama gagal menunjuk DNS, sedangkan alamat gagal menunjuk rute atau firewall.

Periksa kait waktu boot sebelum berulang

Sebagian sisa menginstal ulang dirinya setiap kali boot. Unit yang ditulis tangan atau skrip if-up yang menambahkan aturan firewall terus melakukannya setelah paketnya hilang, sehingga pemadaman kembali dan perbaikan sebelumnya tampak seperti keberuntungan. Telusuri berkas unit dan kait jaringan sebelum boot ulang lagi. Nama unit biasanya jadi petunjuknya.

systemctl list-unit-files | grep -i vpn
grep -rl -i vpn /etc/systemd/system /etc/network/if-up.d

Hapus atau samarkan berkas tertentu, lalu boot ulang sekali dan pastikan keadaan tanpa terowongan adalah yang Anda inginkan. Boot ulang terakhir itulah ujiannya, karena perbaikan yang hanya bertahan sampai boot berikutnya bukan perbaikan. Simpan catatannya bersama mesin setelah itu. Referensi nmcli mencakup perintah perangkat dan koneksi yang dipakai di atas.

Artikel terkait