Penerangan terperinci firewall-iptables Linux
Pengenalan projek
iptables ialah perisian tembok api penapisan paket percuma di bawah sistem Linux, yang boleh merealisasikan penapisan paket, pengalihan semula paket dan terjemahan alamat rangkaian dan fungsi lain. Ia adalah penyelesaian yang cekap dan fleksibel yang menggantikan tembok api komersial yang mahal. iptables mempunyai pilihan konfigurasi dan tetapan peraturan yang berkuasa, membolehkan pengguna mengawal trafik rangkaian dengan teliti mengikut keperluan mereka sendiri dan meningkatkan keselamatan dan prestasi rangkaian.
Peraturan iptables sebenarnya merujuk kepada syarat yang dipratakrifkan oleh pentadbir rangkaian Peraturan biasanya ditakrifkan sebagai "Jika pengepala paket data memenuhi syarat sedemikian, proses paket data dengan cara ini." Peraturan disimpan dalam jadual penapisan paket dalam ruang kernel Peraturan ini menentukan alamat sumber, alamat destinasi, protokol penghantaran (seperti TCP, UDP, ICMP) dan jenis perkhidmatan (seperti HTTP, FTP dan SMTP). Apabila paket data sepadan dengan peraturan, iptables memproses paket data ini mengikut kaedah yang ditakrifkan oleh peraturan, seperti terima, tolak, lepas, dsb. Tugas utama mengkonfigurasi tembok api adalah untuk menambah, mengubah suai dan memadam peraturan ini.
iptables mempunyai 4 jadual terbina dalam, iaitu jadual penapis, jadual nat, jadual mangle dan jadual mentah, yang digunakan untuk melaksanakan penapisan paket, terjemahan alamat rangkaian, pembinaan semula paket (pengubahsuaian) dan pemprosesan pengesanan data masing-masing. Setiap rantaian sebenarnya hanyalah senarai semak antara banyak peraturan Setiap rantaian boleh mempunyai satu atau beberapa peraturan. Apabila paket tiba di rantai, iptables akan menyemak bermula dari peraturan pertama dalam rantai untuk melihat sama ada paket itu memenuhi syarat yang ditentukan oleh peraturan. Jika berpuas hati, sistem akan memproses paket mengikut kaedah yang ditakrifkan oleh peraturan jika tidak iptables akan terus menyemak peraturan seterusnya. Jika paket tidak mematuhi sebarang peraturan dalam rantaian, iptables akan memproses paket mengikut dasar lalai yang dipratakrifkan bagi rantaian.
Secara keseluruhan, iptables ialah alat yang berkuasa untuk mengkonfigurasi fungsi terjemahan firewall dan alamat rangkaian pada sistem Linux.
Ganti tembok api sistem: Alat pengurusan tembok api lalai dalam sistem Centos7 bukan iptables Apabila anda perlu menggunakannya, anda perlu memasang dan menggantikannya sendiri.
[root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl disable firewalld [root@localhost ~]# yum install -y iptables iptables-services [root@localhost ~]# systemctl restart iptables [root@localhost ~]# systemctl enable iptables
Soal peraturan firewall yang lengkap: Gunakan parameter -L -n –line-numbers untuk melihat peraturan konfigurasi lalai firewall.
[root@localhost ~]# iptables -L -n --line-numbers [root@localhost ~]# iptables -F # 临时清空规则 Chain INPUT (policy ACCEPT) numtarget prot opt source destination 1ACCEPT all--0.0.0.0/00.0.0.0/0state RELATED,ESTABLISHED 2ACCEPT icmp --0.0.0.0/00.0.0.0/0 3ACCEPT all--0.0.0.0/00.0.0.0/0 4ACCEPT tcp--0.0.0.0/00.0.0.0/0state NEW tcp dpt:22 5REJECT all--0.0.0.0/00.0.0.0/0reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) numtarget prot opt source destination 1REJECT all--0.0.0.0/00.0.0.0/0reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) numtarget prot opt source destination
Tetapkan tembok api untuk menafikan secara lalai: Tetapkan peraturan penafian lalai dan tetapkan rantaian INPUT untuk menafikan secara lalai, yang bermaksud menolak semua permintaan sambungan.
[root@localhost ~]# iptables -P INPUT DROP [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) #这里可以看出INPUT链已变成DROP numtarget prot opt source destination Chain FORWARD (policy ACCEPT) numtarget prot opt source destination Chain OUTPUT (policy ACCEPT) numtarget prot opt source destination
Dayakan gema ICMP firewall: Apabila peraturan lalai menafikannya, tetapkannya untuk mendayakan ujian ICMP dan benarkan hos melakukan ping.
[root@localhost ~]# iptables -I INPUT -p icmp -j ACCEPT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1ACCEPT icmp --0.0.0.0/00.0.0.0/0 Chain FORWARD (policy ACCEPT) numtarget prot opt source destination Chain OUTPUT (policy ACCEPT) numtarget prot opt source destination
Benarkan pelanggan menyambung melalui SSH dari jauh: Jika berlaku penafian secara lalai, tetapkan port 22 untuk dibuka untuk membenarkan sambungan SSH jauh ke mesin.
[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -j ACCEPT [root@localhost ~]# iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy ACCEPT) numtarget prot opt source destination 1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22 Chain OUTPUT (policy ACCEPT) numtarget prot opt source destination 1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp spt:22
Padamkan peraturan yang ditentukan: Dalam kes penolakan secara lalai, padamkan rantai INPUT, data kedua dan padamkan peraturan ICMP.
[root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22 2ACCEPT icmp --0.0.0.0/00.0.0.0/0 [root@localhost ~]# iptables -D INPUT 2 [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1ACCEPT tcp--0.0.0.0/00.0.0.0/0tcp dpt:22
Nyatakan akses segmen rangkaian yang dibenarkan: Dalam kes penafian secara lalai, sediakan untuk hanya membenarkan hos dalam segmen rangkaian 192.168.1.0/24 mengakses port 22 mesin.
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT [root@localhost ~]# iptables -I OUTPUT -s 192.168.1.0/24 -p tcp --sport 22 -j ACCEPT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22 Chain OUTPUT (policy ACCEPT) numtarget prot opt source destination 1ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp spt:22
Tolak akses kepada port yang ditentukan: Dalam rantai peraturan INPUT, tambahkan port 8888 yang menafikan akses semua orang kepada mesin.
[root@localhost ~]# iptables -I INPUT -p tcp --dport 8888 -j REJECT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable 2ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22
Tolak akses kepada port segmen rangkaian hos yang ditentukan: Dalam rantai peraturan INPUT, tambah hos 192.168.1.20 untuk menafikan akses kepada port tempatan 80.
[root@localhost ~]# iptables -I INPUT -p tcp -s 192.168.1.20 --dport 80 -j REJECT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1REJECT tcp--192.168.1.20 0.0.0.0/0tcp dpt:80 reject-with icmp-port-unreachable 2REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable 3ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22
Tolak akses kepada julat port yang ditentukan: Dalam rantaian peraturan INPUT, tambah untuk menafikan akses semua hos ke port tempatan
[root@localhost ~]# iptables -A INPUT -p tcp --dport 1000:2000 -j REJECT [root@localhost ~]# iptables -A INPUT -p udp --dport 1000:2000 -j REJECT [root@localhost ~]# iptables -L -n --line-numbers Chain INPUT (policy DROP) numtarget prot opt source destination 1REJECT tcp--192.168.1.20 0.0.0.0/0tcp dpt:80 reject-with icmp-port-unreachable 2REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpt:8888 reject-with icmp-port-unreachable 3ACCEPT tcp--192.168.1.0/24 0.0.0.0/0tcp dpt:22 4REJECT tcp--0.0.0.0/00.0.0.0/0tcp dpts:1000:2000 reject-with icmp-port-unreachable 5REJECT udp--0.0.0.0/00.0.0.0/0udp dpts:1000:2000 reject-with icmp-port-unreachable
SNAT - Terjemahan alamat sumber #例:将本地 192.168.1.1 的请求自动伪装成外网地址 59.110.167.234
[root@localhost ~]# iptables -t nat -A POSTROUTING -o ens32 -s 192.168.1.1 -j SNAT --to-source 59.110.167.234
-o#指定外网接口,此处为ens32
-s#指定内网口地址,此处为192.168.1.1
--to-source #外网口的地址
#例:将请求 59.110.167.234 且端口为 80 的数据包,自动映射到内网 192.168.1.10 [root@localhost ~]# iptables -t nat -A PREROUTING -i ens32 -d 59.110.167.234 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10 --to-destination #内网口地址,此处为192.168.1.1 -i #绑定外网接口,此处为ens32 -d #外网地址,此处为8.8.8.8 -dport #内网端口,此处为80
# 限制同一IP同时最多100个http连接 [root@localhost ~]# iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT [root@localhost ~]# iptables -I INPUT -p tcp --syn --dport 80 -m connlimit ! --connlimit-above 100 -j ACCEPT # 只允许每组C类IP同时100个http连接 [root@localhost ~]# iptables -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 --connlimit-mask 24 -j REJECT # 只允许每个IP同时5个80端口转发,超过的丢弃 [root@localhost ~]# iptables -I FORWARD -p tcp --syn --dport 80 -m connlimit --connlimit-above 5 -j DROP # 限制某IP最多同时100个http连接 [root@localhost ~]# iptables -A INPUT -s 192.168.1.100 -p tcp --syn --dport 80 -m connlimit --connlimit-above 100 -j REJECT # 限制每IP在一定的时间(比如60秒)内允许新建立最多100个http连接数 [root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 100 -j REJECT [root@localhost ~]# iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT
# 删除已有规则 iptables --delete-chain iptables --flush # 默认禁止进,允许出,允许回环网卡 iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT iptables -A INPUT -i lo -j ACCEPT # 允许已建立的或相关连接的通行 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # 限制80端口443端口的单个IP的最大连接数为10 iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP iptables -I INPUT -p tcp --dport 443 -m connlimit --connlimit-above 10 -j DROP # 允许80(HTTP)/873(RSYNC)/443(HTTPS)/20,21(FTP)/25(SMTP)端口的连接 iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT # 允许SSH端口的连接,放行SSH端口 iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT # 允许ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT iptables -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT # 放行允许DNS解析端口 iptables -A OUTPUT -p udp -m udp -d 8.8.8.8 --dport 53 -j ACCEPT iptables -A OUTPUT -p udp -m udp -d 114.114.114.114 --dport 53 -j ACCEPT # 保存规则 iptables-save
filter -P INPUT DROP #设置默认规则,拒绝所有 iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT#放行80口 iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT #放行22口 iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT#放行22口 iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT#放行80端口 iptables -t filter -I INPUT -p tcp --dport 443-j ACCEPT#插入在顶端一条放行443端口的规则 iptables -t filter -I INPUT 2 -p tcp --dport 443 -j ACCEPT #在第二列插入一条443放行规则 iptables -t filter -A INPUT -p tcp --dport 80 -j DROP#丢弃80端口的请求 iptables -I INPUT 2 -p icmp -j DROP#丢弃ICMP请求 iptables -t filter -D INPUT 3#删除第三条规则 iptables -A FORWARD -s 192.168.1.10 -j REJECT#拒绝IP的转发请求 iptables -I INPUT -s 10.20.30.0/24 -j DROP #丢弃IP网段的入站请求 iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP#丢弃从eth1网卡流入,且地址匹配的数据包 iptables -A INPUT -o eth0 -s 192.168.1.0/24 -j DROP#丢弃从eth0网卡流出,且地址匹配的数据包 iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT #放行20-21端口的数据包 iptables -I INPUT -p tcp -m multiport --dport 80-90,85 -j ACCEPT iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.10-192.168.1.100 -j ACCEPT
Atas ialah kandungan terperinci Penerangan terperinci firewall-iptables Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



OneDrive ialah aplikasi storan awan popular yang disediakan oleh Microsoft. Kebanyakan kita menggunakan OneDrive untuk menyimpan fail, folder, dokumen, dll. Tetapi sesetengah pengguna mengadu bahawa apabila mereka cuba mengakses fail kongsi pada OneDrive, ia memberikan ralat yang menyatakan "Ralat: 0x80070185, operasi Cloud tidak berjaya". Oleh itu, mereka tidak boleh melakukan sebarang operasi pada OneDrive seperti menyalin fail, menampal, memuat turun fail kongsi, dsb. Pada masa kini, adalah perlu untuk menggunakan operasi ini dalam kerja harian kita. Ralat ini boleh diselesaikan dengan mudah dan untuk ini kami mempunyai beberapa kaedah yang boleh kami gunakan dan cuba menyelesaikan masalah. Mari mulakan! Kaedah 1 – Log keluar dan log masuk semula ke langkah aplikasi OneDrive

Apabila menyediakan tembok api, ramai rakan mendapati bahawa tetapan lanjutan tembok api win11 mereka dikelabukan dan tidak dapat diklik. Ini mungkin disebabkan oleh tidak menambah unit kawalan, atau dengan tidak membuka tetapan lanjutan dengan cara yang betul. Mari kita lihat cara menyelesaikannya. Tetapan lanjutan firewall Win11 dikelabukan Kaedah 1: 1. Pertama, klik menu mula di bawah, cari dan buka "Panel Kawalan" di bahagian atas 2. Kemudian buka "Windows Defender Firewall" 3. Selepas masuk, anda boleh membuka "Advanced". Tetapan" dalam lajur kiri . Kaedah 2: 1. Jika kaedah di atas tidak boleh dibuka, anda boleh klik kanan "Start Menu" dan buka "Run" 2. Kemudian masukkan "mmc" dan tekan Enter untuk mengesahkan pembukaan. 3. Selepas dibuka, klik di sebelah kiri atas

Pada AlpineLinux, anda boleh menggunakan alat iptables untuk mengkonfigurasi dan mengurus peraturan firewall. Berikut ialah langkah asas untuk mendayakan atau melumpuhkan firewall pada AlpineLinux: Semak status firewall: sudoiptables -L Jika output menunjukkan peraturan (contohnya, terdapat beberapa peraturan INPUT, OUTPUT atau FORWARD), firewall didayakan. Jika output kosong, tembok api dilumpuhkan pada masa ini. Dayakan tembok api: sudoiptables-PINPUTACCEPTsudoiptables-POUTPUTACCEPTsudoiptables-PFORWARDAC

Ramai rakan yang menggunakan sistem win10 mendapati terdapat logo firewall pada ikon pada desktop komputer. Ini membuatkan ramai rakan yang mengalami gangguan obsesif-kompulsif terutamanya tidak selesa klik " Ia boleh diselesaikan dengan menukar "Tukar Tetapan Kawalan Akaun Pengguna". Mari kita lihat tutorial khusus. Cara membatalkan logo tembok api pada ikon desktop dalam Windows 10 1. Mula-mula, klik kanan butang menu Mula di sebelah skrin permulaan komputer, dan kemudian pilih fungsi Panel Kawalan daripada menu timbul. 2. Kemudian pilih pilihan "Akaun Pengguna" dan pilih item "Tukar Tetapan Kawalan Akaun Pengguna" daripada antara muka baharu yang muncul. 3. Selepas melaraskan peluncur dalam tetingkap ke bahagian bawah, klik Sahkan untuk keluar.

UFW, juga dikenali sebagai Uncomplex Firewall, diguna pakai oleh banyak pengedaran Linux sebagai sistem firewall mereka. UFW direka bentuk untuk memudahkan pengguna pemula mengurus tetapan tembok api melalui kedua-dua antara muka baris arahan dan antara muka pengguna grafik. Firewall UFW ialah sistem yang memantau trafik rangkaian mengikut peraturan yang ditetapkan untuk melindungi rangkaian daripada menghidu rangkaian dan serangan lain. Jika anda telah memasang UFW pada sistem Linux anda tetapi statusnya menunjukkan sebagai tidak aktif, mungkin terdapat beberapa sebab. Dalam panduan ini, saya akan berkongsi cara menyelesaikan isu tidak aktif firewall UFW pada sistem Linux. Mengapa UFW Menunjukkan Status Tidak Aktif pada Linux Mengapa UFW Tidak Aktif secara Lalai pada Linux Bagaimana Tidak Aktif pada Linux

Dengan peningkatan aplikasi Web, keselamatan telah menjadi isu yang semakin penting. Dalam aplikasi ini, WebShell ialah ancaman keselamatan biasa. WebShell ialah skrip web boleh laku yang boleh dimuat naik dan dilaksanakan melalui HTTP atau protokol web lain. Bagi penyerang, WebShell ialah cara penting untuk mengakses pelayan web dan mendapatkan maklumat sensitif. Tembok api Nginx ialah perisian pelayan web popular yang boleh digunakan untuk melindungi aplikasi web daripada serangan.

Untuk mana-mana sistem windows berfungsi dengan lebih baik dan mempunyai prestasi yang baik, ia perlu dikemas kini dari semasa ke semasa. Bukan sahaja sistem yang perlu dikemas kini, tetapi juga semua pemacu untuk peranti yang disambungkan ke sistem sama ada secara dalaman (seperti kad grafik) atau luaran (seperti tetikus optik, papan kekunci, dll.). Baru-baru ini, sesetengah pengguna Windows mula menghadapi masalah semasa mengemas kini mana-mana pemacu peranti dalam sistem mereka. Apabila mereka cuba mengemas kini pemandu, ia melemparkan mesej ralat pada tetingkap Kemas Kini Pemacu yang mengatakan "Operasi ini memerlukan stesen tetingkap interaktif" dan menghalang pengguna daripada mengemas kini pemandu. Ini sebenarnya adalah isu yang serius jika ia tidak membenarkan pengguna mengemas kini mana-mana pemandu kerana ia sangat penting untuk memastikan sistem sentiasa sihat. Kekurangan hak pentadbiran mungkin menjadi punca di sebalik isu ini

Bagaimana untuk menyelesaikan masalah bahawa pelayar Edge disekat oleh tembok api? Pelayar Edge ialah penyemak imbas Microsoft sendiri Sesetengah pengguna mendapati bahawa penyemak imbas ini telah disekat oleh tembok api semasa digunakan. Biarkan tapak ini memberi pengguna pengenalan terperinci tentang cara memulihkan pelayar Edge jika ia disekat oleh tembok api. Bagaimana untuk memulihkan pelayar Edge jika ia disekat oleh tembok api? 1. Semak tetapan firewall: - Klik butang "Mula" pada bar tugas Windows, dan kemudian buka "Tetapan". -Dalam tetingkap Tetapan, pilih Kemas Kini & Keselamatan. -wujud
