Брандмауэр блокирует FTP-сервер в Windows 2008 R2

10

Я могу получить доступ к FTP-сайту без проблем с локального компьютера, но время ожидания с удаленного компьютера истекло.

Если я выключаю брандмауэр ПОЛНОСТЬЮ, он работает. Очевидно, что это не совсем удовлетворительное решение.

Я попытался выполнить эти шаги , но сейчас безрезультатно.

На моей удаленной машине я использую Filezilla в качестве FTP-клиента. Ниже приведен вывод, который я получаю при попытке доступа к сайту. Как видите, ему удается подключиться и пройти проверку подлинности, но попытка составить список каталога истекает.

Может кто-нибудь сказать мне, где я должен искать дальше?

Status: Connecting to 192.168.15.12:21...
Status: Connection established, waiting for welcome message...
Response:   220 Microsoft FTP Service
Command:    USER CMSDEVELOPMENT\CMSdev
Response:   331 Password required for CMSDEVELOPMENT\CMSdev.
Command:    PASS ******
Response:   230-Directory has 71,805,415,424 bytes of disk space available.
Response:   230 User logged in.
Command:    OPTS UTF8 ON
Response:   200 OPTS UTF8 command successful - UTF8 encoding now ON.
Status: Connected
Status: Retrieving directory listing...
Command:    PWD
Response:   257 "/" is current directory.
Command:    TYPE I
Response:   200 Type set to I.
Command:    PASV
Response:   227 Entering Passive Mode (192,168,15,12,192,160).
Command:    LIST
Response:   150 Opening BINARY mode data connection.
Error:  Connection timed out
Error:  Failed to retrieve directory listing

Глядя на логи брандмауэра, я вижу эти записи:

2012-04-23 14:44:54 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:44:57 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 52 S 650301735 0 65535 - - - RECEIVE
2012-04-23 14:45:03 DROP TCP 192.168.15.90 192.168.15.12 55743 49342 48 S 650301735 0 65535 - - - RECEIVE
Андрей Шепард
источник

Ответы:

25

Я наконец-то заставил его работать, но я кое-чему научился:

  • IIS позволит вам настроить порты, которые FTP-сервер будет использовать в пассивном режиме. Но для меня это НЕ вступило в силу, пока я не перезапустил службу с именем «Microsoft FTP Service»

  • Когда я посмотрел на правила входящего брандмауэра, я увидел три предварительно настроенных правила:

    • FTP-сервер (FTP-трафик)
    • Пассивный FTP-сервер (FTP-пассивный трафик)
    • FTP-сервер защищен (FTP-трафик SSL в)

Эти правила выглядели как то, что мне нужно. Но по какой-то причине они ничего не делали. Когда я создал свои СОБСТВЕННЫЕ правила, определяющие точно такие же вещи, это работало. (Видимо, я не первый, кто сталкивается с этой проблемой, см. Эту публикацию .)


Позже Редактирование : Читая комментарии ниже, кажется, я ошибся по поводу того, что эти правила не работают. Вам просто нужно включить их и перезапустить службу Microsoft FTP

Андрей Шепард
источник
9
Спасибо Эндрю за подсказку по перезапуску "Microsoft FTP Service"! : D Это сделал это для меня.
1
На Windows Server 2012 я также обнаружил, что предварительно настроенные правила не работают. Однако остановка и перезапуск службы FTP, похоже, разбудили их и исправили для меня. Отличный совет. :-D
Ричард Хауэллс
3
Перезапуск «Microsoft FTP Service» исправил это и для меня (на 2012 R2). У меня были эти предварительно настроенные правила, но по какой-то причине они не вступили в силу.
Ник Джонс
Просто для справки: « net stop msftpsvc» и « net start msftpsvc» - это способ перезапуска службы FTP из командной строки.
Уве Кейм
Перезапуск "Microsoft FTP Service" был для меня ключом. Это отлично сработало после того, как я это сделал.
Мэтти Браун
3

У меня та же проблема при новой установке Server 2012, но мне пришлось перезапустить службу Windows FireWall, чтобы она заработала.

profector
источник
1

Возможно, вы захотите попытаться отключить отключение фильтрации FTP с отслеживанием состояния:

netsh advfirewall установить глобальное отключение StatefulFTP

и обязательно перезапустите службу FTP

(см. также: http://blog.nenoloje.com/2013/01/ftp-service-for-iis-client-connection.html )

Neno
источник
1

Создайте новое правило брандмауэра. Выберите опцию программы. Выберите этот путь к программе. Вставьте% systemroot% \ system32 \ svchost.exe в путь. Принять предупреждающее сообщение. Разрешить для всех соединений, дать имя. Выключите / включите брандмауэр. Выполнено.

Джон
источник