Очень часто VPS используют для хранения и загрузки данных, которые передаются по FTP протоколу. Задача развертывания FTP Windows сервера под Windows Server 2012 R2 часто вызывает трудности. Как правило, эти трудности связаны с правильной настройкой Windows Firewall из-за особенностей протокола FTP, который использует случайный порт из диапазона портов для передачи данных. В данной статье будет рассмотрена установка FTP сервера и способ решения проблем с Windows Firewall.
Установка FTP Windows сервера
Установка FTP Windows сервера на VPS под управлением Windows Server 2012 R2 является достаточно простой задачей. Для начала добавим необходимые компоненты. Откроем Server Manager и выберем Add roles and features. На вкладке Server Roles выберем Web Server (IIS).
На вкладке Web Server Role (IIS) -> Role Services выберем вкладку FTP Server -> FTP Service.
После установки необходимых компонентом приступим к настройке сервера. В целях безопасности мы создадим на VPS сервере новую папку и нового пользователя, который будет иметь доступ только к этой папке. Создадим директорию C:/bigdhostftp. Для создания пользователя откроем окно Computer Management (самый простой способ — это нажать комбинацию Win+X и выбрать Computer Management в появившемся списке). Перейдем в раздел Local Users and Groups в подраздел Users. Кликнем правой кнопкой по свободной области и выберем пункт New User. Откроется окно создания нового пользователя, зададим ему имя (в нашем случае bigdftpuser) и пароль.
Пользователю bigdftpuser необходим разрешить доступ к папке C:/bigdhostftp. Для этого кликнем правой кнопкой по папке, откроем окно Properties, перейдем на вкладку Security, найдем нашего пользователя и кликнем по кнопке Edit…. Добавим право Modify.
Открываем IIS Manager щелкаем правой кнопкой по меню Sites и выбираем Add FTP Site….
Откроется окно мастера создания нового FTP сервера. Введем название bigdhostftp и укажем нашу директорию C:/bigdhostftp.
В следующем окне выберем IP адрес по которому будет доступен FTP сервер. Мы выбрали все адреса: All Unassigned. Выбираем без SSL сертификата: No SSL.
В следующем окне укажем нашего пользователя который будет иметь доступ по FTP.
После нажатия кнопки Finish наш FTP сервер готов и мы можем заходить на него, используя пользователя bigdftpuser и его пароль.
Настройка Windows Firewall для работы FTP сервера
В документации Microsoft https://technet.microsoft.com/en-us/library/dd421710(v=ws.10).aspx сказано что настройка Firewall для работы с FTP часто является сложной задачей. Это связано с принципом работы FTP который использует подключение на 21 порт для передачи комманд, а данные передаются по другому порту из заданного диапазона.
При установке FTP сервера устанавливаются соответствующие правила в Firewall:
Очень часто может помочь команда:
netsh advfirewall set global StatefulFTP enable
Эта команда подключает специальное правило в Firewall которое разрешает подключения FTP для диапазона портов.
Вы можете самостоятельно попробовать настроить FTP, воспользовавшись тестовым периодом VPS сервера.