Looking for how to list nat rules in iptables?
NAT is an inbuilt table in iptables for address translation.
Since NAT is not the default table, always mention the table-name with iptables queries relating to it.
At Bobcares, we get many queries regarding iptables rules, as a part of our Server Management Services.
Today, let’s see how our Support Engineers resolves these customer queries.
What is iptables nat rule?
Iptables is the inbuilt firewall for Linux systems. NAT is the built-in table in iptables. Usually, we use the nat table for address translation.
The chains in the nat table are PREROUTING, INPUT, OUTPUT, and POSTROUTING.
Iptables use nat rules for address translation tasks like forwarding.
The filter table is the default table. So, rules executed without specifying the table-name will not show the nat rules.
How to list iptables nat rules?
Many of our customers have this query. But listing nat rules is a simple task. The iptables command with a few options will do this.
The default to list iptables rule is -L. And the command is,
iptables -L
This command just gives information about the default filter table. But iptables also have other options to show more specific results. For instance,
- -n displays IPs and ports in numeric format.
- –line-number lists the rules of a chain in numeric order.
- -L List the rules in a chain or all chains.
- -v verbose mode.
- -t <table-name> to list rules regarding the specified table, and so on.
Hence to display nat rules our Support Engineers use the command,
iptables -t <table-name> -n -v -L // syntax
iptables -t nat -nvL
We also use the command:
iptables --table nat --list
So, this lists all the rules regarding the nat table.
Common mistakes while listing iptables nat rules
Usually, customers approach us with complaints about listing nat rules. The most common mistakes that users make are:
1. Listing nat rules without specifying table-name
Many customers approach us with the query ‘iptables does not list rules i have created’. Firstly, we checked the command he used to list the rules.
iptables -nLv
But he created nat rules. So the mistake was due to an unspecified table-name. Our Support Team corrected his command to,
iptables -t nat -nLv
And this fixed his error.
2. Restarting the server without saving iptables
Another major mistake is restarting the server without saving iptables. Usually, iptables stores its rules in memory. When users restart the server iptables reset as configured.
Hence after adding any rules to iptables, we always save it.
service iptables save
This command saves the rules to the iptables config file. And retrieves while restarting the server.
[Need assistance in creating iptables rules? – We’ll set it up for you.]
Conclusion
In short, we can see the iptables nat rules list when we specify the rule with table-name. Customers often get errors due to this. Today, we discussed how to list nat rules and also saw how our Support Engineers fix the related errors.
0 Comments