Какие порты мне нужно открыть, чтобы получить доступ к FTP-серверу Windows (работающему на Server 2008) как для активного, так и для пассивного FTP? Самого по себе открытия 21 недостаточно.
Зависит от того, используете ли вы активный или пассивный ftp. Вот диаграмма из этот сайт в котором есть отличное объяснение различий с точки зрения порта:
Active FTP :
command : client >1023 -> server 21
data : client >1023 <- server 20
Passive FTP :
command : client >1023 -> server 21
data : client >1023 -> server >1023
Так:
Если вы собираетесь использовать пассивный ftp, лучше всего настроить ftp-сервер на использование определенного (ограниченного) диапазона портов для подключения клиента для потока данных, а затем открыть этот диапазон на брандмауэре.
У меня такая же странная проблема, что все порты (21, 20 и 5500 для pasv) открыты в брандмауэре Windows (сервер 2003), но telnet доказывает, что даже 21 блокируется, когда брандмауэр включен. Все работает нормально, когда брандмауэр выключен. Вдобавок ко всему, есть определенные времена дня (совершенно случайные), когда это работает независимо. Пока этого не произойдет. А когда это не так, отключение брандмауэра Windows решает проблему. Это не FTP-сервер, он даже не регистрирует попытки подключения.
Если бы вы использовали настоящий брандмауэр, он бы мог посмотреть на PASV
внутри канала управления FTP (TCP / 21) и соответствующим образом откройте порт данных. Поэтому вам нужно только открыть TCP / 21, а брандмауэр позаботится обо всем остальном.
Конечно, обычные маршрутизаторы SOHO (и программные микропрограммы) не сделают этого за вас. В этом случае вы должны придерживаться определенного диапазона портов (~ 3 порта на одновременного пользователя), например squillman
рекомендуемые.