PDA

Показать полную графическую версию : Если сажаю ftp сервер на другой порт, не грузится список каталогов.


mitiya
26-03-2009, 22:14
В общем ситуация следующая:

Есть сервер на нем винроут(nat раздает инет). 192.168.1.1
Есть комп во внутренней сети на нем ftp сервер FileZilla Server version 0.9.27 beta. ip 192.168.1.2

mitiya
26-03-2009, 22:15
Делаю сервер доступным из инета:
Пишу правило которое перенаправляет запросы на 21 порт на 192.168.1.2
Все работает нормально.

А если я например назначу чтоб ftp висел на 21000 порту и напишу правило которое запросы на этот порт тоже будет направлять на 192.168.1.2 , то

наблюдается очень странная ситуация:
Появляется запрос авторизации, авторизация проходит нормально, но на этапе загрузки списка каталогов все встает намертво.
FileZilla пишет 425 Can't open data connection.

lxa85
27-03-2009, 09:20
mitiya, FTP (http://en.wikipedia.org/wiki/FTP)
FileZilla пишет 425 Can't open data connection. »
Какой метод соединения с сервером? Активный или пассивный?
Возьмите напримерwireshark (http://www.wireshark.org/) и проанализируйте, куда идут пакеты.

mitiya
27-03-2009, 09:45
соединялся с помощью тотал командера , галочка passive mode стоит , соответственно пассивный :)

Negativ
27-03-2009, 14:56
mitiya,
что в логах ftp сервера?

mitiya
27-03-2009, 21:09
(000017) 27.03.2009 21:03:49 - (not logged in) (83.149.3.23)> USER mit
(000017) 27.03.2009 21:03:49 - (not logged in) (83.149.3.23)> 331 Password required for mit
(000017) 27.03.2009 21:03:59 - (not logged in) (83.149.3.23)> PASS ************
(000017) 27.03.2009 21:03:59 - mit (83.149.3.23)> 230 Logged on
(000017) 27.03.2009 21:03:59 - mit (83.149.3.23)> SYST

(000017) 27.03.2009 21:03:59 - mit (83.149.3.23)> 215 UNIX emulated by FileZilla
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> FEAT
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> 211-Features:
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> MDTM
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> REST STREAM
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> SIZE

(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> MODE Z
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> MLST type*;size*;modify*;
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> MLSD
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> UTF8
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> CLNT
(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> MFMT

(000017) 27.03.2009 21:04:00 - mit (83.149.3.23)> 211 End
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> PWD
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> 257 "/" is current directory.
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> TYPE A
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> 200 Type set to A
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> MODE Z
(000017) 27.03.2009 21:04:01 - mit (83.149.3.23)> 200 MODE set to Z.

(000017) 27.03.2009 21:04:02 - mit (83.149.3.23)> PASV
(000017) 27.03.2009 21:04:02 - mit (83.149.3.23)> 227 Entering Passive Mode (192,168,1,11,82,11)
(000017) 27.03.2009 21:04:24 - mit (83.149.3.23)> PORT 10,231,189,170,6,167
(000017) 27.03.2009 21:04:24 - mit (83.149.3.23)> 200 Port command successful
(000017) 27.03.2009 21:04:24 - mit (83.149.3.23)> LIST
(000017) 27.03.2009 21:04:24 - mit (83.149.3.23)> 150 Opening data channel for directory list.
(000017) 27.03.2009 21:04:35 - mit (83.149.3.23)> 425 Can't open data connection.

Alan85
28-03-2009, 19:25
цитата с википедии (http://ru.wikipedia.org/wiki/FTP) :
Протокол FTP относится к протоколам прикладного уровня и для передачи данных использует транспортный протокол TCP. Команды и данные, в отличие от большинства других протоколов передаются по разным портам. Порт 20 используется для передачи данных, порт 21 для передачи команд.
Скорей всего если ты перенаправляешь 21 порт винроут тебя понимает, что это фтп и автоматом 20 порт кидает. А вот с другим портом непонятки выходят. Возможно в этом проблема.

kim-aa
28-03-2009, 23:57
Пишу правило которое перенаправляет запросы на 21 порт на 192.168.1.2
Все работает нормально. »

Подробнее про это ...

При помощи чего пишете. Правила фаервола опишите.

mitiya
29-03-2009, 00:31
Alan85, поглядел в сервисис в винроуте в севисе ftp только 21 порт больше ничего.
к томуже в настройках FileZilla Server нигде нет 20 порта , как же его тогда изменить.

kim-aa,
internet any tcp/udp 21 map (192.168.1.11)

Alan85
29-03-2009, 15:13
Посмотри какие порты открыты командой netstat при нормальной работе ftp . Скорей всего с портом 21000 дополнительно необходимо кинуть порт 20:
internet any tcp/udp 21000 map (192.168.1.11)
internet any tcp/udp 20 map (192.168.1.11)

Alan85
29-03-2009, 15:34
http://www.winroute.ru/forum/viewtopic.php?t=6933&postdays=0&postorder=asc&start=0 - в тему

mitiya
29-03-2009, 19:40
Alan85, я ведь фтп на другой порт поставил не из спортивного интереса, а из-за того что один ftp уже есть, а мне нужно поднять еще один , причем именно доступный из вне. Так что мапить 20 порт нет смысла (тем более я проверил это не помогает).

Я вот проверил сейчас, в правиле мапил только 21 порт (именно порт а не сервис ftp) , больше ничего. В FileZilla все по умолчанию, пассив моде на дифаулт. Все работает отлично, netstat показывает только соединение на 21 порту.

Провел еще один эксперимент, в FileZilla изменил порт на 21000 , а на фаерволе в правиле для 21 порта мапил на 192,168,1,11:21000 . Дак вот что интересно заработало без проблем, получается проблема в винроуте где-то.




© OSzone.net 2001-2012