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

Исходное сообщение
"Активный режим FTP"

Отправлено khokhlov.denis , 21-Авг-07 11:42 
windows FTP-клиент (total commander, FAR, cmd, Ftp commander и т.д.) замечательно работают в пассивном режиме через pf (NAT) (FreeBSD6.1)
и не работают в активном режиме.
Connecting to ftp.narod.ru , 21 àâã 2007 11:34:54
< 220 first-ftp.narod.ru (Libra FTP daemon 0.17 20070613)
> USER *****

< 331 Password required
> PASS (hidden)

< 230 Logged in, proceed
> SYST

< 215 UNIX (L8)
> PWD

< 257 "/"
> TYPE A

< 200 Type: A N
> PORT XXX,XXX,XXX,XXX,8,229

< 200 PORT command OK
> LIST

< 150 Opening data connection

UNIX FTP-client работает в любом режиме:
[ЮНИКС] # ftp ftp.narod.ru
Connected to ftp.narod.ru.
220 first-ftp.narod.ru (Libra FTP daemon 0.17 20070613)
Name (ftp.narod.ru:admin1): ******
331 Password required
Password:
230 Logged in, proceed
Remote system type is UNIX.
ftp> pass
Passive mode: off; fallback to active mode: off.
ftp> pass
Passive mode: on; fallback to active mode: on.
ftp> dir
500 EPSV command not understood
227 Entering Passive Mode (XXX,XXX,XXX,XXX,253,233)
125 Using existing data connection
drwxr-xr-x    2 0        0             512 Aug 21 09:11 XXX
drwxr-xr-x    2 0        0             512 Aug 21 11:15 ZZZ
-rw-r--r--    1 0        0             224 Aug 21 11:15 CCC
drwxr-xr-x    2 0        0             512 Aug 21 08:53 SSS
drwxr-xr-x    2 0        0             512 Aug 21 08:53 AAA
226 Transfer completed
ftp> pass
Passive mode: off; fallback to active mode: off.
ftp> dir
200 PORT command OK
150 Opening data connection
drwxr-xr-x    2 0        0             512 Aug 21 09:11 XXX
drwxr-xr-x    2 0        0             512 Aug 21 11:15 ZZZ
-rw-r--r--    1 0        0             224 Aug 21 11:15 CCC
drwxr-xr-x    2 0        0             512 Aug 21 08:53 SSS
drwxr-xr-x    2 0        0             512 Aug 21 08:53 AAA
226 Transfer completed
ftp>

Могу конечно привести все настройки
inetd.conf и pf.conf

Но думаю, что ответ на поверхности.
помогите пожалуйста - умучался.


Содержание

Сообщения в этом обсуждении
"Активный режим FTP"
Отправлено Ivan , 21-Авг-07 12:15 
>[оверквотинг удален]
> 0          
>   512 Aug 21 08:53 AAA
>226 Transfer completed
>ftp>
>
>Могу конечно привести все настройки
>inetd.conf и pf.conf
>
>Но думаю, что ответ на поверхности.
>помогите пожалуйста - умучался.

Unix ftp client understands the regime of work, but win client - doesn't. Did you permit 20 and 21 ports in your firewall? If you permitted only 21 , you'd have the same problem which you have now.


"Активный режим FTP"
Отправлено khokhlov.denis , 21-Авг-07 12:55 
порты 20 и 21 открыты

pass in on $ext_if inet proto tcp from any port 20 to $ext_if port > 1023 user proxy flags S/SA keep state
pass in on $ext_if inet proto tcp from any to any port 21 keep state
соответственно в inetd.conf
ftp-proxy       stream  tcp     nowait  root    /usr/libexec/ftp-proxy  ftp-proxy -u proxy -m 65001 -M 65029 -t 120


схема такая

rdr pass on $int_if proto tcp from <c-banks> to any port 21 -> 127.0.0.1 port 8021

Т.е. насколько я понимаю, pf НАТит запрос к FTP-серверу и отбрасывает привелегии root-а
обратно на порты из диапазона 65001-65029 сервер отправляет данные.

все работает, если в Windows-клиентах ставить галку passive mode, если не ставить то сеанс зависает на
< 150 Opening data connection


"Активный режим FTP"
Отправлено Ivan , 21-Авг-07 14:37 
>[оверквотинг удален]
>>Могу конечно привести все настройки
>>inetd.conf и pf.conf
>>
>>Но думаю, что ответ на поверхности.
>>помогите пожалуйста - умучался.
>
>Unix ftp client understands the regime of work, but win client -
>doesn't. Did you permit 20 and 21 ports in your firewall?
>If you permitted only 21 , you'd have the same problem
>which you have now.

Did you set your firewall for logging? What do firewall logs show? Use tcpdump for understanding your case. I think you have something wrong with natting or network filtering.


"Активный режим FTP"
Отправлено khokhlov.denis , 21-Авг-07 14:47 
да, весь блокируемый трафик попадает на Pflog0.
я использую tcpdump -n -i pflog0
для настройки фаервола и ната.

собственно правила pass in all и pass out all не решают проблемы Win-клиентов


"Активный режим FTP"
Отправлено khokhlov.denis , 21-Авг-07 16:48 
в общем при всех тех же самых настройках, я просто установил pftpx вместо прежнего ftp-proxy. Все прекрасно работает.

если кто-то решил подобную задачу средством ftp-proxy + pf (FreeBSD) очень хотел бы перенять опыт


"Активный режим FTP"
Отправлено Alex_._ , 21-Авг-07 13:39 
UNIX FTP-client работает случайно не с роутера ?

"Активный режим FTP"
Отправлено khokhlov.denis , 21-Авг-07 13:59 
>UNIX FTP-client работает случайно не с роутера ?

нет. из той же подсети, что и WIN-client. Права у машин идентичные во всем.