Настройка: Server 2008 R2 Enterprise с подключением IIS 7.5 Home с динамическим внешним IP-адресом
Цель: зашифрованный пассивный ftp-сервер с интеграцией AD без настроек на стороне клиента (за исключением использования ftpes в их клиенте)
Проблема: я использую домашнее соединение с динамическим внешним IP-адресом, и брандмауэр явно делает что-то неладное.
Что происходит: он работает с перебоями (чаще всего ломается). Управляющие порты, кажется, работают нормально, но не порты данных, потому что он может связаться с аутентификацией и доходит до точки, где он должен вытащить виртуальный каталог
Далее следует дамп консоли FileZilla (идентифицирующая информация отредактирована):
Статус: разрешающий адрес xxxxx.dyndns.org
Статус: подключение к 123.123.123.123:21 ...
Статус: соединение установлено, ожидается приветственное сообщение ...
Ответ: 220 Служба Microsoft FTP
Команда: AUTH TLS
Ответ: 234 Команда AUTH в порядке. Ожидается согласование TLS.
Статус: инициализация TLS ...
Статус: проверка сертификата ...
Команда: USER topherhead
Статус: соединение TLS / SSL установлено.
Ответ: 331 Требуется пароль для topherhead.
Команда: ПРОЙДИТ ********
Ответ: 230 - [[обычно здесь приветственное сообщение]] сайт 222222
Ответ: В каталоге доступно 624 490 864 640 байт на диске.
Ответ: 230 Пользователь вошел в систему.
Команда: SYST
Ответ: 215 Windows_NT
Команда: FEAT
Ответ: 211-Расширенные функции поддерживаются:
Ответ: LANG EN *
Ответ: UTF8
Ответ: AUTH TLS; TLS-C; SSL; TLS-P;
Ответ: PBSZ
Ответ: PROT C; P;
Ответ: CCC
Ответ: HOST
Ответ: РАЗМЕР
Ответ: MDTM
Ответ: REST STREAM
Ответ: 211 END
Команда: OPTS UTF8 ON
Ответ: 200 OPTS Команда UTF8 выполнена успешно - кодировка UTF8 включена.
Команда: PBSZ 0
Ответ: команда 200 PBSZ выполнена успешно.
Команда: PROT P
Ответ: команда 200 PROT выполнена успешно.
Статус: Подключено
Статус: получение списка каталогов ...
Команда: PWD
Ответ: 257 "/" - текущий каталог.
Команда: ТИП I
Ответ: 200 Тип установлен на I.
Команда: PASV
Ответ: 227 Переход в пассивный режим (123,123,123,123,253,199).
Команда: СПИСОК
Ответ: 150 Открытие соединения для передачи данных в режиме BINARY.
Ошибка: ошибка GnuTLS -53: ошибка в функции push.
Велика вероятность того, что ваш брандмауэр поддерживает FTP, наблюдая за управляющим соединением (в основном то, что вы вставили выше) и динамически открывая порты, чтобы установить соединение для передачи данных (где сказано: «150 Открытие соединения для передачи данных в режиме BINARY»).
Вы зашифровали контрольное соединение. Брандмауэр не может этого сделать.
Что вам нужно сделать, так это отредактировать брандмауэр, чтобы разрешить диапазон портов (количество зависит от количества клиентов, которые у вас будут) для входа (или выхода, если вы разрешаете "активные" команды PORT вместо или в дополнение к ПАСВ). Затем вам нужно будет настроить FTP-сервер на использование только этих портов.
Это сложно / раздражает, но я видел, как он работает как минимум с одним защищенным FTP-сервером.