3

Я пытаюсь подключиться к FTP-серверу, который находится за NAT. Локальный IP-адрес сервера - 172.23.11.41, общедоступный IP-адрес - 194.239.61.58, и я подключаюсь к общедоступному IP-адресу.

При входе в пассивный режим сервер возвращает свой локальный IP-адрес, который бесполезен. Пример:

227 Вход в пассивный режим (172,23,11,41,234,113).

FTP-клиент командной строки Linux не может установить канал данных, когда это происходит.

Мне нужно, чтобы клиент ftp игнорировал IP-адрес, возвращаемый пассивным режимом (PASV), или вместо этого использовал расширенный пассивный режим (EPSV), который возвращает только номер порта. Пример:

229 Вход в расширенный пассивный режим (||| 64607 |).

Есть какой-либо способ сделать это?

Изменить: Мне говорят, что мы используем ftp.x86_64, установленный с помощью sudo yum install ftp .

2 ответа2

4

Исправьте сервер. Он должен быть настроен для сообщения своего внешнего IP-адреса. Или NAT должен быть настроен для преобразования IP в ответе PASV .

Обычный клиент командной строки * nix ftp нельзя настроить на использование EPSV или использование IP- адреса управляющего соединения вместо IP- адреса, возвращенного в ответе PASV .

Или используйте другой клиент FTP, например, tnftp (используйте команду epsv4) или curl (по умолчанию EPSV).

0

Мартин Прикрыл:

"Исправьте сервер. Он должен быть настроен для сообщения своего внешнего IP-адреса. Или NAT должен быть настроен на перевод IP в ответе PASV. "

Я являюсь администратором FTP в крупном учреждении, где мы используем кластерную среду FTP с 4 узлами HA. 2 активных и 2 в режиме ожидания, все с балансировкой нагрузки и NAT'd. Проблема не обязательно "исправление сервера". Все наши серверы отвечают локальными IP-адресами для соединений PASV. Однако, если LB и NAT правильно настроены, КЛИЕНТ должен игнорировать IP-адрес PASV и использовать свой IP-адрес управляющего соединения при подключении через LB. АКТУАЛЬНАЯ проблема - сбой клиента Linux / FTP. Наша конфигурация является обычной стандартной конфигурацией, которая прекрасно работает со ВСЕМИ ДРУГИМИ КЛИЕНТАМИ, которые подключаются к нашим FTP-системам. Мы ТОЛЬКО видим эту проблему при использовании FTP / S на Linux-боксах или на нашем мэйнфрейме. В linux и IBM z / OS клиент FTP / S не разрешит соединение PASV, если PASV отличается от IP канала управления.

Просто хотел это объяснить.

Оригинальному постеру: При этом вы можете попробовать: ftp: ignore-pasv-address и посмотреть, позволит ли это установить соединение с каналом данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .