Jika anda memerlukan tembok api yang baik untuk pelayan Linux atau desktop anda, iptables ialah pilihan yang bagus. Ia sangat fleksibel dan pantas. Dalam panduan ini, kami akan menunjukkan kepada anda cara untuk menyediakan tembok api iptables pada Linux.
Memasang iptables pada Linux
Untuk menyediakan Firewall dengan iptables pada sistem Linux anda , anda perlu memasangnya terlebih dahulu. Buka tetingkap terminal dan ikut arahan pemasangan di bawah untuk OS Linux anda. Iptables boleh dipasang pada kedua-dua desktop dan pelayan Linux, dan jika anda lebih suka muat turun Linux generik iptables, anda boleh melawati tapak web rasmi . Setelah pemasangan selesai, anda boleh meneruskan untuk menyediakan Firewall anda dengan iptables.
arahan Ubuntu
sudo apt pasang iptables
Arahan Debian
sudo apt-get install iptables
Arahan Arch Linux
sudo pacman -S iptables
Arahan Fedora
sudo dnf pasang iptables
Arahan OpenSUSE
sudo sudo zypper dalam iptables
Pengedaran EPEL (Rhel, CentOS, Rocky, Alma, dll.)
sudo yum pasang iptables
Bagaimana untuk mencipta set peraturan iptables
Anda mesti membuat set peraturan iptables baharu sebelum cuba menggunakannya sebagai tembok api. Buka tetingkap terminal, dan pastikan anda boleh memasukkan arahan sudo . Jika pengguna anda tidak boleh, log masuk ke akaun root dengan su .
Dari sini, gunakan perintah iptables -F . Perintah ini akan memadam dan membuang semua peraturan sebelumnya untuk iptables pada sistem anda.
sudo iptables -F
Selepas menjalankan arahan di atas, anda boleh menjalankan perintah iptables -L untuk menyemak dan mengesahkan peraturan telah dipadamkan.
sudo iptables -L
Setelah anda mengesahkan peraturan iptables telah dibuang, gunakan perintah iptables -P di bawah untuk menyekat trafik masuk secara lalai.
AMARAN: jika anda mengedit iptables melalui SSH, putuskan sambungan dan edit pada mesin fizikal. Menjalankan arahan di bawah akan secara automatik memutuskan sambungan anda daripada SSH sehingga anda membenarkannya melalui tembok api.
sudo iptables -P INPUT DROP
Seterusnya, anda mesti membenarkan trafik keluar dari sistem anda melalui iptables. Anda boleh membenarkan trafik keluar melalui tembok api iptables dengan memasukkan perintah iptables -P berikut .
sudo iptables -P OUTPUT TERIMA
Sebaik sahaja anda telah melumpuhkan trafik masuk dan mendayakan trafik keluar, anda meneruskan untuk membenarkan perkhidmatan tertentu.
Bagaimana untuk membenarkan port melalui firewall iptables
Secara lalai, menjalankan iptables -P INPUT DROP melumpuhkan trafik masuk daripada semua sumber (SSH, HTTP, dll.) Untuk mendayakan perkhidmatan ini, anda perlu menambah peraturan iptables anda.
Untuk memudahkan, berikut ialah senarai port biasa yang anda mungkin ingin dayakan dalam tembok api iptables anda. Salin arahan yang dikaitkan dengan port yang anda ingin dayakan melalui tembok api iptables anda.
- HTTP (port 80):
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
- HTTPS (port 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- SSH (port 22):
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
- FTP (port 21):
sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
- SMTP (port 25):
sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS (port 53):
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
untuk UDP atau sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
untuk TCP
- DNS melalui TLS (DoT) (port 853):
sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT
- DNS melalui HTTPS (DoH) (port 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
- Protokol Desktop Jauh (RDP) (port 3389):
sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT
- Pengkomputeran Rangkaian Maya (VNC) (port 5900):
sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT
- Secure Shell (SSH) dengan X11 Forwarding (port 6010):
sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT
- Pangkalan data MySQL (port 3306):
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
- Pangkalan data PostgreSQL (port 5432):
sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT
Apabila anda telah membenarkan semua port yang anda ingin benarkan, anda boleh menyemak peraturan anda dengan iptables -L .
sudo iptables -L
Akhir sekali, simpan peraturan iptables anda ke fail untuk tujuan sandaran. Anda boleh melakukan ini dengan arahan iptables-save .
sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup
Bagaimana untuk memulihkan sandaran iptables
Jika anda perlu mengatur semula firewall iptables anda pada mesin lain, inilah perkara yang perlu dilakukan. Mula-mula, gunakan perintah iptables -F untuk membuang peraturan sedia ada.
sudo iptables -F
Seterusnya, salin fail sandaran anda ke sistem. Setelah ia disalin, pulihkan sandaran.
sudo iptables-restore <>