Peraturan Tembok Api Lanjutan (nftables)
Beralih daripada `iptables` kepada `nftables` untuk penapisan paket dan penterjemahan alamat rangkaian yang lebih fleksibel serta berkuasa.
Peraturan Tembok Api Lanjutan (nftables) ialah pelajaran Rangkaian Linux dan TCP/IP untuk Pembangun percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Rangkaian Linux dan TCP/IP untuk Pembangun, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Rangkaian Linux dan TCP/IP untuk Pembangun merangkumi sejumlah 4 pelajaran.
Kenali nftables: Tembok Api Moden
Selamat datang ke nftables, rangka kerja penapisan paket moden untuk Linux! Ia direka bentuk supaya lebih fleksibel dan lebih mudah digunakan berbanding pendahulunya, iptables.
Walaupun iptables menggunakan alat berasingan untuk IPv4, IPv6 dan penyambungan, nftables menyediakan sintaks yang disatukan. Ini bermakna anda boleh mengurus semua peraturan tembok api dengan satu utiliti baris arahan: nft.
Menyusun dengan Keluarga, Jadual dan Rantaian
nftables menyusun peraturan dalam hierarki yang jelas:
- Keluarga: Menentukan lapisan rangkaian, contohnya
ipuntuk IPv4,ip6untuk IPv6,bridgeuntuk Lapisan 2 dannetdevuntuk Lapisan 1/2. - Jadual: Bekas untuk rantaian yang tergolong dalam keluarga tertentu. Anda boleh mempunyai berbilang jadual.
- Rantaian: Urutan peraturan yang digunakan untuk menilai paket. Rantaian boleh berupa "rantaian asas" (titik masuk untuk cangkuk kernel) atau "rantaian biasa" (dipanggil oleh rantaian lain).
Menyenaraikan Peraturan nftables Sedia Ada
Untuk melihat set peraturan nftables semasa pada sistem anda, gunakan arahan nft list ruleset. Jika anda baru bermula, set itu mungkin kosong atau mengandungi peraturan lalai.
Mari kita lihat:
nft list rulesetMenyediakan Tembok Api Pertama Anda
Sebelum menambah peraturan, kita memerlukan satu jadual dan satu rantaian. Amalan biasa ialah mencipta jadual untuk keluarga ip (IPv4) dan rantaian asas bernama input untuk trafik masuk.
Kita akan menetapkan dasar lalai rantaian ini kepada drop, bermakna sebarang paket yang tidak dibenarkan secara jelas akan dibuang. Ini ialah pendekatan selamat yang menolak semua perkara secara lalai.
#!/bin/bash
# Add an 'ip' family table named 'filter'
nft add table ip filter
# Add a base chain 'input' to the 'filter' table
# Type 'filter', hook 'input', priority 0, policy 'drop'
nft add chain ip filter input { type filter hook input priority 0 \; policy drop \; }
nft list rulesetMembenarkan Trafik Masuk Asas
Memandangkan rantaian input kita menggugurkan segala-galanya secara lalai, kita perlu menambah peraturan untuk membenarkan trafik yang diperlukan. Langkah awal yang biasa ialah membenarkan sambungan SSH masuk (port 22) supaya anda boleh mengurus pelayan dari jauh.
Kita juga akan membenarkan sambungan yang telah diwujudkan dan yang berkaitan bagi memastikan komunikasi berterusan berfungsi, yang penting untuk kebanyakan interaksi rangkaian.
#!/bin/bash
# Allow established and related connections
nft add rule ip filter input ct state established,related accept
# Allow inbound SSH traffic (TCP port 22)
nft add rule ip filter input tcp dport 22 accept
nft list rulesetMendayakan Sambungan Keluar
Kebanyakan sistem perlu memulakan sambungan keluar, contohnya untuk mendapatkan kemas kini atau melayari web. Biasanya kita mencipta rantaian asas output.
Untuk memudahkan penerangan, mari kita cipta rantaian output dan benarkan semua trafik IPv4 keluar. Dalam persekitaran pengeluaran, anda mungkin mahu mengehadkannya dengan lebih ketat.
#!/bin/bash
# Add a base chain 'output' to the 'filter' table
# Type 'filter', hook 'output', priority 0, policy 'accept'
nft add chain ip filter output { type filter hook output priority 0 \; policy accept \; }
nft list rulesetNAT Sumber (SNAT) dengan nftables
Terjemahan Alamat Rangkaian (NAT) membolehkan berbilang peranti dalam rangkaian peribadi berkongsi satu alamat IP awam. NAT Sumber (SNAT) menukar IP sumber paket keluar.
Ini biasanya digunakan pada penghala untuk membolehkan klien dalaman mengakses internet. Di sini, kita menyediakan peraturan SNAT asas untuk trafik yang keluar melalui eth0, dengan menyamarkannya menggunakan IP awam eth0.
#!/bin/bash
# Add an 'ip' family table named 'nat'
nft add table ip nat
# Add a base chain 'postrouting' to the 'nat' table
# Type 'nat', hook 'postrouting', priority 100
nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
# Add a rule to masquerade (SNAT) traffic leaving 'eth0'
nft add rule ip nat postrouting oifname "eth0" masquerade
nft list rulesetNAT Destinasi (DNAT) dengan nftables
NAT Destinasi (DNAT), yang juga dikenali sebagai pemajuan port, menukar alamat IP dan/atau port destinasi paket masuk. Ini membolehkan pengguna luaran mengakses perkhidmatan pada pelayan dalaman.
Contohnya, anda mungkin memajukan port luaran 80 kepada pelayan web dalaman di 192.168.1.5 pada port 80. Peraturan ini akan diletakkan dalam rantaian prerouting.
#!/bin/bash
# Add a base chain 'prerouting' to the 'nat' table
# Type 'nat', hook 'prerouting', priority -100
nft add chain ip nat prerouting { type nat hook prerouting priority -100 \; }
# Forward external TCP port 80 to internal server 192.168.1.5:80
nft add rule ip nat prerouting tcp dport 80 dnat to 192.168.1.5:80
nft list rulesetMenyimpan Konfigurasi Tembok Api Anda
Peraturan yang ditambah dengan nft secara langsung pada baris arahan adalah sementara dan akan hilang selepas but semula. Untuk menjadikannya kekal, anda perlu menyimpannya dalam fail konfigurasi.
Cara standard ialah menyimpan set peraturan semasa ke /etc/nftables.conf dan memastikan perkhidmatan nftables didayakan untuk memuatkannya semasa but. Anda kemudian boleh memulihkannya dengan nft -f /etc/nftables.conf.
#!/bin/bash
# Save the current ruleset to the default configuration file
nft list ruleset > /etc/nftables.conf
echo "Configuration saved to /etc/nftables.conf"
# On a real system, you'd typically also enable the service:
# sudo systemctl enable nftables
# sudo systemctl start nftablesUji Pengetahuan nftables Anda
Anda telah mempelajari struktur dan peraturan asas nftables. Mari uji pemahaman anda.
nftables: Tembok Api Moden
Syabas! Anda telah mengambil langkah pertama dengan nftables, pengganti iptables yang berkuasa dan fleksibel.
- Anda telah mempelajari struktur disatukannya yang menggunakan keluarga, jadual dan rantaian.
- Anda telah berlatih menambah peraturan penapisan asas untuk trafik masuk dan keluar.
- Anda telah meneroka cara mengkonfigurasi NAT Sumber (SNAT) dan NAT Destinasi (DNAT).
- Akhir sekali, anda telah memahami cara menyimpan peraturan supaya kekal selepas but semula.
Teruskan bereksperimen dengan nftables untuk melindungi dan mengurus rangkaian Linux anda!
Pelajari Rangkaian Linux dan TCP/IP untuk Pembangun dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Peraturan Tembok Api Lanjutan (nftables)” percuma?
Ya — teks penuh “Peraturan Tembok Api Lanjutan (nftables)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Rangkaian Linux dan TCP/IP untuk Pembangun, tingkat taraf kepada CoddyKit PRO. Kursus Rangkaian Linux dan TCP/IP untuk Pembangun merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Peraturan Tembok Api Lanjutan (nftables)”?
Beralih daripada `iptables` kepada `nftables` untuk penapisan paket dan penterjemahan alamat rangkaian yang lebih fleksibel serta berkuasa. Anda berlatih Rangkaian Linux dan TCP/IP untuk Pembangun menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Rangkaian Linux dan TCP/IP untuk Pembangun?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Rangkaian Linux dan TCP/IP untuk Pembangun di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Peraturan Tembok Api Lanjutan (nftables)” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Rangkaian Linux dan TCP/IP untuk Pembangun ini?
Ya. Setiap pelajaran Rangkaian Linux dan TCP/IP untuk Pembangun menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Peraturan Tembok Api Lanjutan (nftables)
- Konsep dan Konfigurasi VPN
- Pengesanan Pencerobohan Rangkaian (IDS)
- Pengerasan SSH dan Pengesahan Berasaskan Kunci