PTABLES — руководство: часть 1 — основы IPTABLES
IPTABLES — руководство: часть 3 — параметры правил
IPTABLES — руководство: часть 4 — цели для правил
Управление IPTABLES
Просмотр правил
Просмотр текущих правил в таблице filter
:
Тоже самое — для остальных:
Или с опцией -L
:
Колонки тут:
num
– номер правила текущей цепочке (см. дальше);
target
– действие;
prot
– протокол — TCP, UDP, ICMP и т.д.;
opt
– специальные опции для этого правила;
source
– исходный IP-адрес пакетов;
destination
– IP-адрес назначения пакетов.
Далее я буду придерживаться коротких опций, вида -L
, вместо длинных вида --list
.
Просмотр списка правил и счётчиков:
2 |
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
3 |
pkts bytes target prot opt in out source destination |
4 |
3313 199K DROP all -- any any 37.9.53.253 anywhere |
Кроме того, -v
(verbose
) выводит:
— имена интерфейсов для правил;
— заголовки TOS
;
— дополнительные опции правила.
verbose
так же можно использовать при создании-удалении правил и т.д.
Не переводить IP в имена хостов (FQDN):
Выводить номер правила:
Вывести правила только для INPUT
, с отображением счётчиков, IP вместо имён хостов, и номерами правил:
Просмотреть только список правил:
Пример:
Управление chains
Создать цепочку:
2 |
Chain new_chain (0 references) |
3 |
target prot opt source destination |
Переименовать цепочку:
2 |
Chain old_chain (0 references) |
3 |
target prot opt source destination |
Удалить цепочку:
2 |
iptables: No chain/target/match by that name. |
Управление правилами
Добавить правило:
Выполнит append к указанной chain, добавляя правило в конец списка. Пример:
3 |
ACCEPT all -- 192.168.1.102 anywhere |
Вставить правило:
Добавит правило в цепочку chain под номером rulenum (если такой номер уже есть — то на его место, а существующее — сдвинется «вниз»). Пример:
2 |
Chain INPUT (policy ACCEPT) |
3 |
num target prot opt source destination |
4 |
1 ACCEPT all -- 192.168.1.102 anywhere |
Заменить правило:
Добавит правило в цепочку chain под номером rulenum (если такой номер уже есть — то на его место, а существующее -будет удалено). Пример:
2 |
Chain INPUT (policy ACCEPT) |
3 |
num target prot opt source destination |
4 |
1 DROP all -- 192.168.1.102 anywhere |
Удалить правило — вариант 1:
Удалит правило в цепочке chain с номером rulenum. Пример:
2 |
Chain INPUT (policy ACCEPT) |
3 |
num target prot opt source destination |
Удалить правило — вариант 2:
Удалит правило, которое соответствует rule. Пример:
2 |
Chain INPUT (policy ACCEPT) |
3 |
num target prot opt source destination |
4 |
1 DROP all -- 192.168.1.102 anywhere |
2 |
Chain INPUT (policy ACCEPT) |
3 |
num target prot opt source destination |
4 |
1 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED |
Другие опции
Изменить правило по-умолчанию:
Например, для INPUT
изменить ACCEPT
на DROP
:
2 |
Chain INPUT (policy ACCEPT) |
2 |
Chain INPUT (policy DROP) |
(будьте осторожны с этой опцией — можете лишиться доступа к серверу)
Сбросить (удалить) все правила во всех цепочка:
Удалить правила только для цепочки INPUT
:
(будьте осторожны с этой опцией — можете лишиться доступа к серверу)
Обнулить все счётчики во всех правилах:
Пример:
2 |
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
3 |
pkts bytes target prot opt in out source destination |
4 |
25 2352 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED |
2 |
Chain INPUT (policy ACCEPT 0 packets, 0 bytes) |
3 |
pkts bytes target prot opt in out source destination |
4 |
5 356 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED |
Сохранение и восстановление правил
В CentOS правила хранятся в файле /etc/sysconfig/iptables
:
06 |
:OUTPUT ACCEPT [66:27636] |
Для сохранения правил — выполните:
2 |
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ] |
Что бы сохранить правила в отдельный файл — используйте:
Что бы восстановить из него:
С помощью опции -c
команды iptables-save
можно так же сохранить значения счётчиков, а с помощью-t <em>tablename</em>
— сохранить определённую таблицу. Подробнее — смотрите тут>>>.
Читайте другие интересные статьи