Вы используете активный режим FTP для подключения к серверу с Pure-FTPd. В активном режиме сервер должен подключиться к клиенту, чтобы открыть соединение для передачи данных (для передачи файлов или списка каталогов). Для этого клиент отправляет свой IP-адрес на FTP-сервер в команде PORT
.
Если FTP-сервер находится за пределами частной сети GCE, он, очевидно, не может подключиться к клиентской машине, поскольку машина находится за брандмауэром и NAT.
И на самом деле Pure-FTPd явно проверяет, соответствует ли IP-адрес в команде PORT
IP-адрес клиента соединения FTP-управления. Он не будет соответствовать, если клиент отправит свой внутренний IP-адрес в сети GCE. Если этот случай, сервер Pure-FTPd отклоняет передачу напрямую (даже не пытается подключиться) к сообщению об ошибке, вы получаете:
Я не буду открывать соединение с ... (только для ...)
blockquote>(где первый
...
- это IP-адрес, предоставленный клиентом в командеPORT
[локальный адрес в закрытом GCE сеть), а второй...
является внешним [NATed] IP-адресом клиента, как известно серверу.)Даже если клиент сообщил о внешнем [ NATed] в команде
PORT
, он все равно не будет работать, поскольку попытка подключения не пройдет мимо NAT и брандмауэра.По этой причине существует режим пассивного FTP, в котором клиент подключается к серверу, чтобы открыть соединение для передачи данных. Фактически, никто не использует активный режим в настоящее время.
См. (Моя статья) Режимы FTP-подключения для получения подробной информации о режимах.
Итак, переключитесь на пассивный Режим. Как это делается, зависит от клиента.
- В большинстве обычных * nix
ftp
клиентов командной строки используйте переключатель командной строки-p
, хотя по умолчанию используется пассивный режим В любом случае:-p
Используйте пассивный режим для передачи данных. Позволяет использовать ftp в средах, где брандмауэр предотвращает подключение внешнего мира к клиентской машине. Требуется, чтобы сервер ftp поддерживал команду PASV. Это значение по умолчанию для всех клиентов (ftp и pftp) из-за проблем с безопасностью, использующих режим передачи PORT. Флаг поддерживается только для совместимости и больше не действует.- Некоторые клиенты также поддерживают команду
passive
.