commands.sh

iptables

linux

Configure tables, chains, and rules of the Linux kernel IPv4 firewall. Use `ip6tables` to set rules for IPv6 traffic. See also: `iptables-save`, `iptables-restore`.

More info →

Options (8)

boolean

View chains, rules, packet/byte counters, and line numbers for the filter table

Example: sudo iptables {{[-vnL --line-numbers|--verbose --numeric --list --line-numbers]}}
-P, --policyboolean

Set chain policy rule

Example: sudo iptables {{[-P|--policy]}} {{chain}} {{rule}}
-A, --appendboolean

Append rule to chain policy for IP

Example: sudo iptables {{[-A|--append]}} {{chain}} {{[-s|--source]}} {{ip_address}} {{[-j|--jump]}} {{rule}}
-s, --sourceboolean

Append rule to chain policy for IP

Example: sudo iptables {{[-A|--append]}} {{chain}} {{[-s|--source]}} {{ip_address}} {{[-j|--jump]}} {{rule}}
-j, --jumpboolean

Append rule to chain policy for IP

Example: sudo iptables {{[-A|--append]}} {{chain}} {{[-s|--source]}} {{ip_address}} {{[-j|--jump]}} {{rule}}
-p, --protocolboolean

Append rule to chain policy for IP considering protocol and port

Example: sudo iptables {{[-A|--append]}} {{chain}} {{[-s|--source]}} {{ip_address}} {{[-p|--protocol]}} {{tcp|udp|icmp|...}} --dport {{port}} {{[-j|--jump]}} {{rule}}
-t, --tableboolean

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

Example: sudo iptables {{[-t|--table]}} {{nat}} {{[-A|--append]}} {{POSTROUTING}} {{[-s|--source]}} {{192.168.0.0/24}} {{[-j|--jump]}} {{MASQUERADE}}
-D, --deleteboolean

Delete chain rule

Example: sudo iptables {{[-D|--delete]}} {{chain}} {{rule_line_number}}

Examples (6)

View chains, rules, packet/byte counters, and line numbers for the filter table

sudo iptables [-vnL --line-numbers|--verbose --numeric --list --line-numbers]

Set chain policy rule

sudo iptables [-P|--policy] chain rule

Append rule to chain policy for IP

sudo iptables [-A|--append] chain [-s|--source] ip_address [-j|--jump] rule

Append rule to chain policy for IP considering protocol and port

sudo iptables [-A|--append] chain [-s|--source] ip_address [-p|--protocol] tcp|udp|icmp|... --dport port [-j|--jump] 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|--table] nat [-A|--append] POSTROUTING [-s|--source] 192.168.0.0/24 [-j|--jump] MASQUERADE

Delete chain rule

sudo iptables [-D|--delete] chain rule_line_number
made by @shridhargupta | data from tldr-pages