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

Исходное сообщение
"Помогите с IPFW"

Отправлено tzirulnicov , 22-Авг-04 12:02 
У меня уже голова пухнет...

Почему следующие правила приводят к тому, что клиент 192.168.1.1 не может ни к одному из портов во внешнем мире (сервера в Интернет) приконектиться ? Только пинги проходят...

tz# ipfw show
00110 2588 317525 divert 8668 ip from any to any
00200    0      0 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17
00210    0      0 reject ip from 192.168.1.0/24 to any in via vr0
00300 2634 260824 allow ip from any to any via lo0
00310   68   3072 allow tcp from me to any via vr0 keep-state
00320 1284  75292 allow icmp from any to any
00330   62   7036 allow udp from me to any
00340   34   2756 allow udp from any to me
00350  880  53676 allow ip from me to any
00400  621  33600 allow ip from any to me
01002 4132 225672 allow ip from 192.168.1.1 to any via rl0
01002 2616 164942 allow ip from any to 192.168.1.1 via rl0
65535 6549 664425 deny ip from any to any

Если добавить правило 1000 allow ip from any to any, то таже ситуация.
Если добавить то же самое правило, но под 120-ым номером, то всё ОК.
Помогите !


Содержание

Сообщения в этом обсуждении
"Помогите с IPFW"
Отправлено lamerusha , 23-Авг-04 09:03 
я думаю мало желающих разбираться в твоей "кучи" правил.
послушай прои идеологию работы ipfw
IMHO тебе это поможет правильно создавать правила.

1) правило выполняются - сверху вниз до первого явного указания на действие.
2) обрабатываются два раза - при входе на ipfw и при выходе
3) по умолчанию, divert natd равносилен allow
4) Лучший путь для FireWall'a - все нельзя - можно кое что .. ;)
5) Примеры ищи здесь на "ключах"
6) в обзорах по безопасности были сообщения о проблемах с конструкцией "me"


"Помогите с IPFW"
Отправлено tzirulnicov , 23-Авг-04 10:15 
> я думаю мало желающих разбираться в твоей "кучи" правил.

Упрощу:

00110 2588 317525 divert 8668 ip from any to any  
00350  880  53676 allow ip from me to any
00400  621  33600 allow ip from any to me
01002 4132 225672 allow ip from 192.168.1.1 to any via rl0
01002 2616 164942 allow ip from any to 192.168.1.1 via rl0
65535 6549 664425 deny ip from any to any

- клиент 192.168.1.1 не может ни конектиться к портам серверов в Интернет, только к портам сервера. Ы?

> послушай прои идеологию работы ipfw
>IMHO тебе это поможет правильно создавать правила.
>
>1) правило выполняются - сверху вниз до первого явного указания на действие.

Тогда почему правило 65535 deny ip from any to any всё не перекрывает ?
По-моему, снизу вверх выполняются...

>2) обрабатываются два раза - при входе на ipfw и при выходе
>3) по умолчанию, divert natd равносилен allow

divert natd ip from any to any=allow ip from any to any ?
Тогда почему, будучи divert natd на первом месте, данное правило не разрешает коннекты ?

>4) Лучший путь для FireWall'a - все нельзя - можно кое что
>.. ;)

Я знаю. :)

>5) Примеры ищи здесь на "ключах"
>6) в обзорах по безопасности были сообщения о проблемах с конструкцией "me"
>


Не нашёл. Не мог бы ты повториться ?


"Помогите с IPFW"
Отправлено lamerusha , 23-Авг-04 10:52 
ок
  - в ядре все включил ?
надеюсь Bridge - не указал ??? ;))) (недавно наступил на эти грабли ..)

еще один момент
IMHO nat для большей гибкости управления лучше включать так :

gtw# more /etc/run/natd
#!/bin/sh
natd -a %ext_ip%
-------------
       divert natd ip from $internal_inet to any out via  $out_if
       divert natd ip from any to %ext_ip%
-------------
>Не нашёл. Не мог бы ты повториться ?
нет не мог бы ;)


"Помогите с IPFW"
Отправлено andrew , 23-Авг-04 21:35 

>>1) правило выполняются - сверху вниз до первого явного указания на действие.
>
>Тогда почему правило 65535 deny ip from any to any всё не
>перекрывает ?
>По-моему, снизу вверх выполняются...
>

Блин. Все правильно. Если правило что-то открывает (или закрывает), то последующие правила на него уже НЕ повлияют. Разберись с работой ipfw.
А чтоб заработал твой пример просто правило с reject поставь после этих двух:
01002 4132 225672 allow ip from 192.168.1.1 to any via rl0
01002 2616 164942 allow ip from any to 192.168.1.1 via rl0

Да, и диверт повесь на интерфейс, на котором крутится natd


"Помогите с IPFW"
Отправлено DENNN , 23-Авг-04 11:18 
>У меня уже голова пухнет...
>
Балда ты потому что. Потому и не коннектиться клиент 192.168.1.1

>00210    0      0 reject ip from 192.168.1.0/24 to any in via vr0
>
>Если добавить правило 1000 allow ip from any to any, то таже
>ситуация.
>Если добавить то же самое правило, но под 120-ым номером, то всё
>ОК.
>Помогите !



"Помогите с IPFW"
Отправлено tzirulnicov , 23-Авг-04 18:49 
Какой обстоятельный и исчерпывающий ответ...

"Помогите с IPFW"
Отправлено DENNN , 23-Авг-04 11:21 
кроме того, для правила
>00110 2588 317525 divert 8668 ip from any to any
надо указать внешний интерфейс, на котором работает NAT.
Загляни в оригинальный /etc/rc.firewall - там есть все и все работает.

"Помогите с IPFW"
Отправлено tzirulnicov , 23-Авг-04 18:48 
Сетевой интерфейс в правилах IPFW у меня указан.

"Помогите с IPFW"
Отправлено Arifolth , 24-Авг-04 09:53 
>У меня уже голова пухнет...
>
>Почему следующие правила приводят к тому, что клиент 192.168.1.1 не может ни
>к одному из портов во внешнем мире (сервера в Интернет) приконектиться
>? Только пинги проходят...
>
>tz# ipfw show
>00110 2588 317525 divert 8668 ip from any to any
>00200    0      0 deny
>icmp from any to any in icmptypes 5,9,13,14,15,16,17
>00210    0      0 reject
>ip from 192.168.1.0/24 to any in via vr0
>00300 2634 260824 allow ip from any to any via lo0
>00310   68   3072 allow tcp from me to
>any via vr0 keep-state
>00320 1284  75292 allow icmp from any to any
>00330   62   7036 allow udp from me to
>any
>00340   34   2756 allow udp from any to
>me
>00350  880  53676 allow ip from me to any
>00400  621  33600 allow ip from any to me
>01002 4132 225672 allow ip from 192.168.1.1 to any via rl0
>01002 2616 164942 allow ip from any to 192.168.1.1 via rl0
>65535 6549 664425 deny ip from any to any
>
>Если добавить правило 1000 allow ip from any to any, то таже
>ситуация.
>Если добавить то же самое правило, но под 120-ым номером, то всё
>ОК.
>Помогите !

man ipfw
man natd
до просветления