Als je een goede firewall voor je Linux-server of -desktop nodig hebt, is iptables een goede keuze. Het is zeer flexibel en snel. In deze handleiding laten we u zien hoe u een iptables-firewall op Linux instelt.
  
Iptables installeren op Linux
Om de firewall met iptables op uw Linux-systeem in te stellen , moet u deze eerst installeren. Open een terminalvenster en volg de onderstaande installatie-instructies voor uw Linux-besturingssysteem. Iptables kan zowel op Linux-desktops als op servers worden geïnstalleerd, en als je de voorkeur geeft aan een generieke Linux-download van iptables, kun je de officiële website bezoeken . Zodra de installatie is voltooid, kunt u doorgaan met het instellen van uw firewall met iptables.
  
Ubuntu-instructies
sudo apt installeer iptables
Debian-instructies
sudo apt-get install iptables
Arch Linux-instructies
sudo pacman -S iptables
Fedora-instructies
sudo dnf installeer iptables
OpenSUSE-instructies
sudo sudo zypper in iptables
EPEL-distributies (Rhel, CentOS, Rocky, Alma, etc.)
sudo yum installeer iptables
Hoe een iptables-regelset te maken
U moet een nieuwe iptables-regelset maken voordat u probeert deze als firewall te gebruiken. Open een terminalvenster en zorg ervoor dat u sudo- opdrachten kunt invoeren. Als uw gebruiker dat niet kan, log dan in op het root-account met su .
Gebruik vanaf hier de opdracht iptables -F . Met deze opdracht worden alle eerdere regels voor iptables op uw systeem verwijderd en leeggemaakt.
sudo iptables -F
Nadat u de bovenstaande opdracht hebt uitgevoerd, kunt u de opdracht iptables -L uitvoeren om te controleren en te bevestigen dat regels zijn gewist.
sudo iptables-L
Zodra je hebt bevestigd dat de iptables-regels zijn leeggemaakt, gebruik je de onderstaande opdracht iptables -P om inkomend verkeer standaard te blokkeren.
WAARSCHUWING: als u iptables bewerkt via SSH, verbreek dan de verbinding en bewerk deze op de fysieke machine. Als u de onderstaande opdracht uitvoert, wordt de verbinding met SSH automatisch verbroken totdat u de firewall doorlaat.
sudo iptables -P INPUT DROP
Vervolgens moet u uitgaand verkeer van uw systeem via iptables toestaan. U kunt uitgaand verkeer door de iptables-firewall laten gaan door het volgende iptables -P commando in te voeren.
sudo iptables -P UITVOER ACCEPTEREN
Nadat u inkomend verkeer en uitgaand verkeer hebt uitgeschakeld, gaat u verder met het toestaan van specifieke services.
Poorten toestaan via de iptables-firewall
Standaard schakelt het uitvoeren van iptables -P INPUT DROP binnenkomend verkeer van alle bronnen uit (SSH, HTTP, enz.). Om deze services in te schakelen, moet u uw iptables-regels toevoegen.
Om het u gemakkelijk te maken, vindt u hier een lijst met veelgebruikte poorten die u mogelijk wilt inschakelen in uw iptables-firewall. Kopieer de opdracht die is gekoppeld aan de poort die u wilt inschakelen via uw iptables-firewall.
	- HTTP (poort 80):
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- HTTPS (poort 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- SSH (poort 22):
sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- FTP (poort 21):
sudo iptables -A INPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- SMTP (poort 25):
sudo iptables -A INPUT -p tcp --dport 25 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- DNS (poort 53): 
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPTvoor UDP of sudo iptables -A INPUT -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPTvoor TCP 
	- DNS via TLS (DoT) (poort 853):
sudo iptables -A INPUT -p tcp --dport 853 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- DNS via HTTPS (DoH) (poort 443):
sudo iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- Remote Desktop-protocol (RDP) (poort 3389):
sudo iptables -A INPUT -p tcp --dport 3389 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- Virtual Network Computing (VNC) (poort 5900):
sudo iptables -A INPUT -p tcp --dport 5900 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- Secure Shell (SSH) met X11 Forwarding (poort 6010):
sudo iptables -A INPUT -p tcp --dport 6010 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- MySQL-database (poort 3306):
sudo iptables -A INPUT -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT 
	- PostgreSQL-database (poort 5432):
sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT 
Als je alle poorten hebt toegestaan die je wilt toestaan, kun je je regels controleren met iptables -L .
sudo iptables-L
Sla ten slotte uw iptables-regels op in een bestand voor back-updoeleinden. U kunt dit doen met de opdracht iptables-save .
sudo iptables-save > /path/tosave/where/you/wish/to/save/rules/iptable-rules-backup
Hoe iptables-back-ups te herstellen
Als u uw iptables-firewall opnieuw op een andere computer moet implementeren, gaat u als volgt te werk. Gebruik eerst de opdracht iptables -F om bestaande regels te wissen.
sudo iptables -F
Kopieer vervolgens uw back-upbestand naar het systeem. Zodra het is gekopieerd, herstelt u de back-up.
sudo iptables-herstel <>