Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   несколько вопросов по iptables (http://forum.oszone.net/showthread.php?t=78056)

tolll 23-01-2007 09:37 540048

несколько вопросов по iptables
 
Вопрос по пользовательским цепочкам
Создаём например свою цепочку "-N tcp_packets" вопрос в том куда она вклинится на пути прохождения ракетов? А то вроде в доке пример приводится а так не понятно - стандартных то 5 цепей и пакет по ним идёт в жёсткорегламентированной форме, а куда пользовательская цепрочка вставляется?

Заранее спасибо за твет.

must die 23-01-2007 10:11 540060

Перечитайте еще раз внимательно iptables tutorial (раздел: прохождение таблиц и цепочек), там говорится несколько иное.
По умолчанию новая цепочка добавляется в таблицу filter.

tolll 23-01-2007 10:35 540073

Цитата:

Перечитайте еще раз внимательно iptables tutorial (раздел: прохождение таблиц и цепочек), там говорится несколько иное.
так вот читаю (http://www.opennet.ru/docs/RUS/iptables/), открыт он у меня :) Несовсем понял про что там иное говорится?
Цитата:

По умолчанию новая цепочка добавляется в таблицу filter
Не совсем понял - судя по чтению вышеприведённой (самой распространённой) доки не таблицы состоят из цепочек, а в каждой из цепочек прохождения пакетов есть свои таблицы. Да и как она может добавиться в таблицу filter если их несколько? (в цепочках FORWARD и INPUT) Или я что-то недовкурил?

BuGfiX 23-01-2007 11:08 540080

Управление на созданную вами цепочку передается с помощью ключа "-j", например:
Код:

iptables -A INPUT -p tcp -j tcp_packets
из любого "места" фаервола.

must die 23-01-2007 11:15 540083

tolll

Глава 3. Порядок прохождения таблиц и цепочек

В этой главе мы рассмотрим порядок прохождения таблиц и цепочек в каждой таблице.

tolll 23-01-2007 11:33 540089

must die
Цитата:

3.1. Общие положения
Когда пакет приходит на наш брандмауэр, то он сперва попадает на сетевое устройство, перехватывается соответствующим драйвером и далее передается в ядро. Далее пакет проходит ряд таблиц и затем передается либо локальному приложению, либо переправляется на другую машину.
там же далее нписано: "Порядок следования пакета приводится ниже" и далее рассматривается прохождение пакета по таблицам в рамках той или иной цепочки. Т.е. в зависимости от того куда плывёт пакет (input, output, forwarding, pre\postrouting) он будет проходить соотв-й ряд таблиц, для каждой цепочки свой. Я правильно понимаю? (мне так сказать что бы полностью философию понять)

BuGfiX
Цитата:

из любого "места" фаервола
т.е. когда я создаю цепочку командой "-N" она пока никуда не попадает в обработку пакетов до тех пор пока я в той или иной таблице (опять же любой или предпоч. filter) явно не укажу что пакет надо передать на обработку в эту пользовательскую_цепочку командой "-j tcp_packets" скажем, так? А как тогда оформляется конец этой цепочки - т.е. каким способом файер поймёт что это была последняя команда (строка) в данной цепочки и вернётся назад в исходную? (в самом файле то команды идут непрерывно, вроде разделителей там нет)

tolll 23-01-2007 11:49 540094

это кстати ещё один вопрос у меня :) как iptables узнаёт по конфиг файлу где конец цепочки - там же записи могут идти непопорядку... Или она анализирует их и потом в памяти строит уже таблицы в соотв-и с этим файлом где конец цепочки это просто последнее правило которое iptables "нашла" в конфиг-файле для данной цепочки?

BuGfiX 23-01-2007 11:49 540096

Цитата:

когда я создаю цепочку командой "-N" она пока никуда не попадает в обработку пакетов до тех пор пока я в той или иной таблице (опять же любой или предпоч. filter) явно не укажу что пакет надо передать на обработку в эту пользовательскую_цепочку командой "-j tcp_packets" скажем, так?
да, так.
Цитата:

каким способом файер поймёт что это была последняя команда
Про это написано в пукте 6.5
Цитата:

Если пакет достиг конца цепочки то он будет возвращен в вызывающую цепочку (в нашем случае это цепочка INPUT) и движение пакета продолжится с правила, следующего за правилом, вызвавшем переход. Если к пакету во вложенной цепочке будет применено действие ACCEPT, то автоматически пакет будет считаться принятым и в вызывающей цепочке и уже не будет продолжать движение по вызывающим цепочкам. Однако пакет пойдет по другим цепочкам в других таблицах.
Цитата:

Или она анализирует их и потом в памяти строит уже таблицы в соотв-и с этим файлом где конец цепочки это просто последнее правило которое iptables "нашла" в конфиг-файле?
Грубо говоря, так и есть.

tolll 23-01-2007 11:52 540098

BuGfiX
must die
Big Thx!!! :)

tolll 25-01-2007 17:42 541271

Вот ещё вопрос возник
где описано в каких файлах какие настройки хранятся по iptables? А то в how-to что то смутное
+ у еня допустим redhat (8-ка) - там при установке указ-ся уровень без-ти и соот-но в файле /etc/sysconfig/iptables появляются записи с непонятным синтаксисом типа rh-lokkit и т.д. Это что такое?

must die 25-01-2007 22:34 541426

tolll

RH-lokkit - это цепочка iptables, она заполняется в соответствии с указанным при установке уровнем безопасности. Чем именно - ищите в документации к своему дистрибутиву.
В /etc/sysconfig/iptables сохраняются правила с помощью команды iptables-save (почитайте об этом в руководстве, там все понятно).

tolll 26-01-2007 09:47 541551

must die
Цитата:

В /etc/sysconfig/iptables сохраняются правила с помощью команды iptables-save (почитайте об этом в руководстве, там все понятно).
понял, а вот при загрузке (если по дефолту всё оставить) системы правила тже берутся именно из этого файла? Почему спрашиваю, т.к. в мануале скзано тоже что "сохраняются командой....", но при загрузке системы они откуда то берутся? из этого файла? (если другие в rc.local не указаны)
И ещё вопрос , что такое там означает например INPUT ACCEPT - [0:0] - в скобочках что такое?

must die 26-01-2007 10:42 541589

tolll

Не знаю как там RH :-)
Но попробую предположить, что при изменении уровня безопасности, в этот файл вносятся изменения.
При старте системе правила загружаются из этого файла.

Зачем вам изучать синтаксис этого файла?
Просмотреть, текущую конфигурацию - iptables --list.
Внесли изменения, сохраните /etc/init.d/iptables save (ну или что-нибудь в этом духе).


tolll 26-01-2007 11:48 541627

must die
Цитата:

При старте системе правила загружаются из этого файла.
понятно, спасибо!
Цитата:

Зачем вам изучать синтаксис этого файла?
ну что бы понять как система в целом работает :)

toll3 05-03-2007 17:29 558197

Не подскажет ли кто ещё несколько моментов:
1. Есть набор допустимых ip адресов, который фигурирует в разных цепочках-таблицах. Нельзя ли его вогнать в сетс какой-н что бы потом просто по $var на него ссылаться?
2. Если вбить команду
iptables --list
в итоге таблицы выводятся нескоклько медленно что ли.... иногда вывод минут 5 может занимать в зависимости от навароченности таблицы. Так и должно быть?

Заранее спасибо!

BuGfiX 05-03-2007 17:38 558201

1. Если правила iptables указаны в обычном sh-скрипте - то никто не мешает Вам использовать переменные, например:
Код:

#!/bin/sh
LOCALNET="192.168.1.0/24"
IPT="/usr/sbin/iptables"

$IPT -A FORWARD -p tcp -s $LOCALNET --dport 80 -j ACCEPT

2. Вместо
Код:

iptables --list
используйте
Код:

iptables --list -n
,
все будет выводиться гораздо быстрее ;-)

toll3 09-03-2007 23:42 559777

BuGfiX
Цитата:

Если правила iptables указаны в обычном sh-скрипте - то никто не мешает Вам использовать переменные, например
в случае когда диапазон ip адресов вся сеть понятно, а вот если есть группа ip-шников из абсолютно разных подсетей, можно ли их как в одну переменную вогнать?

BuGfiX 12-03-2007 11:52 560545

Насколько я знаю, синтаксис iptables не позволяет задавать несколько source или destination адресов в одном правиле.


Время: 06:35.

Время: 06:35.
© OSzone.net 2001-