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.
|
2020-11-01 19:18:01 +00:00
|
|
|
> More information: <https://www.netfilter.org/projects/iptables/>.
|
2016-03-06 15:50:33 +00:00
|
|
|
|
2020-11-01 19:18:01 +00:00
|
|
|
- View chains, rules, and packet/byte counters for the filter table:
|
2016-03-06 15:50:33 +00:00
|
|
|
|
2018-08-12 17:23:48 +01:00
|
|
|
`sudo iptables -vnL`
|
2016-03-06 15:50:33 +00:00
|
|
|
|
|
|
|
- Set chain policy rule:
|
|
|
|
|
2017-12-11 15:36:15 +00:00
|
|
|
`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}}`
|
|
|
|
|
2021-11-04 23:36:44 +00:00
|
|
|
- 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}}`
|
|
|
|
|
2018-08-12 17:23:48 +01:00
|
|
|
- Save iptables configuration of a given table to a file:
|
2016-03-06 15:50:33 +00:00
|
|
|
|
2018-08-12 17:23:48 +01:00
|
|
|
`sudo iptables-save -t {{tablename}} > {{path/to/iptables_file}}`
|
|
|
|
|
|
|
|
- Restore iptables configuration from a file:
|
|
|
|
|
|
|
|
`sudo iptables-restore < {{path/to/iptables_file}}`
|