Klien mencoba menyambung ulang dan tidak ada yang keluar dari mesin, padahal profil yang sama berfungsi pekan lalu. Nama host endpoint kini diresolusi ke alamat berbeda, dan pengecualian keluar masih menyebut yang lama. Satu izin basi itu sudah cukup untuk mengubah kill switch yang berfungsi menjadi gangguan total, dan itu tak terlihat di setiap indikator status yang ditampilkan desktop. Perbaikannya adalah alur kerja kecil, bukan suntingan satu baris.

Tunnel tersambung ulang, lalu tidak ada yang keluar

Aturan keluar yang menyebut alamat tujuan adalah cuplikan, sedangkan jawaban DNS bukan. Saat penyedia merotasi alamat, paket yang dikirim klien menuju peer baru tidak cocok dengan apa pun dan dijatuhkan oleh penolakan bawaan. Klien lalu melaporkan timeout, yang terdengar seperti masalah server alih-alih masalah firewall.

Menyematkan alamat apa pun yang dikembalikan pencarian publik membuat hari ini berfungsi dan besok rusak. Itu suntingan sekali jalan, bukan kebijakan pemeliharaan.

Jelaskan pengecualian yang benar-benar Anda maksud

Mulailah dengan menuliskan empat nilai yang dibutuhkan aturan: nama atau kumpulan alamat endpoint yang disetujui, transport, port tujuan, dan antarmuka tempat paket keluar. Keempatnya bagian dari izin, dan salah satunya bisa salah sementara aturan masih tampak masuk akal. Aturan yang benar pada tiga di antaranya gagal persis sama seperti aturan yang salah pada keempatnya. Tuliskan sebelum mengetik perintah, karena aturan hanya sebaik deskripsi di baliknya.

Perintah di bawah menunjukkan bentuk untuk satu endpoint IPv4 UDP pada uplink kabel. Ganti kedua nilai dengan yang sudah Anda verifikasi terhadap penerapan.

sudo ufw allow out on enp3s0 proto udp to 192.0.2.44 port 1194
sudo ufw status verbose

Izin itu tidak mengizinkan tujuan sembarangan pada port yang sama, tidak membuat pendengar, dan tidak mencakup TCP. Halaman manual UFW menjelaskan bagaimana alamat, antarmuka, dan protokol mempersempit aturan, dan penyempitan itulah intinya.

Segarkan sebagai satu alur kerja

Perlakukan pengecualian sebagai sumber daya dengan pemilik dan transisi, bukan sebagai perintah yang diingat seseorang untuk dijalankan. Pertama dapatkan kandidat dari resolver dan inventaris endpoint milik penerapan itu sendiri, lalu tetapkan dengan sengaja bagaimana nama itu diresolusi sebelum tunnel ada. Setelah itu validasi kandidat terhadap protokol, port, dan keluarga alamat yang dimaksud sebelum menyentuh kumpulan aturan.

Pasang izin sempit yang baru lebih dulu dan pastikan izin itu termuat, karena meminta klien memakai alamat yang masih diblokir firewall menghasilkan kegagalan yang tampak seperti kesalahan server. Biarkan aturan tak terkait tidak tersentuh selama perubahan.

Amati transisi klien melalui jalur sambung ulang yang didukung dan pastikan alamat jarak jauh mana yang dipilihnya. Memperbarui DNS saja tidak memindahkan socket yang sudah ada, dan pengaturan persistensi endpoint bisa menahan klien pada peer lama jauh setelah catatan berubah.

Terakhir, pensiunkan izin usang itu dengan sengaja, dengan membiarkan jendela tumpang tindih yang disetujui selama sesi lama masih aktif. Menghapus entri lama terlalu dini menghasilkan gangguan singkat; membiarkannya selamanya meninggalkan izin yang tak bisa dijelaskan siapa pun.

Pensiunkan izin lama dengan sengaja

Penghapusan adalah tempat sebagian besar risiko berada, karena aturan lama satu-satunya yang berfungsi saat ini. Jika pemasangan kandidat gagal, jangan lanjutkan dan hapus entri yang masih membawa lalu lintas. Jika penghapusan itu sendiri gagal, catat izin usang sebagai usang alih-alih menyatakan kebijakan sudah terkini.

Ulangi seluruh tinjauan saat uplink berubah dari Ethernet ke Wi-Fi, saat transport berubah, atau saat layanan berotasi di beberapa alamat. Aturan khusus antarmuka seharusnya berhenti cocok setelah perubahan jaringan, dan perilaku itu benar meski tampak seperti regresi.

Buktikan kontraknya setelahnya dengan lalu lintas yang tidak berbahaya. Endpoint yang disetujui harus dapat dijangkau selama penyiapan, aplikasi yang dilindungi harus berfungsi setelah tersambung, dan lalu lintas langsung yang tak terkait harus tetap diblokir selama gangguan. Sertakan kedua keluarga alamat dan satu percobaan pembaruan yang sengaja gagal, karena koneksi yang berhasil setelah satu suntingan alamat tersemat tidak membuktikan satu pun kasus itu.

Artikel terkait