Активный FTP-клиент заблокирован брандмауэром Windows в Windows 7

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

Активный FTP — это протокол, который требует, чтобы сервер открывал соединение с клиентом на порту, который клиент указано. (http://slacksite.com/other/ftp.html)

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

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

Спасибо.


Вот в чем дело: в активном или пассивном режиме , сервер всегда использует порт 20 на своей стороне для передачи данных и подключается к клиенту через любой порт, указанный клиентом при запуске команды FTP PORT.

Посмотрев на брандмауэр Windows 7, он похоже, вы можете создать настраиваемое правило для входящих подключений, которое разрешает подключения к любому локальному порту с определенного удаленного порта (20) для данного типа протокола (TCP). Вы также можете указать локальный и удаленный IP-адреса, к которым применяется это правило.

Я должен признать, что я никогда не обходился с брандмауэром Windows, но мне кажется, что он может работать для вы.

2


Вместо этого Чтобы добавить порты в список исключений брандмауэра Windows, добавьте приложение, к которому у вас должен быть доступ. Затем брандмауэр Windows позволит этому приложению связывать и использовать любые порты, которые оно пожелает.

3


Все Windows XP/Vista/7 используют «Службу шлюза прикладного уровня» в качестве помощника по подключению для активного FTP. Для работы Active FTP необходимо убедиться, что эта служба запущена.

Чтобы запустить ее:

  1. Нажмите кнопку Windows «Пуск»
  2. Введите ‘services.msc’ в строку поиска и нажмите Enter (появится панель служб Windows).
  3. Прокрутите вниз, пока не найдете «Служба шлюза уровня приложения»
  4. Посмотрите на столбец «Состояние», в нем должно быть написано «Запущено».
  5. Если не запущено, дважды щелкните имя службы, чтобы перейти на панель ее параметров..
  6. Измените раскрывающийся список «Тип статистики» на «Автоматически».
  7. Нажмите кнопку с надписью «Пуск».
  8. Нажмите на «Применить»
  9. Нажмите «ОК»

1


Пробовали ли вы убедиться, что ваш брандмауэр выполняет фильтрацию FTP с отслеживанием состояния?

Вы можете сделать это, открыв командную строку с правами администратора и набрав:

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

Мне было бы любопытно, повлияло ли это вообще на вашу проблему.

3


У меня была проблема с FTP-клиентом в нашей интрасети, и я не хотел исключение брандмауэра для этой конкретной программы. Я хотел, чтобы Active FTP «просто работал» с любой клиентской программой.

Я попытался включить «службу шлюза уровня приложений» ( sc start ALG ) и убедился, что у меня включен «statefulftp» ( netsh advfirewall устанавливает глобальное включение с сохранением состояния ). Я полагаю, что они нужны в некоторых случаях, но для меня это не имело значения.

В конце концов, я просто открываю соединения с порта 20 из локальные IP-адреса, а активный FTP работает с любой программой.

  netsh advfirewall firewall add rule name = "FTP (active)" action = allow protocol = TCP dir = in remoteport =  20 remoteip = localsubnet  

Вместо remoteip = localsubnet можно также указать конкретный IP-адрес.


Я решил эту проблему, посмотрев более точно в верхней части правил для входящих подключений. Было замечено два правила, называемых программой передачи файлов (одно для TCP, а другое для UDP. ), который блокировал программу «c: windows system32 ftp.exe». Отключил оба, и все заработало как шарм! Только мои 2 цента 😉


Многих не волнует% SystemRoot% system32 inetsrv inetinfo.exe при создании FTP-сервера на компьютере с Windows.

Приложение должно быть внесено в белый список, прежде чем вы получите доступ к подключению из своей подсети или Интернета.

Сначала вы разрешите эти порты: 80, 20, 21 для HTTP и FTP. добавить исключение для «inetinfo.exe»


Вместо этого я бы рекомендовал туннелирование . Например, запуск WinSSHD-сервера на удаленном сервере. Он имеет UPnP и автоматически откроет для вас порт 22. У него есть сопутствующая клиентская программа под названием Tunnelier, если вы переходите со стороны клиента.. Дело в том, что когда у вас есть туннель на 22-м порту, активный или пассивный FTP будет нормально работать с этого момента и далее через туннель. Фактически, если вы запускаете WinSSHD (или SSHD) на удаленном FTP-сервере, он имеет подсистему FTP, которая выполняет то же самое, что и FTP-сервер. Итак, если удаленным FTP-сервером является Linux, скорее всего, у них уже работает служба SSHD, и поэтому сам FTP-сервер является точкой отключения.

3



Как определить открытые порты на машине с Windows 7

Открытые порты могут сделать компьютер или сеть вашего предприятия уязвимыми. Обнаружение и закрытие открытых портов необходимо для обеспечения безопасности вашей сети. Вы можете определить открытые порты на компьютере под управлением Windows 7, выполнив одну команду с правильными переключателями из командной строки. Запустите команду netstat, чтобы быстро определить открытые порты.

1

Нажмите кнопку «Пуск» Windows, чтобы отобразить поле ввода поиска.

2

Введите «cmd» в поле поиска. Нажмите и удерживайте клавиши «Ctrl» и «Shift», а затем нажмите «Enter». Откроется диалоговое окно «Контроль учетных записей пользователей».

3

Нажмите «Да», чтобы закрыть диалоговое окно UAC. Командная строка открывается с правами администратора.

4

Введите следующую команду в командной строке и нажмите клавишу «Enter».

netstat -an | find/i «прослушивание»

На экране отображается список открытых портов.

Оцените статью
clickpad.ru
Добавить комментарий