Назад | Перейти на главную страницу

FTP в Linux «Не удалось получить список каталогов», а не проблема брандмауэра

У меня есть VPS в Германии под управлением Debian X64. У меня очень странная проблема.

У меня установлен ISPConfig CP с помощью proftpd, и я никак не могу подключиться к FTP.

Несколько часов назад я установил DirectAdmin на тот же VPS CentOS и с той же проблемой.

Просто когда я подключаюсь к FTP-серверу, я получаю следующее:

 Status:    Resolving address of web02.defikon.com
Status: Connecting to 130.255.190.71:21...
Status: Connection established, waiting for welcome message...
Response:   220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
Response:   220-You are user number 1 of 50 allowed.
Response:   220-Local time is now 12:15. Server port: 21.
Response:   220-This is a private system - No anonymous login
Response:   220-IPv6 connections are also welcome on this server.
Response:   220 You will be disconnected after 15 minutes of inactivity.
Command:    USER default1
Response:   331 User default1 OK. Password required
Command:    PASS ******
Response:   230-User default1 has group access to:  client0    sshusers  
Response:   230 OK. Current restricted directory is /
Command:    OPTS UTF8 ON
Response:   200 OK, UTF-8 enabled
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is your current location
Command:    TYPE I
Response:   200 TYPE is now 8-bit binary
Command:    PASV
Error:  Connection timed out
Error:  Failed to retrieve directory listing

Я даже попробовал telnet localhost 21, и случилось то же самое. Как только я запускаю команду «СПИСОК», у меня выходит время ожидания. Я перепробовал все, но не могу заставить это работать = (

Пожалуйста помоги !

P.S .: iptables выключен.

FTP использует более одного порта. TCP 21 предназначен только для командного канала. Когда вы составляете список каталогов, вы передаете результат через канал данных.

Поскольку вы используете пассивный режим, сервер откроет случайный высокий порт (> 1024) для канала данных, и клиент должен открыть второе TCP-соединение с этим портом.

Обычно сразу после команды PASV сервер должен ответить

227 Entering Passive Mode (130,255,190,71, 4, 128)

Это сообщит вашему клиенту, что сервер 130.255.190.71 слушает вас через порт (4 * 256 + 128) = 1152

Итак: - Попробуйте получить необработанное сообщение, включая ответ от сервера (ответ на команду PASV) - Еще раз проверьте правила вашего брандмауэра

FTP не будет работать, если вы И ваш ftp-сервер оба защищены брандмауэрами. Его можно заставить работать, но он хрупкий и включает в себя живых голубей и порошок вуду.

Вы можете увидеть, сможете ли вы использовать SFTP, который будет подключаться с использованием зашифрованного соединения и очень хорошо работает с двумя брандмауэрами (я использую его в своих системах).

Если вы можете подключиться к машине по ssh, вы можете использовать rsync, sftp и scp для перемещения файлов вперед и назад, даже полные деревья подкаталогов. sftp - это в значительной степени ftp, только по ссылке ssh / ssl.

Я понимаю, что вы используете VPN, но шифрование никогда не повредит, а FTP передает все в открытом виде. (Я полагаю, что stunnel может помочь в этом, но все же ... ftp старый и плохо работает с брандмауэрами.)

Проблема была устранена вчера. Проблема с FTP была вызвана ошибкой SolusVM. Проблема была устранена, и теперь FTP работает нормально.

Спасибо за все ответы.