Я пытаюсь подключиться к своему FTP-серверу с внешнего IP-адреса в Comcast Business.
На шлюзе я настроил переадресацию портов на порты 20-21 на свой сервер. Кроме того, я перенаправил на свой сервер порты 7000-8000 для использования в пассивном режиме.
В моем приложении FileZilla Server я установил пассивный режим, чтобы использовать свой статический IP-адрес и использовать подмножество портов, перечисленных выше.
К сожалению, он по какой-то причине не работает через внешний статический IP-адрес, но я могу внутренне.
Когда я пытаюсь подключиться через статический IP-адрес, монитор FileZila сообщает
Connected, sending welcome message....
220 FileZillaServer version 0.9.37 beta
could not send reply, disconnected
Мой брандмауэр не регистрирует никаких событий блокировки, и брандмауэр Windows отключен. Что я делаю не так или не хватает?
Казалось бы, по какой-то причине соединение через порт 21 не работает между внешним IP и вашим сервером Filezilla.
Я бы порекомендовал разрешить входящее и исходящее соединение через порт 21 как на внешней IP-станции, так и на сервере. После этого вы можете попробовать:
telnet на порт 21 с внешнего ip на сервер Filezilla
2. вам может потребоваться переслать ответ с сервера Filezilla на внешний IP-адрес (ошибка 220 - не удается получить приветственное сообщение)
То, что вы пытаетесь сделать, обычно не будет работать без перенастройки брандмауэра / устройства NAT.
Поток трафика для вашей текущей настройки будет в основном следующим (с использованием примеров IP):
Внутренний IP-адрес клиента: 10.0.0.100
Внутренний FTP-IP: 10.0.0.1
Внешний FTP-IP: 1.2.3.4
Вам нужно будет настроить или включить правило NAT типа «шпилька» (или отражение NAT, или другие различные термины в зависимости от производителя) на брандмауэре, чтобы установить сеанс NAT с внешним интерфейсом до того, как трафик вернется. Устройство Comcast может иметь возможность включить отражение NAT, но я не работал с ними раньше, я не могу сказать наверняка, есть они или нет.
Настоящий вопрос в том, почему вы пытаетесь сделать это именно так? Если вы просто пытаетесь протестировать, используйте настоящего внешнего клиента (либо попросите друга протестировать, либо настройте внешний клиент). Если вы пытаетесь сделать это таким образом, просто используйте IP или решение с разделенным DNS.
Пассивный режим и порты с высокими номерами не используются для фазы команды, поэтому это связано с передачей через порт 21.
Возможные варианты:
Наконец, вам следует по возможности избегать использования FTP. SFTP или FTPS - гораздо лучший выбор в общедоступном Интернете, поскольку весь контент, включая имена пользователей и пароли, отправляется в открытом виде.