![]()  | 
	◊ | 
| 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) | |
		
  | 
	
		
  |