Skip to main content

iptables / Netfilter

Snippets

List all chains and rules

iptables --list --numeric --line-numbers

Allow incoming SSH connections

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Persist rules across reboots

  1. Save current rules
sudo iptables-save > /etc/iptables/rules.v4
sudo ip6tables-save > /etc/iptables/rules.v6
  1. Create a systemd service to restore these rules on boot:
/etc/systemd/system/iptables-restore.service
[Unit]
Description=Restore iptables firewall
Before=network-pre.target
Wants=network-pre.target

[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4
ExecStart=/sbin/ip6tables-restore < /etc/iptables/rules.v6
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
  1. Enable the service
sudo systemctl enable iptables-restore