Memahami Linux nftables Perintah #
. nftables command ialah alat firewall Linux yang berkuasa yang menggantikan iptables, ip6tables, arptables, dan ebtables. Dengan sintaks bersatu, nftables memudahkan penapisan paket rangkaian, NAT dan konfigurasi rangkaian lanjutan lain. Perintah berfungsi dengan nft utiliti, yang berkomunikasi dengan subsistem penapis bersih kernel untuk mengurus peraturan rangkaian.
Sintaks dan Struktur Asas bagi nft Perintah #
. nft perintah secara amnya mengikuti struktur ini:
nft [OPTIONS] COMMAND
- PILIHAN: Bendera seperti
-a(tunjukkan pemegang peraturan) atau-j(output dalam format JSON). - COMMAND: Tindakan khusus, seperti
add,delete,list, Atauflush, digunakan untuk mengurus jadual, rantai atau peraturan.
nft Jadual Cheatsheet Perintah #
| Perintah | Penerangan Produk |
nft list tables |
Senaraikan semua jadual |
nft add table inet filter |
Buat jadual baharu bernama filter dalam inet keluarga |
nft delete table inet filter |
Memadam filter meja dalam inet keluarga |
nft list ruleset |
Senaraikan semua jadual, rantai dan peraturan dalam format yang boleh dibaca manusia |
nft flush ruleset |
Padamkan semua jadual, rantai dan peraturan (siram keseluruhan set peraturan) |
nft add chain inet filter input { type filter hook input priority 0; } |
Tambah input rantai ke filter meja dengan input cangkuk |
nft add rule inet filter input tcp dport 22 accept |
Terima trafik SSH masuk pada port 22 |
nft delete rule inet filter input handle <handle_number> |
Padamkan peraturan dalam input rantai dengan menyatakan pemegang peraturan |
nft add rule inet filter forward counter |
Tambahkan peraturan balas pada forward rantai untuk memantau lalu lintas |
Menambah dan Mengurus Jadual #
In nftables, meja ialah bekas untuk rantai dan peraturan. Berikut ialah cara untuk mencipta dan mengurusnya:
Buat Jadual #
nft add table inet my_table
Perintah ini mencipta jadual baharu bernama my_table di dalam inet keluarga, yang menyokong kedua-dua IPv4 dan IPv6.
Padamkan Jadual #
nft delete table inet my_table
Memadamkan my_table daripada inet keluarga.
Rantai masuk nftables #
Rantaian ialah urutan peraturan yang menentukan cara paket dikendalikan. Setiap rantai mempunyai yang khusus hook, yang menentukan peringkat penapisan paket (cth, input, output, Atau forward).
Buat Rantaian #
nft add chain inet my_table my_chain { type filter hook input priority 0; }
Ini mewujudkan satu input rantai masuk my_table untuk menapis paket dengan keutamaan 0.
Padamkan Rantaian #
nft delete chain inet my_table my_chain
Mengeluarkan my_chain yang diadakan pada my_table.
Peraturan dalam nftables #
Peraturan menentukan tindakan untuk paket yang sepadan dengan syarat tertentu. Di bawah ialah contoh menambah, menyenaraikan dan memadam peraturan.
Menambah Peraturan #
nft add rule inet my_table my_chain tcp dport 80 accept
Peraturan ini membenarkan trafik pada port TCP 80 (HTTP).
Peraturan Penyenaraian #
nft list chain inet my_table my_chain
Memaparkan semua peraturan dalam my_chain.
Memadamkan Peraturan #
nft delete rule inet my_table my_chain handle <handle_number>
Mengalih keluar peraturan dengan menyatakan nombor pemegangnya, yang boleh ditunjukkan oleh nft list chain inet my_table my_chain -a.
Contoh nftables Konfigurasi: Persediaan Dinding Api Asas #
Berikut ialah konfigurasi tembok api asas yang membenarkan SSH dan HTTP/HTTPS masuk, sambil menyekat semua trafik lain:
nft tambah jadual penapis inet nft tambah rantai input penapis inet { taip penapis cangkuk keutamaan input 0\; kejatuhan dasar\; } nft tambah peraturan input penapis inet tcp dport 22 terima # Benarkan SSH nft tambah peraturan input penapis inet tcp dport 80 terima # Benarkan HTTP nft tambah peraturan input penapis inet tcp dport 443 terima # Benarkan HTTPS nft tambah peraturan input penapis inet ct keadaan ditubuhkan, berkaitan terima # Benarkan sambungan yang telah ditetapkan
Lanjutan: Peraturan Stateful dengan Penjejakan Sambungan #
nftables mempunyai sokongan terbina dalam untuk penjejakan sambungan, membolehkan anda mengurus peraturan stateful.
Contoh: Benarkan Sambungan Berkaitan dan Diwujudkan #
nft add rule inet filter input ct state established,related accept
Ini membenarkan paket daripada sambungan yang telah diwujudkan atau berkaitan dengan yang sedia ada, membantu mengurangkan pemprosesan semula yang tidak perlu bagi sambungan yang dibenarkan sebelum ini.
Ringkasan #
. nftables command ialah alat moden dan serba boleh untuk penapisan paket rangkaian, menyediakan sintaks bersatu dan pilihan fleksibel untuk mengurus peraturan firewall. Dengan nftables, anda boleh mencipta konfigurasi tembok api yang cekap dan boleh diselenggara sesuai untuk kedua-dua tetapan mudah dan persekitaran perusahaan yang kompleks.