- Iptables nat rules list – How to list and avoid common mistakes?
- What is iptables nat rule?
- How to list iptables nat rules?
- Common mistakes while listing iptables nat rules
- 1. Listing nat rules without specifying table-name
- 2. Restarting the server without saving iptables
- Conclusion
- PREVENT YOUR SERVER FROM CRASHING!
- Просмотр правил iptables
- Как посмотреть правила iptables
- 1. Список правил из цепочки
- 2. Список правил из таблицы
- 3. Номера правил в iptables
- 4. Просмотр правил со статистикой пакетов
- Выводы
Iptables nat rules list – How to list and avoid common mistakes?
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,
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 to list rules regarding the specified table, and so on.
Hence to display nat rules our Support Engineers use the command,
iptables -t -n -v -L // syntax iptables -t nat -nvL
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.
But he created nat rules. So the mistake was due to an unspecified table-name. Our Support Team corrected his command to,
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.
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.
PREVENT YOUR SERVER FROM CRASHING!
Never again lose customers to poor server speed! Let us help you.
Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.
Просмотр правил iptables
В данной статье мы рассмотрим как посмотреть правила iptables с помощью команды iptables -L, а также основные её опции и параметры. Данная команда выводит в командную оболочку bash в структурированном виде все цепочки правил firewall Netfilter. Информация предоставляется для изучения уже настроенных возможностей межсетевого экрана и последующей их модификации с помощью других команд. Таблицы правил выводятся в текстовом режиме.
В отличии от графического интерфейса, отображение в текстовом режиме представляет из себя буквы на контрастном фоне. Для структурирования предоставляемой информации используются строго оформленные отступы и пробелы, формирующие строки и столбцы таблицы выводимой информации. При нехватке места на экране происходит перенос оставшейся части строки информации на новую строку при отображении. Далее рассмотрим особенности отображения предоставляемой командой iptables -L информации.
Как посмотреть правила iptables
В данном случае для демонстрации возможностей iptables используется операционная система Debian 10.2. Для возможности выполнения команды iptables необходимо, чтобы пользователю были предоставлены привилегии суперпользователя с помощью команды sudo. В связи с этим все команды будут выглядеть как sudo iptables [параметры] или sudo ip6tables [параметры] для IPv6.
Примечание: Для того, чтобы пользователю было позволено предоставлять привилегии суперпользователя, этого пользователя надо добавить в файл sudoers с помощью специального редактора visudo. Посмотрим на скриншот с результатом выполнения команды:
Существуют две версии утилиты для настройки брандмауэра Linux: iptables и ip6tables. Iptables используется для протокола IPv4, а ip6tables для протокола IPv6. Соответственно команда вывести все цепочки правил для межсетевого экрана имеет два варианта синтаксиса.
В дальнейшем рассмотрим только вариант для протокола IPv4, вариант для протокола IPv6 использует такой же синтаксис.
Выводимая на экран информация разбита на столбцы и строки. У каждого столбца свое наименование. С помощью дополнительных параметров команды sudo iptables -L можно добавлять дополнительные столбцы в выводимой таблице правил iptables. Рассмотрим название столбцов в стандартном выводе sudo iptables -L:
- target – выполняемое действие с пакетом при соответствии его данному правилу
- prot – протокол передачи данных, при котором применяется данное правило
- opt – дополнительные опции для правила
- source – IP адрес, подсеть, домен узла источника пакета, попадающего под выполнение данного правила
- destination – IP адрес, подсеть, домен узла назначения пакета, попадающего под выполнение данного правила
1. Список правил из цепочки
Команда чтобы вывести на экран конкретную цепочку правил выглядит следующим образом:
sudo iptables [ -L имя цепочки ]
Например просмотр правил iptables из цепочки OUTPUT:
2. Список правил из таблицы
По умолчанию выводится содержимое таблицы фильтрации пакетов filter. Команда вывода содержимого конкретно указанной таблицы выглядит следующим образом:
sudo iptables [ -t имя таблицы ] [ -L имя цепочки ]
sudo iptables -t nat -L OUTPUT
Вот список всех таблиц правил iptables:
- filter – таблица по умолчанию. Используется для фильтрации пакетов. Содержится в цепочках INPUT, FORWARD, OUTPUT
- raw – используется редко. Пакет проверяется на соответствие условиям данной таблицы до передачи системе определения состояний (conntrack), например, для того, чтобы не обрабатываться с помощью данной системы (действие NOTRACK). Система определения состояний позволяет фильтровать пакеты на уровне взаимодействия сеансов приложений. То есть фильтрует пакеты по сеансу связи – новый сеанс связи (NEW), уже установленный сеанс связи (ESTABLISHED), дополнительный сеанс связи к уже существующему (RELATED). Данная система позволяет реализовать высокоуровневый межсетевой экран, который вместо работы с пакетами работает с сеансами связи в рамках приложений. Содержится в цепочках PREROUTING и OUTPUT.
- mangle – содержит правила модификации обрабатываемых IP-пакетов. Например, изменение полей заголовков IP-пакетов, содержащих служебную информацию. Используется редко. Содержится в цепочках PREROUTING, INPUT, FORWARD, OUTPUT,
- nat – предназначена для подмены адреса отправителя или получателя. Данная таблица применяется только к первому пакету из потока протокола передачи данных по сети, к остальным пакетам потока пакетов выбранное действие применяется далее автоматически. Таблицу используют, например, для трансляции адресов отправителя и получателя, для маскировки адресов отправителя или получателя. Это делается в основном в двух случаях. Первый – когда необходимо организовать доступ к сети Интернет нескольким компьютерам, расположенным за данным компьютером. Второй – когда необходимо спрятать (замаскировать) в целях безопасности отправителя или получателя информации, передаваемой по сети Интернет. Содержится в цепочках PREROUTING, OUTPUT, POSTROUTING.
3. Номера правил в iptables
Следующая команда позволяет нам вывести номера правил iptables, которые потом можно использовать для управления ими на экран:
sudo iptables [ -t таблица ] [ -L имя_цепочки ] —line-numbers -n
sudo iptables -t filter -L —line-numbers -n
4. Просмотр правил со статистикой пакетов
Чтобы посмотреть таблицу правил со счетчиком переданного (полученного) количества байтов (bytes) и пакетов (pkts) используется следующая команда:
sudo iptables [ -t таблица ] [ -L имя цепочки ] -n -v
sudo iptables -t filter -L -n -v
Выводы
Вот мы и рассмотрели основные способы как посмотреть правила iptables в табличном виде. Теперь мы знаем, как выбирать таблицу правил межсетевого экрана, как выбирать цепочку правил для просмотра на экране, наименования столбцов и их смысловое значение в выводимой таблице правил, а также некоторые возможности добавления дополнительных столбцов в выводимую таблицу правил.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.