Невозможно получить доступ к FTP-серверу с других компьютеров в той же локальной сети, когда включен брандмауэр Windows

3

У меня настроен FTP-сервер в Windows 10. Когда я выключаю свой брандмауэр Windows, я могу получить доступ к FTP-серверу с других компьютеров в той же локальной сети. Но когда я включаю брандмауэр, я не могу получить доступ к FTP. Это правила входящего трафика брандмауэра, которые, как мне кажется, специфичны для моей проблемы (я собирался перехватить и поделиться полным списком правил брандмауэра Windows. Но он огромен. Пожалуйста, укажите мне любое другое правило, которое мне нужно настроить. поделитесь здесь.)

Входящие правила введите описание изображения здесь введите описание изображения здесь

Исходящие правила введите описание изображения здесь введите описание изображения здесь

Подскажите пожалуйста что плохо настроено. (Я на Windows 10)

Mahesha999
источник

Ответы:

4

Для FTP вы должны убедиться, что вы открыли оба порта TCP 20и 21. Кроме того, если серверная служба, работающая на машине, использует пассивный режим , вам также потребуется открыть диапазон портов TCP, который настроен для использования FTP-сервером.

Быстрое разрушение порта

Похоже, что вы используете небезопасный FTP на портах TCP 20и 21( т.е. активных и пассивных ), а также, возможно, FTPS с неявным SSL на порте TCP 990и 989.

Протокол FTP использует порт / канал для элементов управления / команд и другой порт / канал для части обмена данными клиента и сервера.

Небезопасный FTP

  • Командный канал: TCP-порт 21
  • Канал данных (активный): порт TCP 20
  • Канал данных (пассивный): <FTP Server configured TCP port range>

FTPS с неявным SSL

  • Командный канал: TCP-порт 990
  • Канал данных (активный): порт TCP 989

Брандмауэр командной строки (этот раздел должен решить проблему)

Запустите приведенную ниже команду в командной строке с повышенными правами администратора, чтобы создать правило брандмауэра Windows, позволяющее входящему трафику, передаваемому службе FTP-сервера, обмениваться данными через соответствующие порты команд и данных для любого IP-адреса и любой области профиля классифицированных сетей ОС Windows.

Вам нужно указать program="<C:\FTPServer\FTPServer.exe>"значение, соответствующее вашему серверу, или использовать service=<ftpsvc>вместо него вместо него указав имя службы.

netsh advfirewall firewall add rule name="FTP Inbound" dir=in action=allow program="%windir%\system32\svchost.exe" remoteip=any localip=any protocol=TCP localport=20,21,990,989 remoteport=20,21,990,989 profile=any

Выполните приведенные ниже действия, чтобы отключить фильтрацию FTP с отслеживанием состояния, чтобы брандмауэр не блокировал трафик FTP, поэтому вам не нужно открывать весь диапазон пассивных портов, чтобы разрешить этот трафик.

netsh advfirewall set global StatefulFTP disable

Windows Firewall GUI

Убедитесь, что у вас есть область действия, определенная в правилах, чтобы диапазон IP-адресов в локальной сети был разрешен, либо разрешите доступ через любой IP-адрес . Наконец, вы должны убедиться, что сетевые адаптеры на сервере настроены в профиле, который разрешает правило брандмауэра.

Порты

Примечание. Добавьте диапазон пассивных портов, если это применимо.

введите описание изображения здесь

Объем

введите описание изображения здесь

профили

введите описание изображения здесь


Дополнительные ресурсы

Сок Pimp IT
источник
Что именно я должен сделать? Сразу хочу отметить, что у меня несколько экземпляров одного и того же правила. Например, на приведенных выше скриншотах вопроса у меня есть две записи "FTP-сервер (FTP-трафик)". Аналогично для других записей. Я не знаю, дублируют ли они, просто мне это кажется одинаковым. Я загрузил скриншоты разных вкладок с разными правилами, расположенными вертикально один над другим (см. Заголовок окон для названия правила) здесь . Как видите, флажок локальных / удаленных портов неактивен. (продолжение ...)
Mahesha999
(... продолжение) Остальные настройки я сделал так, как вы сказали. Но пока не работает. Пожалуйста, посмотрите скриншоты один раз и скажите мне, что мне не хватает.
Mahesha999
Я использую встроенный в Windows FTP, который можно включить через окно «Включить или отключить функции Windows». И управлять им через консоль управления IIS.
Mahesha999
И я %windir%\system32\svchost.exeперечислил в поле « Эта программа» на вкладке « Программы и службы » все входящие правила FTP.
Mahesha999
1
@ pimp сока это, чувак .. хороший ответ!
Tim_Stewart