Страница 1 из 1

frox и фаярвол

Добавлено: 2007-09-10 10:38:12
Slider007
Разобравшись со Сквидом начал доковыривать Фрокс.
Конфиг почти как в http://www.lissyara.su/?id=1018:

Код: Выделить всё

Listen 192.168.60.1
Port 2121
User clamav
Group clamav
WorkingDir /tmp/frox
DontChroot Yes
LogLevel 25
LogFile /var/log/frox.log
PidFile /var/run/frox.pid
APConv yes
BounceDefend yes
CacheModule local
CacheSize 400
MinCacheSize 1
VirusScanner '"/usr/local/bin/clamscan" "--quiet" "%s"'
VSOK 0
VSProgressMsgs 30
MaxForks 10
MaxForksPerHost 4
ACL Allow * - *
AllowNonASCII yes
Запускается и работает, но не так как надо.
На клиентской Reget'ом пытаюсь прицепиться например к ftp.avp.ru. Соединение происходит не удачно.
В логах Фрокса вот что:

Код: Выделить всё

...Mon Sep 10 14:23:48 2007 frox[56210] Rewriting PORT command to PASV
Mon Sep 10 14:23:48 2007 frox[56210]   C: PASV^M

Mon Sep 10 14:23:48 2007 frox[56210] Rewriting 227 reply.
Mon Sep 10 14:23:48 2007 frox[56210]   S: 200 PORT command OK.^M

Mon Sep 10 14:23:48 2007 frox[56210] Connecting to both data streams for LIST command
Mon Sep 10 14:23:48 2007 frox[56210] Permission denied when trying to connect to 192.168.60.11
Mon Sep 10 14:23:48 2007 frox[56210] Failed to contact client data port
Mon Sep 10 14:23:48 2007 frox[56210]   S: 425 Can't open data connection^M

Mon Sep 10 14:23:48 2007 frox[56210] Client closed connection
Mon Sep 10 14:23:48 2007 frox[56210] Closing session
Заподозрив неладное создал правило в фаярволе :

Код: Выделить всё

${FwCMD} add deny log ip from any to 192.168.60.11 via ${LanIn}
В логе появляется строка:

Код: Выделить всё

Sep 10 14:23:48 bsdgate kernel: ipfw: 4100 Deny TCP 192.168.60.1:42991 192.168.60.11:5003 out via fxp1
192.168.60.1 - сервер
192.168.60.11 - клиентская машина с которой пытаюсь в фтп серверу цепляться.
Причем номер порта (42991 в данном случае) может варьироваться от ~40000 до ~60000.
Открыл полностью фаярвол на внутреннем интерфейсе.
Пытаюсь снова прицепиться, в логах Фрокса вот что:

Код: Выделить всё

...Mon Sep 10 14:30:46 2007 frox[59136] Rewriting PORT command to PASV
Mon Sep 10 14:30:46 2007 frox[59136]   C: PASV^M

Mon Sep 10 14:30:46 2007 frox[59136] Rewriting 227 reply.
Mon Sep 10 14:30:46 2007 frox[59136]   S: 200 PORT command OK.^M

Mon Sep 10 14:30:46 2007 frox[59136] Connecting to both data streams for LIST command
А Регет говорит про таймаут.

И только после того, как я говорю Регету работать в пассивном режиме, соединение проходит.

Ну и вопрос то в следующем: шут с ним с пассивным режимом, выставить его не сложно. Но почему Регет ломится на 42991 порт ? Ведь если Фрокс прозрачный, то он и должен сам всё выдавать :? .
Или это фича ftp протокола ?
Вобщем что мне надо в фаярволе открыть, чтоб ftp нормально работал ?

Re: frox и фаярвол

Добавлено: 2007-09-10 10:44:24
Alex Keda
IPFW

Код: Выделить всё

# пассивный FTP
# для узнавания портранджа по которому будет работать, лезем в 
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.first
# net.inet.ip.portrange.first: 49152
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
# Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}

Re: frox и фаярвол

Добавлено: 2007-09-10 12:04:08
Slider007
Лиссяра, я добавил в фаярвол правило

Код: Выделить всё

${FwCMD} add allow tcp from any to ${IpIn} 49152-65535 via ${LanIn}
Но как я уже говорил в первом сообщении, Регет может началь цепляться например на порт 42991 (самый маленький который я заметил был 40201), а он естетсвенно в диапозон не попадает.
Причем команды

Код: Выделить всё

sysctl net.inet.ip.portrange.first
sysctl net.inet.ip.portrange.last
Выдают 49152 и 65535 соответственно, как и в твоей статье про фаярвол.

Вобщем я тупо в Регете жал на кнопку обновить, пока порт, по которому он пытался прицепиться не попадал в диапозон, как попадал, соответственно всё на ура соединялось. Такая же картина и в IE, с той лишь разницей что номера порта не видно при соединении :).

Ну и закономерный вопрос - можно ли в правиле для ipfw (см. выше) просто диапозон расширить и сделать его например 40000-65535 и потом спать спокойно ? Но тогда в чем смысл команд sysctl net.inet.ip.portrange.first/last ?

Re: frox и фаярвол

Добавлено: 2007-09-10 12:05:12
Alex Keda
да

Re: frox и фаярвол

Добавлено: 2007-09-10 12:18:26
Slider007
Спасибо