tldr/pages/linux/iptables.md

1.0 KiB

iptables

Program that allows configuration of tables, chains and rules provided by the Linux kernel firewall. More information: https://www.netfilter.org/projects/iptables/.

  • View chains, rules, and packet/byte counters for the filter table:

sudo iptables -vnL

  • Set chain policy rule:

sudo iptables -P {{chain}} {{rule}}

  • Append rule to chain policy for IP:

sudo iptables -A {{chain}} -s {{ip}} -j {{rule}}

  • Append rule to chain policy for IP considering protocol and port:

sudo iptables -A {{chain}} -s {{ip}} -p {{protocol}} --dport {{port}} -j {{rule}}

  • Add a NAT rule to translate all traffic from the 192.168.0.0/24 subnet to the host's public IP:

sudo iptables -t {{nat}} -A {{POSTROUTING}} -s {{192.168.0.0/24}} -j {{MASQUERADE}}

  • Delete chain rule:

sudo iptables -D {{chain}} {{rule_line_number}}

  • Save iptables configuration of a given table to a file:

sudo iptables-save -t {{tablename}} > {{path/to/iptables_file}}

  • Restore iptables configuration from a file:

sudo iptables-restore < {{path/to/iptables_file}}