URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 289
[ Назад ]

Исходное сообщение
"Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."

Отправлено Semion , 28-Окт-02 12:24 
Во FreeBSD насраиваю firewall следуюшим образом:
в файле rc.conf
firewall_enable="YES"
firewall_type="/etc/firewall.conf"
по умолчанию во FreeBSD стоит запрещающие правило на все пакеты.
в файле firewall.conf пишу, к примеру, следующие
....
add 400 allow tcp from 212.164.168.76 to any via ed0
add 400 allow tcp from any to 212.164.168.76 via ed0
....
теперь если не добавить строчку
add 65000 allow ip from any to any via ed0
то выше указанный хост не сможет передавать пакеты через интерфейс ed0
Помогите пожалуйста, как правильно описать правила, не используя
add 65000 allow ip from any to any via ed0

Содержание

Сообщения в этом обсуждении
"RE: Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."
Отправлено Dima , 29-Окт-02 23:00 
можно сделать так
${fwcmd} add 110 pass tcp from any to any established
${fwcmd} add 305 pass tcp from any to any 25 setup
${fwcmd} add 310 pass tcp from any to any 49 setup
${fwcmd} add 320 pass tcp from any to any 110 setup
.......
${fwcmd} add 999 deny log tcp from any to any setup
${fwcmd} add 65000 pass all from any to any

в этом случае у тебя не пустит по TCP всех, кроме указанных как setup (SYN пакеты)
и не чего страшного не будет, если у тебя в конце будет стоять
allow ip from any to any


"RE: Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."
Отправлено Semion , 30-Окт-02 10:01 
Спасибо за ответ, но мне бы хотелось сделать следующие
Из внутренней сити разрешить ходить во внешнюю всем машинам,но правила прописывать отдельно каждому ip-адресу, а из внешней сети только на определенные хосты и порты (25,80,21)

"RE: Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."
Отправлено Dima , 30-Окт-02 10:35 
ipfw NNN add pass all from 192.168.0.1 to any
ipfw NNN+1 add pass all from 192.168.0.2 to any
и так далее
а для внешних достатоточно то, что я уже писал ранее.
from any to any для ESTABLISH
а потом SETUP только на те порты которые хочешь разрешить доступ
в конце
ipfw XXX add reject log tcp from any to any

что то типа этого можно и для UDP портов сделать.
но там не будет ESTABLISH и SETUP.

посмотри более детально rc.firewall
там все это расписано с большими примерами


"RE: Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."
Отправлено privacyman , 08-Ноя-02 09:04 
Я это делал на фре ipfilter'ом :
предположим fxp0 - внешний,fxp1 -внутренний
rules for passed_inside_IP( pass in quick on fxp1 from IP to any keep state )
block in quick on fxp1 (блокирует пакеты всех остальных внутр IP)
pass in quick on fxp0 from any to inside_HTTP
block in quick on fxp0 from any to any

Это кратко. Но у меня ещё фильтр icmp(разрешен только ping request/reply), а весь udp с внешего интерфейса я убиваю


"RE: Пожалуйста помогите решить проблему, настраивая firewall под FreeBSD столкнулся с такой проблемой..."
Отправлено privacyman , 08-Ноя-02 09:11 
>Я это делал на фре ipfilter'ом :
>предположим fxp0 - внешний,fxp1 -внутренний
>rules for passed_inside_IP( pass in quick on fxp1 from IP to any
>keep state )
>block in quick on fxp1 (блокирует пакеты всех остальных внутр IP)
>pass in quick on fxp0 from any to inside_HTTP

---//--//
Поправочка:
pass in quick on fxp0 from any to inside_HTTP port 25,80


>block in quick on fxp0 from any to any
>
>Это кратко. Но у меня ещё фильтр icmp(разрешен только ping request/reply), а
>весь udp с внешего интерфейса я убиваю



"а кто-нить толком скажет почему не работает именно такая конфигурация?"
Отправлено azaz , 04-Фев-03 14:39 
>Во FreeBSD насраиваю firewall следуюшим образом:
>в файле rc.conf
>firewall_enable="YES"
>firewall_type="/etc/firewall.conf"
>по умолчанию во FreeBSD стоит запрещающие правило на все пакеты.
>в файле firewall.conf пишу, к примеру, следующие
>....
>add 400 allow tcp from 212.164.168.76 to any via ed0
>add 400 allow tcp from any to 212.164.168.76 via ed0
>....
>теперь если не добавить строчку
>add 65000 allow ip from any to any via ed0
>то выше указанный хост не сможет передавать пакеты через интерфейс ed0
>Помогите пожалуйста, как правильно описать правила, не используя
>add 65000 allow ip from any to any via ed0

Столкнулся с тако же траблой - все работает только при
add 65000 allow ip from any to any via ed0  - еще бы! :)
оч хочется изничтожить такой демократизьм...
обьясните плз как оно не работает при след. условиях?
add 400 allow tcp from 212.164.168.76 to any via ed0
add 400 allow tcp from any to 212.164.168.76 via ed0
и еще интересует мене знать почему при заданно 65000 строчке ipfw -a list выдает
...
65000   2881  569946   allow   ip  from   any   to  any
65535   81    109946   deny    ip  from   any   to  any
??? как срабатывает правило 65535 если перед ним есть 65000???


"RE: а кто-нить толком скажет почему не работает именно такая кон..."
Отправлено MIB , 06-Фев-03 18:08 
>65000   2881  569946   allow   ip
> from   any   to  any
>65535   81    109946   deny  
>  ip  from   any   to
> any
>??? как срабатывает правило 65535 если перед ним есть 65000???

мно тоже интересно почему?


"RE: а кто-нить толком скажет почему не работает именно такая кон..."
Отправлено Mikka , 20-Фев-03 17:29 

>Столкнулся с тако же траблой - все работает только при
>add 65000 allow ip from any to any via ed0  -
>еще бы! :)
>оч хочется изничтожить такой демократизьм...
>обьясните плз как оно не работает при след. условиях?
>add 400 allow tcp from 212.164.168.76 to any via ed0
>add 400 allow tcp from any to 212.164.168.76 via ed0

Ну ребята, вы даете - у вас же правила с одним номером - в результате действует только одно.

>и еще интересует мене знать почему при заданно 65000 строчке ipfw -a
>list выдает
>...
>65000   2881  569946   allow   ip
> from   any   to  any
>65535   81    109946   deny  
>  ip  from   any   to
> any
>??? как срабатывает правило 65535 если перед ним есть 65000???

Элементарно, если это протяженный во времени процесс - сначала правила 65000 не было, и все пакеты считались на 65535.
Потом чтобы себе чего-то разрешить вы добавили 65000, и уже пакеты считаются на этом правиле.
Итог - сбросить счетчики, сбросить правила, заново правила загрузить и смотреть.
И нумерацию в равилах нормальную проставить либо вообще ее убрать.



"RE: а кто-нить толком скажет почему не работает именно такая..."
Отправлено NickLM , 28-Мрт-03 14:12 
>
>>Столкнулся с тако же траблой - все работает только при
>>add 65000 allow ip from any to any via ed0  -
>>еще бы! :)
>>оч хочется изничтожить такой демократизьм...
>>обьясните плз как оно не работает при след. условиях?
>>add 400 allow tcp from 212.164.168.76 to any via ed0
>>add 400 allow tcp from any to 212.164.168.76 via ed0

приведенных правил недостаточно, правила прохождения пакетов
через внутренний интерфейс прописаны?

>

>Ну ребята, вы даете - у вас же правила с одним номером
>- в результате действует только одно.

Вполне можно писать правила с одним номером. Первым будет читаться
правило, введенное первым. Действует же всегда лишь одно правило из всего
файерволла (за исключением divert, когда после NATa пакет следует по
файерволлу далее и подобных случаев).

>
>>и еще интересует мене знать почему при заданно 65000 строчке ipfw -a
>>list выдает
>>...
>>65000   2881  569946   allow   ip
>> from   any   to  any
>>65535   81    109946   deny  
>>  ip  from   any   to
>> any
>>??? как срабатывает правило 65535 если перед ним есть 65000???
>
>Элементарно, если это протяженный во времени процесс - сначала правила 65000 не
>было, и все пакеты считались на 65535.
>Потом чтобы себе чего-то разрешить вы добавили 65000, и уже пакеты считаются
>на этом правиле.
>Итог - сбросить счетчики, сбросить правила, заново правила загрузить и смотреть.
>И нумерацию в равилах нормальную проставить либо вообще ее убрать.

Могу ошибаться, но насколько помню, я сбрасывал счетчики...и все-таки пакеты пробиваются к последнему правилу. Меня это тоже удивляет.
Я предположил, что по файерволлу могут идти
не только IP-пакеты, а еще и пакеты уровня MAC и ethernet (так сказано в man ipfw), у которых нет ай-пи или TCP-заголовка (т.е. они есть, но внутри, а не в полях заголовков). Может быть, они и пробиваются?