Iptables
iptables (1998) command line utility allows to modify Linux kernel firewall rules.
Tables: filter, nat, mangle, raw and security
Contents
Basic commands[edit]
apt-get install iptables-persistentiptables-saveandiptables-restore
Options[edit]
- Add:
iptables -A - Delete:
iptables -D - Insert:
iptables -I
Examples[edit]
KVM VNC remote viewer iptables -t nat -A PREROUTING -i eno1 -p tcp --dport 5900 -j DNAT --to 127.0.0.1:5900 sysctl -w net.ipv4.ip_forward=1 sysctl -p /etc/sysctl.conf
Port forwarding[edit]
iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination IP_DESTINATIONiptables -t nat -A POSTROUTING -p tcp -d IP_DESTINATION --dport 2222 -j MASQUERADEecho 1 > /proc/sys/net/ipv4/ip_forward
- Block all output traffic:
iptables -A OUTPUT -o ethXXX -j DROP - Open a port:
iptables -I INPUT -p tcp --dport XXX -j ACCEPT
Block all but a range[edit]
iptables -I OUTPUT -m iprange --dst-range <remote_ip> -j ACCEPTiptables -I INPUT -m iprange --src-range <remote_ip> -j ACCEPTiptables -P INPUT DROPiptables -P OUTPUT DROPnetfilter-persistent save
Block all but one IP[edit]
iptables -I OUTPUT -d <remote_ip> -j ACCEPTiptables -I INPUT -s <remote_ip> -j ACCEPTiptables -I OUTPUT -d <remote_ip> -j ACCEPTiptables -I INPUT -s <remote_ip> -j ACCEPTiptables -P INPUT DROPiptables -P OUTPUT DROP
Allow ssh connections only from specific IPs[edit]
iptables -A INPUT -p tcp --dport 22 -s YourIP -j ACCEPTiptables -A INPUT -p tcp --dport 22 -j DROPnetfilter-persistent save
Clear iptables rules[edit]
iptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -t nat -Fiptables -t mangle -Fiptables -Fiptables -X
Flush[edit]
iptables -F
- (no output)
iptables -t nat -F
iptables -t YOUR_TABLE_NAME -F
Activities[edit]
- Read
iptablesUbuntu howto: https://help.ubuntu.com/community/IptablesHowTo - Read archlinux documentation: https://wiki.archlinux.org/index.php/iptables
- Read Stackoverflow iptables questions: https://stackoverflow.com/questions/tagged/iptables?tab=Votes
- Review your current iptables configuration
iptables-save,iptables-restore
Related terms[edit]
See also[edit]
iptables,ufw, firewalld, nftables firewall-cmd,netfilter-persistent, iptables -L,iptables-save,iptables-restore, Netfilteriptablesufwfirewalldnftablesfirewall-cmdipfw (FreeBSD)PF (OpenBSD), netsh advfirewallnftables- Palo Alto firewalls: PAN-OS
- Port knocking,
fail2ban[3]fwknop, DenyHosts
Advertising: