FTP в пассивном режиме: EHOSTUNREACH - нет маршрута к хосту
У меня есть FTP-сервер, который работал без проблем около месяца.
Сегодня я не могу подключиться к нему с помощью filezilla, я получаю следующее сообщение:
Не удалось установить соединение для передачи данных: EHOSTUNREACH - Нет маршрута к хосту
Я искал в Google/SO и обнаружил, что это может быть проблема TLS. Тем не менее, я могу подключиться к FTP-серверу с помощью консоли:
$ ftp
ftp> open mymachine.mycompany.com
Connected to mymachine.mycompany.com
220 Bienvenue sur le serveur FTP mymachine.mycompany.com.
Name (mymachine.mycompany.com:adenoyelle): mylogin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwxr-xr-x 2 502 502 20480 Jun 05 11:51 Ga
drwxr-xr-x 7 502 502 4096 Apr 21 15:41 Bu
drwxr-xr-x 7 502 502 4096 Jun 03 16:26 Zo
226 Directory send OK.
ftp>
Что может быть причиной этого?
РЕДАКТИРОВАТЬ: я обнаружил, что включение "Активный" режим решает проблему в Filezilla, но мне нужно, чтобы он работал в пассивном режиме
РЕДАКТИРОВАТЬ: Вот полный след на стороне Filezilla:
Status: Connecting to 10.196.***.***
Status: Connection established, waiting for welcome message...
Response: 220 Bienvenue sur le serveur FTP mymachine.mycompany.com.
Command: USER mylogin
Response: 331 Please specify the password.
Command: PASS ******
Response: 230 Login successful.
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features:
Response: EPRT
Response: EPSV
Response: MDTM
Response: PASV
Response: REST STREAM
Response: SIZE
Response: TVFS
Response: UTF8
Response: 211 End
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/home/mylogin"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Response: 227 Entering Passive Mode (10,196,165,224,189,253).
Command: LIST
Error: The data connection could not be established: EHOSTUNREACH - No route to host
3 ответа
Была такая же проблема с PASV и PORT и Filezilla и vsftpd. Соединение устанавливается успешно, поэтому оно не возвращается в активный режим в Filezilla.
Используя настройки по умолчанию для vsftpd, Filezilla и открытия порта 21/TCP, вам нужно переключиться в активный режим, чтобы он работал.
Ну, есть одно различие между этими двумя, в командной строке вы используете PORT
и Filezilla использует PASV
изменение направления используемого соединения. PORT
означает, что ваш компьютер открывает порт и ожидает подключения с сервера. PASV
означает, что сервер открывает порт и ожидает подключения клиента.
Возможно ли, что на сервере установлен брандмауэр, блокирующий входящие соединения, возможно, брандмауэр туп и не может автоматически определить PASV
приведите и разрешите соответствующий порт. Возможно, это работало раньше, потому что сервер выбирал порты, которые находились в пределах диапазона, разрешенного брандмауэром.
Я столкнулся с той же проблемой на ubuntu 20 LTS. Проблема была связана с брандмауэром в интернет-сервисе (Airtel-wifi). Он работал нормально, когда я подключался к Интернету своего телефона через USB-модем. Попробуйте сменить интернет-соединение, точно будет работать.