![]() |
◊ |
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум |
![]() |
#1 |
Местный
Регистрация: 26.04.2006
Адрес: Улица Свободы
Сообщений: 1,249
Вы сказали Спасибо: 4
Поблагодарили 73 раз(а) в 53 сообщениях
|
![]()
Firewall
« написано: 25.04.2006 :: 00:06:52 » Процитировано сообщение: Vulzscht от 04.04.2006 :: 16:48:10: 6) немного бы узнать о IPtables и работе с ним. Вероятно, все уже так или иначе имели дело с файерволом -- не буду особо заострять внимание на некоторых моментах... Однако кое-что из азов уточнить хотелось бы, а именно то, как ведёт себя пакетный фильтр в ОС Linux (ipchains, iptables) и *BSD (ipfw) и в чём состоит главное отличие в его поведении от *BSD (IPFilter, pf). В Linux, все входящие пакеты попадают в цепочку INPUT, а исходящие -- в OUTPUT (это утверждение справедливо только для нетранзитных пакетов, то есть предназначенной данной машине). В *BSD системах -- это in и out. Отличие в следующем: в Linux (ipchains и iptables) и *BSD (ipfw) прграмма фильтрации вызывается по одному разу для каждого правила фильтрации. Этот единственный раз соответствует первому подходящему для пакета правилу. То есть если мы укажем несколько правил Код:
iptables -A INPUT -m stare --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp --dport 21 -j ACCEPT iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp --dport 21 -j REJECT iptables -A INPUT -s 10.0.0.0/17 -d 10.0.75.5 -p tcp -m tcp -m multiport --dports 137,139 -j ACCEPT iptables -A INPUT -j REJECT iptables -A OUTPUT -j ACCEPT Это обусловлено тем, что для всех пакетов, соответсвующих требованиям: - исходящий адрес из диапазона 10.0.0.0/17 - адрес назначения 10.0.75.5 - TCP протокол - порт назначения 21 уже обработаны -- к ним применено ПЕРВОЕ правило, которому они соответствовали. а именно -- ACCEPT! То есть для Linux (ipchains, iptables) следует правила составлять в порядке от менее значимого к более значимому. Вследствие обработки лишь первых правил, соответсвующих пакету, повышается производительность файерволов iptables и ipchains в сравнении с IPFilter и pf. В *BSD системах (FreeBSD с IPFilter и OpenBSD с pf) -- всё с точностью до наоборот!!! То есть файервол там работает по принципу "консервативного" файервола -- к пакету будет применено ПОСЛЕДНЕЕ правило, которому он будет соответствовать! То есть, если мы напишем в /etc/pf.conf для OpenBSD Код:
block in pass out keep state pass in on $ext_if proto tcp from 10.0.0.0/17 to 10.0.75.5 port 21 keep state Для более детального ознакомления с опциями программы iptables, рекоммендую обратиться к прочтению следующего документа: ftp://10.0.75.5/exch/linux-info/iptables-textbook.tgz Цитата: FirewallBuilder - это просто графический интерфейс для iptables или я неправ? Да. |
![]() |
![]() |
#2 |
Местный
Регистрация: 26.04.2006
Адрес: Улица Свободы
Сообщений: 1,249
Вы сказали Спасибо: 4
Поблагодарили 73 раз(а) в 53 сообщениях
|
![]()
почитал документ, пасибо
возник вопрос - в консоли я запускаю iptables командой Код:
/etc/rc.d/init.d/iptables start просто если использовать просто iptables или путь указанный выше и уже настройки какие-либо, выдается что команда не найдена и еще вопрос - может, хотя не дошел еще по мануалу, - при загрузке iptables автоматом грузится последний файл настроек? и как создать свой файл и добавить iptables в автозагрузку по умолчанию понимаю, что вопросы детские, но... увы... "я не волшебник, я только учусь"
__________________
Все, что когда-либо происходит, никогда не забывается. Даже если ты об этом не помнишь. (с)Spirited Away Возможно, люди заблуждаются и совершают ошибки потому, что у них есть что-то важное. И это "что-то" по-настоящему дорого им. |
![]() |
![]() |
#3 | |
Местный
|
![]() Цитата:
Код:
/sbin/iptables -A OUTPUT -j ACCEPT #себе мы разрешаем всё! /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #всем остальным -- только то, что можно /sbin/iptables -A INPUT -s 10.0.0.0/17 -d 10.0.23.29 -p tcp -m tcp -m multiport --dports 137,138,139,445 -j ACCEPT /sbin/iptables -A INPUT -s 10.0.0.0/17 -d 10.0.23.29 -p tcp -m tcp --dports 21 -j ACCEPT #и так далее Код:
man iptables-save man iptables-restore Просмотреть текущий набор правил можно при помощи комманды Код:
iptables -L Код:
man iptables Иногда это может поставить в тупик: как так (iptables у меня точно стОит, а система мне говорит: "command not found")? Для поиска можно воспользоваться утилитой locate: Код:
locate iptables Иногда просто нужно узнать расположение системной утилитки (только в том случае, если путь к ней присутствует в переменной окружения $PATH) -- в этом случае поможет which: Код:
which updatedb
__________________
grumbler |
|
![]() |
![]() |
#4 | |
Местный
Регистрация: 26.04.2006
Адрес: Улица Свободы
Сообщений: 1,249
Вы сказали Спасибо: 4
Поблагодарили 73 раз(а) в 53 сообщениях
|
![]() Цитата:
Код:
[root@dekwin Lain]# /sbin/iptables-restore -t /etc/foomatic/filter.conf а вообще все-таки как восстановить нормально правила? в мануале по восстановлению упоминается только параметры -с (восстановить все как я понял) и -n (не очищать все вроде как), просто еще интересно где точно лежил этот файл настроек вобщем вот как все происходит: Код:
[root@dekwin dekwin]# /etc/rc.d/init.d/iptables start Applying iptables firewall rules: [ DONE ] [root@dekwin dekwin]# /sbin/iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [root@dekwin dekwin]# /sbin/iptables -A OUTPUT -j ACCEPT [root@dekwin dekwin]# /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@dekwin dekwin]# /sbin/iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere [root@dekwin dekwin]# /sbin/iptables-save -c -t /sbin/iptables-save: option requires an argument -- t # Generated by iptables-save v1.3.1 on Tue May 16 14:42:45 2006 *nat :PREROUTING ACCEPT [315:44349] :POSTROUTING ACCEPT [2:115] :OUTPUT ACCEPT [2:115] COMMIT # Completed on Tue May 16 14:42:45 2006 # Generated by iptables-save v1.3.1 on Tue May 16 14:42:45 2006 *mangle :PREROUTING ACCEPT [8879:12060245] :INPUT ACCEPT [14298:17852109] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [4533:185315] :POSTROUTING ACCEPT [7265:314208] COMMIT # Completed on Tue May 16 14:42:45 2006 # Generated by iptables-save v1.3.1 on Tue May 16 14:42:45 2006 *filter :INPUT ACCEPT [6102:8122457] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2519:104415] [2629:3917568] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT [2014:80900] -A OUTPUT -j ACCEPT COMMIT # Completed on Tue May 16 14:42:45 2006 [root@dekwin dekwin]# /etc/rc.d/init.d/iptables stop Resetting built-in chains to the default ACCEPT policy: [ DONE ] [root@dekwin dekwin]# /etc/rc.d/init.d/iptables start Applying iptables firewall rules: [ DONE ] [root@dekwin dekwin]# /sbin/iptables-restore -c -n а еще покопался в fwbuilder - есть там темка интересная... создается просто *.fw скрипт, при запуске которого все правила автоматом добавляются в iptables... единственное что пока не очень понятно, как в самом fwbuilder правила добавлять... уж больно хитро там как-то...
__________________
Все, что когда-либо происходит, никогда не забывается. Даже если ты об этом не помнишь. (с)Spirited Away Возможно, люди заблуждаются и совершают ошибки потому, что у них есть что-то важное. И это "что-то" по-настоящему дорого им. Последний раз редактировалось Vulzscht; 16.05.2006 в 15:43. |
|
![]() |
![]() |
#5 | |||
Местный
|
![]()
Скрипт /etc/init.d/iptables уже умеет и сохранять и восстанавливать правила.
Притом делает он это в момент старта и останова автоматически. Цитата:
При вводе вышеуказанной комманды, iptables просто выплюнул тебе всё на стандартный вывод (дисплей). Для сохранения всего этого хозяйства в файл, необходимо перенаправить вывод в файл, например Код:
/sbin/iptables-save -c > /etc/sysconfig/iptables-rules Код:
/sbin/iptables-restore -c < /etc/sysconfig/iptables-rules Код:
iptables-restore -n новый_набор_правил Цитата:
Таблицы же mangle и nat тебе не нужны. Без опции -t имя_таблицы iptables должен сохранять/восстанваливать весь набор правил. Цитата:
Разбирайся!
__________________
grumbler |
|||
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|