From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sun, 30 May 2004 12:40:50 +1100 From: Dmitry Lebkov To: community@altlinux.ru Subject: Re: [Comm] Re: =?KOI8-R?Q?=F0=CF=CD=CF=C7=C9=D4=C5_=D2=C1=DA=CF?= =?KOI8-R?Q?=C2=D2=C1=D4=D8=D3=D1_=D3?= iptables Message-Id: <20040530124050.50c76a4d.dima@sakhalin.ru> In-Reply-To: <20040529211630.2bd56520@juveman.pyat.atom.ru> References: <20040529151504.89F84E57EA@master.altlinux.ru> <20040529211630.2bd56520@juveman.pyat.atom.ru> X-Mailer: Sylpheed version 0.9.10 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 May 2004 01:40:13 -0000 Archived-At: List-Archive: List-Post: On Sat, 29 May 2004 21:16:30 +0400 Juveman wrote: [skip] > > # service iptables save > > # cat /etc/sysconfig/iptables > > > > и результаты сюда. > > > Вот результаты: > cat /etc/sysconfig/iptables > # Generated by iptables-save v1.2.9 on Sat May 29 20:53:21 2004 > *filter > :INPUT DROP [2740:387783] > :FORWARD DROP [0:0] > :OUTPUT DROP [818:58417] > [18:1392] -A INPUT -i lo -j ACCEPT > [299:102114] -A INPUT -p tcp -m multiport --sports 20,21,80 -j ACCEPT > [101:6102] -A INPUT -p tcp -j REJECT --reject-with icmp-port-unreachable > [12:2981] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT > [27545:1169439] -A OUTPUT -o lo -j ACCEPT > [678:51062] -A OUTPUT -s 10.0.222.8 -j ACCEPT > COMMIT > # Completed on Sat May 29 20:53:21 2004 У тебя REJECT-правило, отвергающее все tcp-пакеты применяется раньше чем '-m state'. Приведи /etc/sysconfig/iptables вот к такому виду: # Generated by iptables-save v1.2.9 on Sat May 29 20:53:21 2004 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] [0:0] -A INPUT -i lo -j ACCEPT [0:0] -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT [0:0] -A INPUT -p tcp -m multiport --sports 20,21,80 -j ACCEPT [0:0] -A INPUT -p tcp -j REJECT --reject-with icmp-port-unreachable [0:0] -A OUTPUT -o lo -j ACCEPT [0:0] -A OUTPUT -p tcp -m multiport -s 10.0.222.8 --dports 20,21,80 -j ACCEPT COMMIT # Completed on Sat May 29 20:53:21 2004 и всё будет работать так, как ты пытаешся сделать. Т.е. для хоста 10.0.222.8 будет разрешен tcp-трафик протоколов HTTP и FTP (в том числе и passive FTP), а всё остальное - запрещено. > Я еще не закончил правила писать, просто несколько раз уже > переписывал все. При таких правилах реально работает только > браузер и ICQ :)) Хотя должен, насколько я понимаю, еще и FTP. > Пробовал поставить правило -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT > вторым в цепочке INPUT до блокирования соединений со всех портов > кроме 20,21,80. Тогда работает вообще все (в том числе и фтп). Работаетвсё потому, что у тебя OUTPUT-правило разрешает всё для адреса 10.0.222.8. Разреши отправку пакетов только на нужные сервисы и будет то, что ты пытаешся получить. > Как будто запрета tcp соединений нет вообще. Если я правильно > понимаю, все дело в очередности прохождения этих правил? То есть > у меня пакет, который приходит с 21 порта принимается и уже не > проводится проверка его состояния? Так что ли? Проверка производится по цепочке сверху вниз, до первого совпадения. > В общем у меня пока получается либо разрешить нужные мне протоколы > (но тогда фтп не работает), либо сделать так, чтобы фтп работало > (но тогда не получается запретить соединения по ненужным мне протоколам). > Как-нибудь можно добиться и того, и другого? :)) > Может с цепочкой INPUT похимичить? :)) Химичь с цепочкой OUTPUT. Хотя, если тебе не нужен passive FTP, можно выбросить '-m state' и рулить только INPUT-цепочкой, но это - не очень хорошая идея ... ;) -- WBR, Dmitry Lebkov PS. Настрой в своем почтовом клиенте line wrapping на 73 символа - надоело переформатировать очень длинные квоты при ответе ...