iptables cheatsheet
List rules
sudo iptables -L
Flush rules
sudo iptables -F
Block ports
Keep established connections
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A adds the rule.
INPUT defines the rule as part of the input string.
-m conntrack with --ctstate ESTABLISHED,RELATED ensures that only applies to established and related connections.
-j ACCEPT accepts the packages.
Accept desired ports
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
-p sets the connection protocol.
--dport sets the connection port.
Block other connections
sudo iptables -P INPUT DROP
Allow loopback connections
sudo iptables -I INPUT 1 -i lo -j ACCEPT
-I INPUT 1 places the rule first in the table.
-i lo loopback interface.
Saving the rules
sudo apt install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4