Проблема:
Имеется Microsoft Windows 2003 Server R2 SP2 Rus, на котором установлен Microsoft Internet Security and Acceleration Server 2000 SP2 (MS ISA Server 2000 SP2). На этом же сервере установлен Microsoft Internet Information Server 6.0 (MS IIS 6.0).
Необходимо настроить FTP Server на доступ извне как в активном, так и в пассивном режиме.
Решение:
И для активного и для пассивного режима FTP-сервера, находящегося во внутреннем периметре, нам необходимо открыть 21-й порт для управления (FTP Server control connection):
Для этого создаем фильтр IP пакетов (IP Packet Filters):
Local Port указываем 21-й tcp порт в направлении inbound (входящие), Remote Port указываем Any Port, Local Computer - указываем IP адрес FTP-сервера, Remote Computer указываем All Remote Computers
Для активного режима FTP-сервера, находящегося во внутреннем периметре, создаем фильтр IP пакетов (IP Packet Filters) непосредственно для передачи данных (FTP Server data connection):
Local Port указываем 20-й tcp порт в направлении outbound (исходящие), Remote Port указываем Any Port, Local Computer - указываем IP адрес FTP-сервера, Remote Computer указываем All Remote Computers
Для пассивного режима FTP-сервера, находящегося во внутреннем периметре, создаем фильтр IP пакетов (IP Packet Filters) непосредственно для передачи данных (FTP Server data connection):
Local Port указываем Dynamic порты в направлении inbound (входящие), Remote Port указываем Any Port, Local Computer - указываем IP адрес FTP-сервера, Remote Computer указываем All Remote Computers
Помним, что это правило разрешает все входящие пакеты
Примечание: IP адрес FTP-сервера - это тот адрес, который указан в оснастке IIS Management - FTP Server в качестве прослушиваемого нашим FTP-сервером
Если же FTP-сервер находится наоборот, за периметром ЛВС и нам нужно настроить доступ из внутренней сети к такому FTP-серверу, то:
Для FTP-сервера в активном режиме, находящегося за периметром ЛВС, необходимо создать два правила:
-
Создаем фильтр IP пакетов (IP Packet Filters) для управления (FTP Client control connection):
Local Port указываем Dynamic порты в направлении outbound (исходящие), Remote Port указываем 21, Local Computer - указываем IP адрес или диапазон адресов, с которых будут подключаться FTP-клиенты, Remote Computer указываем All Remote Computers или адрес конкретного FTP-сервера -
Создаем фильтр IP пакетов (IP Packet Filters) непосредственно для передачи данных ( FTP Client data connection):
Local Port указываем Dynamic порты в направлении inbound (входящие), Remote Port указываем 20, Local Computer - указываем IP адрес или диапазон адресов, с которых будут подключаться FTP-клиенты, Remote Computer указываем All Remote Computers или адрес конкретного FTP-сервера
Для FTP-сервера в пассивном режиме, находящегося за периметром ЛВС, достаточно создать одно правило:
Создаем фильтр IP пакетов (IP Packet Filters) для управления и одновременно для передачи данных (FTP Client control connection + data connection ):
Local Port указываем Dynamic порты в направлении outbound (исходящие), Remote Port указываем All ports, Local Computer - указываем IP адрес или диапазон адресов, с которых будут подключаться FTP-клиенты, Remote Computer указываем All Remote Computers или адрес конкретного FTP-сервера
Для справки:
Активный FTP:
command : client >1023 -> server 21
data : client >1023 <- server 20
Пассивный FTP:
command : client >1023 -> server 21
data : client >1023 -> server >1023
То есть при активном FTP сервер со своей стороны использует только tcp порты 20 и 21, а при пассивном FTP - для управления сервер использует 21-й порт, а для передачи данных - произвольный порт, с номером больше 1023.
Дополнение:
Если FTP сервер находится не на том же компьютере ЛВС, что и ISA, а на другом, то в этом случае достаточно создать Server Publishing Rule, указав в качестве внутреннего ip адрес FTP сервера, в качестве внешнего ip - внешний адрес ISA сервера, и выбрать Mapped Server Protocol - FTP Server.
При этом никаких IP Packet Filters создавать не нужно, а FTP будет работать как в активном, так и в пассивном режиме.