Kedua firewall dapat memfilter lalu lintas VPN yang diteruskan, dan keduanya memasang aturan ke jalur paket dengan cara berbeda. iptables memiliki chain bawaan di dalam sebuah tabel, sehingga FORWARD ada sebagai titik hook bernama. nftables memisahkan nama chain dari tipe, hook, dan prioritasnya, yang berarti chain biasa bernama FORWARD tidak memfilter apa pun. Membandingkan kedua model menjelaskan mengapa entri yang tampak benar di satu alat tidak berpengaruh di alat lain.

Chain adalah wadah. Apakah kernel memeriksanya bergantung pada implementasi dan pada cara ruleset memasangnya.

Dua Model, Dua Pemasangan Berbeda

Di iptables, tabel filter disertai tiga chain bawaan, INPUT, FORWARD, dan OUTPUT, dan -N membuat chain yang ditentukan pengguna yang hanya berlaku bila dilompati dari salah satunya. Sebaliknya manual nftables mendefinisikan base chain, yang menyatakan tipe, hook, dan prioritasnya, serta regular chain, yang tidak. Base chain dapat memakai nama apa pun, dan regular chain bernama FORWARD tidak memperoleh sifat apa pun dari labelnya. Itulah seluruh perbedaannya, dan hal itu tidak terlihat dalam tutorial yang hanya menampilkan teks aturan.

Backend kompatibilitas menambahkan alasan kedua untuk tidak menyimpulkan perilaku dari nama perintah. Dokumentasi iptables mencatat operasi yang berbeda di bawah iptables-nft, jadi perlakukan nftables asli, iptables-nft, dan ruleset lama sebagai tiga sistem, bukan tiga ejaan dari satu sistem.

Baca Galat dalam Konteks Sebenarnya

Tabel yang hilang, kegagalan izin, fasilitas kernel yang tidak tersedia, dan chain bernama yang hilang adalah empat temuan berbeda, dan hanya satu yang menyangkut chain. Catat versi alat, famili alamat dan tabel yang diminta, namespace jaringan, dan galat tepat yang pertama. Lalu periksa komponen mana yang memiliki ruleset: layanan firewall atau gateway yang dikelola produk mungkin menghasilkan chain dan urutannya sendiri. Menambahkan chain asli di sampingnya membiarkan kebijakan terkelola tidak tersentuh dan inventaris makin membingungkan.

Namespace sebuah kontainer dapat memuat ruleset berbeda dari host, sehingga perintah yang dijalankan pada konteks yang salah tidak dapat menunjukkan chain mana yang melihat paket yang diteruskan. Menaikkan hak istimewa karena chain yang diharapkan tidak terlihat bukanlah diagnosis.

Penghitung Membuktikan Jangkauan, Bukan Putusan

Penghitung aturan memberi tahu Anda bahwa suatu aturan tercapai. Itu tidak memberi tahu bahwa aturan berikutnya mengizinkan operasi, dan tidak membuktikan setiap jalur alternatif ditolak. Bacalah selama satu alur sah yang tidak berbahaya, bersama urutan aturan dan pemasangan chain, dan perlakukan sebagai satu pengamatan, bukan putusan. Penghitung bukan nol pada aturan drop berarti lalu lintas mengenainya; itu tidak mengatakan apa pun tentang lalu lintas yang tidak mengenainya.

Penerusan IP kernel adalah pengaturan yang sepenuhnya terpisah. Adanya chain tidak mengaktifkan penerusan, dan tidak adanya label yang familier tidak berarti penerusan berhenti.

Jelaskan Alur yang Ingin Anda Lindungi

Tuliskan satu permintaan klien setelah dekapsulasi: sumbernya, tujuannya, famili alamat, dan apakah berakhir di gateway atau melewatinya. Masukan layanan lokal dan lalu lintas yang diteruskan diamati di titik berbeda, jadi keduanya memerlukan aturan dan pengujian berbeda. Untuk VPN berjembatan, verifikasi juga jalur jembatan, karena chain pada tingkat IP tidak otomatis mengawasi frame Ethernet.

Pertahankan akses pemulihan independen sebelum mengubah gateway jarak jauh. Lalu pastikan alur yang dimaksudkan dan penolakan yang diperlukan di bawah ruleset yang sama. Chain kosong baru dengan nama yang familier bukan perbaikan.

Perbandingan berakhir pada satu pertanyaan: hook mana yang benar-benar dipanggil kernel untuk paket ini? Jawab itu, dan nama chain tidak lagi penting.

Artikel terkait