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

Главное о FTP-серверах:
- FTP-сервер — это компьютер или программа, которая позволяет передавать файлы по протоколу FTP между устройствами в сети.
- Протокол FTP использует два отдельных канала: один для команд, другой — для самой передачи данных.
- Существуют анонимные FTP-серверы (без логина и пароля) и серверы с авторизацией.
- Базовый FTP небезопасен, так как передает данные в открытом виде. Для защиты используются протоколы FTPS и SFTP.
- FTP-сервер можно создать на любой операционной системе с помощью встроенных инструментов или сторонних программ.
Что такое FTP-сервер и для чего он нужен
FTP-сервер — это компьютер или специальное программное обеспечение, работающее по протоколу File Transfer Protocol. Простыми словами, это удаленное хранилище, к которому можно подключиться и обмениваться файлами. FTP-сервер ждет подключений от клиентов, обрабатывает их запросы и разрешает или запрещает скачивание и загрузку файлов в зависимости от настроек доступа.
Основные задачи FTP-сервера:
- Обмен файлами. Можно быстро передавать большие объемы данных между компьютерами, не используя облачные сервисы. Это особенно удобно, когда нужно передать сотни фотографий или целую папку с документами.
- Администрирование веб-сайтов. Веб-разработчики используют FTP для загрузки файлов сайта на сервер хостинга, обновления движка, установки плагинов и тем.
- Резервное копирование (бэкапы). FTP позволяет создавать резервные копии важных данных, копируя их с локального компьютера на удаленный сервер или наоборот.
- Корпоративный обмен данными. В компаниях FTP-серверы используют для обмена документами между филиалами, отделами и партнерами.
- Публикация открытого ПО. Многие проекты с открытым исходным кодом распространяют свои дистрибутивы через публичные FTP-серверы.
Как работает FTP-сервер
Принцип работы FTP основан на архитектуре «клиент-сервер». Клиент — это программа или устройство, которое хочет получить файлы. Сервер — это удаленный компьютер, на котором эти файлы хранятся.
Два соединения
В отличие от протокола HTTP, который использует одно соединение, FTP устанавливает сразу два отдельных канала:
- Управляющее соединение (командный канал). Обычно работает на 21-м порту. Через него клиент отправляет команды: «открой папку», «скачай файл», «покажи список файлов». Сервер через этот канал отправляет ответы на команды.
- Соединение для данных (канал данных). Обычно используется 20-й порт (в активном режиме) или динамические порты (в пассивном режиме). Через него непосредственно передаются файлы.
Разделение каналов делает работу более эффективной: можно управлять процессом передачи, не прерывая саму загрузку.
Два режима работы
- Активный режим. Клиент открывает управляющее соединение и сообщает серверу свой IP-адрес и порт для данных. Сервер сам подключается к клиенту для передачи файлов. Этот режим часто блокируется брандмауэрами.
- Пассивный режим. Клиент сообщает серверу, что хочет использовать пассивный режим. Сервер в ответ сообщает клиенту свой IP-адрес и порт для данных. Клиент сам подключается к серверу. Этот режим лучше работает через NAT и брандмауэры, поэтому рекомендуется для большинства пользователей.
Аутентификация
FTP-сервер может работать в двух режимах доступа:
- Анонимный доступ. Для подключения не нужны логин и пароль. Достаточно ввести имя пользователя «anonymous», а в качестве пароля — любой адрес электронной почты или оставить поле пустым. Такие серверы часто используются для публичного распространения файлов.
- Авторизованный доступ. Требуется ввести логин и пароль. Администратор сервера может гибко настраивать права для каждого пользователя: разрешать только чтение, разрешать запись, ограничивать доступ к определенным папкам.
Передача данных
Файлы могут передаваться в двух режимах:
- Текстовый режим. Используется для передачи текстовых файлов (например, .html, .txt, .css). В этом режиме FTP может конвертировать окончания строк в зависимости от операционной системы.
- Бинарный режим. Используется для передачи изображений, видео, исполняемых файлов и архивов. В этом режиме файлы передаются «как есть», без изменений.

Типы FTP-серверов
FTP-серверы можно классифицировать по нескольким критериям: по типу доступа, по типу передаваемых данных и по уровню безопасности.
По типу доступа:
- Публичные (анонимные) FTP-серверы. Доступны любому пользователю без регистрации. Используются для распространения бесплатного ПО, драйверов, документации.
- Приватные FTP-серверы. Требуют авторизации. Используются для корпоративных нужд, хранения личных файлов, администрирования сайтов.
По уровню безопасности:
- Обычный FTP. Не шифрует данные. Логины, пароли и сами файлы передаются в открытом виде. Уязвим для перехвата.
- FTPS (FTP Secure). Расширение FTP, использующее шифрование SSL/TLS. Данные защищены сертификатами.
- SFTP (SSH File Transfer Protocol). Отдельный протокол, работающий поверх SSH. Обеспечивает полное шифрование и использует один порт (обычно 22). Технически SFTP не является FTP, но выполняет те же задачи и часто рассматривается вместе с ним.
По операционной системе:
- FTP-серверы для Windows (встроенный IIS, FileZilla Server, Cerberus FTP).
- FTP-серверы для Linux (vsftpd, ProFTPD, Pure-FTPd).
- FTP-серверы для macOS (встроенный ftpd, Rumpus, CrushFTP).
Как создать и настроить FTP-сервер
Создать собственный FTP-сервер можно на любом компьютере — не нужно покупать дорогое оборудование или арендовать мощные машины. Для этого достаточно установить специальную программу или воспользоваться встроенными инструментами операционной системы. Весь процесс занимает от десяти до тридцати минут и не требует глубоких знаний в администрировании.
При настройке любого FTP-сервера важно помнить о нескольких вещах. Нужно создать папку, которая станет корневой директорией — именно в ней будут храниться все файлы. Затем стоит настроить пользователей: можно разрешить анонимный доступ для публичных файлов или создать отдельных пользователей с логинами и паролями для приватного обмена. Также потребуется открыть порт 21 в брандмауэре и настроить переадресацию на роутере, если к серверу нужно подключаться из интернета, а не только из локальной сети.
После всех настроек сервер готов принимать подключения. К нему можно обращаться с любого устройства, у которого есть FTP-клиент или хотя бы браузер. Главное — не забывать про безопасность: для передачи конфиденциальных данных лучше использовать защищенные протоколы FTPS или SFTP, а не обычный FTP.

Как подключиться к FTP-серверу и скачать или загрузить файлы
Подключиться к FTP-серверу проще, чем кажется. Для этого нужны всего три вещи: адрес сервера (IP-адрес или доменное имя), логин и пароль. Если сервер разрешает анонимный доступ, логин и пароль не понадобятся — достаточно ввести слово «anonymous» в качестве имени пользователя.
Самый удобный способ для большинства пользователей — использовать специальную программу, FTP-клиент. Например, FileZilla или WinSCP. Они бесплатны, имеют понятный интерфейс и доступны для всех популярных операционных систем. В такой программе достаточно заполнить несколько полей: хост, логин, пароль и порт.
После нажатия кнопки подключения открывается окно, разделенное на две части. Слева — файлы на вашем компьютере, справа — файлы на сервере. Чтобы скачать файл с сервера, нужно просто перетащить его из правой части в левую. Чтобы загрузить файл на сервер — наоборот, из левой части в правую. Всё работает как обычный файловый менеджер.


