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

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

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

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

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

Пожалуйста, скажите мне, что неправильно настроено. (У меня Windows 10)

решение1

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

Быстрый разбор порта

Похоже, вы используете небезопасный FTP на портах TCP 20и 21(т.е. активный и пассивный), а может быть также ФТПСс неявным 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

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

Порты

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

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

Объем

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

Профили

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


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

Связанный контент