tldr/pages/linux/iptables.md

37 lines
1.0 KiB
Markdown
Raw Normal View History

2016-03-06 15:50:33 +00:00
# iptables
2017-07-20 19:53:15 +01:00
> Program that allows configuration of tables, chains and rules provided by the Linux kernel firewall.
> More information: <https://www.netfilter.org/projects/iptables/>.
2016-03-06 15:50:33 +00:00
- View chains, rules, and packet/byte counters for the filter table:
2016-03-06 15:50:33 +00:00
`sudo iptables -vnL`
2016-03-06 15:50:33 +00:00
- Set chain policy rule:
`sudo iptables -P {{chain}} {{rule}}`
2016-03-06 15:50:33 +00:00
- 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}}`
2016-03-06 15:50:33 +00:00
- Delete chain rule:
`sudo iptables -D {{chain}} {{rule_line_number}}`
- Save iptables configuration of a given table to a file:
2016-03-06 15:50:33 +00:00
`sudo iptables-save -t {{tablename}} > {{path/to/iptables_file}}`
- Restore iptables configuration from a file:
`sudo iptables-restore < {{path/to/iptables_file}}`