Создать таблицу в iptables


8

Я хочу создать собственную таблицу с использованием iptables, чтобы в нее можно было добавлять свои собственные цепочки. Но я не вижу никакой возможности сделать это. Я пытался найти его, но ничего не нашел. Пожалуйста помоги.

Ответы:


16

Я думаю, что вы ищете создание цепочки , а не таблицы.

   -N, --new-chain chain
          Create a new user-defined chain by the given name.  There must be no target of that name already.

Пример ( -t filterподразумевается):

iptables -N Services
iptables -A INPUT -j Services
iptables -A Services -m tcp -p tcp --dport 80 -j ACCEPT

Таблицы могут быть выбраны с -tопцией:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

И если вы используете iptables-restore, вышеупомянутые два правила могут быть объединены в:

*nat
-A POSTROUTING -j MASQUERADE
COMMIT

*filter
:Services -
-A INPUT -j Services
-A Services -m tcp -p tcp --dport 80 -j ACCEPT
COMMIT

Спасибо за ответ, но я хочу создать другую таблицу для своих пользовательских цепочек. Создание другой таблицы не возможно?
Тарун

1
Почему вы хотите создать другую таблицу? Чтобы иметь возможность группировать свои цепи? Если вы не напишите свой собственный модуль ядра, вы не сможете вставлять новые цепочки. Посмотрите эту картину о потоке пакетов, чтобы понять, для чего используются разные таблицы.
Лекенштейн

Хорошо, я этого не знал. Спасибо за помощь.
Тарун

5

Создание таблицы выполняется на уровне ядра; обычно нет необходимости создавать новый, если только он не добавляет в ядро ​​возможности TCP / IP.

Вероятно, вы захотите создать новую цепочку в одной из существующих таблиц, что делается с помощью -Nфлага.


«Обычно в этом нет необходимости ...» - но пользовательские цепочки делают вещи намного аккуратнее. Например, добавление пользовательской цепочки в интерфейс.
Конрад Гаевский
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.