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

Исходное сообщение
"FreeBSD 5.4 ipfw - почему режет?"

Отправлено Andreon , 09-Сен-05 09:46 
Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна - ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip с сети ftp-клиента, все работет нормально.
01000 allow icmp from any to me
01001 allow ip from me to any
01002 allow ip from any to me dst-port 20,21
65535 deny ip from any to any

Содержание

Сообщения в этом обсуждении
"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Дениска , 09-Сен-05 09:56 
>Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна
>- ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip
>с сети ftp-клиента, все работет нормально.
>01000 allow icmp from any to me
>01001 allow ip from me to any
>01002 allow ip from any to me dst-port 20,21
>65535 deny ip from any to any
в пассивном режиме фтп сервер открывает на своей стороне не 20 порт для данных, а чаще всего какой-нить больше 40000(хотя это настраивается). Попробуй зайти гаранитрованно в активном режиме.


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Andreon , 09-Сен-05 10:04 
>>Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна
>>- ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip
>>с сети ftp-клиента, все работет нормально.
>>01000 allow icmp from any to me
>>01001 allow ip from me to any
>>01002 allow ip from any to me dst-port 20,21
>>65535 deny ip from any to any
>в пассивном режиме фтп сервер открывает на своей стороне не 20 порт
>для данных, а чаще всего какой-нить больше 40000(хотя это настраивается). Попробуй
>зайти гаранитрованно в активном режиме.
В активном режиме та же песня. на самом деле режется не только ftp, но и ssh:
01003: allow ip from any to me 22


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Дениска , 09-Сен-05 10:07 
>В активном режиме та же песня. на самом деле режется не только
>ftp, но и ssh:
>01003: allow ip from any to me 22
тогда добавь в последнее правило ipfw log, и смотри в лог + tcpdump. И все станет понятно.


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено butcher , 09-Сен-05 10:21 
>Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна
>- ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip
>с сети ftp-клиента, все работет нормально.
>01000 allow icmp from any to me
>01001 allow ip from me to any
>01002 allow ip from any to me dst-port 20,21

У ip протокола нет понятия портов. Пиши так:
allow tcp from any to me 20,21


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Дениска , 09-Сен-05 10:25 
>>Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна
>>- ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip
>>с сети ftp-клиента, все работет нормально.
>>01000 allow icmp from any to me
>>01001 allow ip from me to any
>>01002 allow ip from any to me dst-port 20,21
>
>У ip протокола нет понятия портов. Пиши так:
>allow tcp from any to me 20,21
блин, вот ведь невнимательность моя природная :(


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Andreon , 09-Сен-05 10:42 
>>У ip протокола нет понятия портов. Пиши так:
>>allow tcp from any to me 20,21
>блин, вот ведь невнимательность моя природная :(
не переживай насчет невнимательности.
короче, ситуация такая:

00500      248      13888 allow icmp from any to me
01000    18263    1306647 allow ip from me to any
01001        0          0 allow tcp from any to me dst-port 20
01002        2         88 allow tcp from any to me dst-port 21
01005    14046    1012576 allow ip from any to me dst-port 22
65535 25514024 1242727879 deny ip from any to any

соединение по 22 порту сделано при наличии правила, разрешающего весь ip с сети. далее это правило удаляется, и начинает действовать правило 1005 (заметь, ip с указанием порта 22). На новое соединение действует правило 65535. следует отметить, что по 21 пакеты-таки проскакивают. бред какой-то. сейчас перекомпилирую ядро с IPFIREWALL_VERBOSE...


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено butcher , 09-Сен-05 11:08 
>не переживай насчет невнимательности.

Да, на деле проверка всётаки происходит. В предыдущих версиях FreeBSD (говорю про 4х) такое правило нельзя было добавить вообще, и возможно в дальнейшем утилиту /sbin/ipfw поправят, чтобы это не работало.

>ядро с IPFIREWALL_VERBOSE...
Можно без перекомпиляции (проверял на 6-ке, 5ки щас нет под рукой..)

sysctl net.inet.ip.fw.verbose=1
sysctl net.inet.ip.fw.verbose_limit=100

у вас других пакетных фильтров нет случайно?


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Andreon , 09-Сен-05 13:44 
>>не переживай насчет невнимательности.
>
>Да, на деле проверка всётаки происходит. В предыдущих версиях FreeBSD (говорю про
>4х) такое правило нельзя было добавить вообще, и возможно в дальнейшем
>утилиту /sbin/ipfw поправят, чтобы это не работало.
>
>>ядро с IPFIREWALL_VERBOSE...
>Можно без перекомпиляции (проверял на 6-ке, 5ки щас нет под рукой..)
>
>sysctl net.inet.ip.fw.verbose=1
>sysctl net.inet.ip.fw.verbose_limit=100
  Спасибо, что мне не хватало, так это логов:)
>
>у вас других пакетных фильтров нет случайно?

Все, разобрался. Мне теперь других не надо:)
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1528 212.94.96.68:20 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1526 212.94.96.68:21 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1528 212.94.96.68:20 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1528 212.94.96.68:20 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1522 212.94.96.68:21 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1524 212.94.96.68:21 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1526 212.94.96.68:21 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1526 212.94.96.68:21 in via xl0
kernel: ipfw: 1001 Accept TCP 192.168.0.2:1530 212.94.96.68:21 in via xl0
last message repeated 9 times

Теперь совершенно чайниковский вопрос - а нафига ftpd открывать соединения по другим портам?


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Дениска , 09-Сен-05 14:37 
>Теперь совершенно чайниковский вопрос - а нафига ftpd открывать соединения по другим
>портам?
так для этого почитай чем отличаются пассивный и активный фтп моды.


"FreeBSD 5.4 ipfw - почему режет?"
Отправлено Andreon , 09-Сен-05 10:29 
>>Рязъясните, пожалуйста, почему ipfw режет пакеты по 20/21 портам? Задача, думаю, ясна
>>- ftp-сервер. Касательно ftpd все нормально, поскольку ежели полность разрешить ip
>>с сети ftp-клиента, все работет нормально.
>>01000 allow icmp from any to me
>>01001 allow ip from me to any
>>01002 allow ip from any to me dst-port 20,21
>
>У ip протокола нет понятия портов. Пиши так:
>allow tcp from any to me 20,21
ip - это уже результаты эксперимента. До этого с таким же успехом было записано правило на tcp.