FTP, поднимаем FTP сервер на CentOS 7

FTP история появления из телеграм канала Network quiz
✍️ Разбор квиза: NQ Протокол FTP
Вопрос: Почему протокол FTP использует отдельно соединения для управления и передачи данных?
Объяснение от автора вопроса Surgeon и дополнение от Sergey Masharov (@Masharov): Протокол был разработан почти 53 года назад, в 1971 году. Тогда скорости измерялись в бодах, 300 бит/с было нормой. Один мегабайт мог передаваться почти целый день.Файлы хранились на мейнфреймах. У конечного пользователя стоял терминал, который не хранил файлы, а только предоставлял доступ к командам мейнфрейма. В то время концепция персонального компьютера только зарождалась.Разделение типов каналов было сделано именно по причине того, что такой подход позволял передавать данные напрямую между двумя серверами, открыв канал управления между терминалом и мейнфреймом, и канал передачи данных между двумя мейнфреймами. Таким образом файл отправлялся напрямую с одного сервера на другой по более высокоскоростному каналу. По этой причине по каналу управления передаются адрес и порт для канала передачи данных.
Пошаговый гайд деплоя, аналог статьи про TFTP

0) Отключаем SELinux если раньше это не сделали и перезагружаем сервер (если уверены что он нам не нужен или не умеем с ним работать). Если без отключения для заливки файлов должны помочь строки “setsebool -P ftp_home_dir on” и “setsebool -P allow_ftpd_full_access on”

sudo vi /etc/selinux/config
SELINUX=disabled
1) Устанавливаем сервер, кладем в папку по умолчанию /var/ftp необходимые файлы
sudo yum -y install vsftpd
cp test_file /var/ftp/
2) Добавляем сервис FTP как разрешенный в файрволл и перезагружаем его (мягко для применения правил без разрыва существующих коннектов)
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
3) Запускаем FTP сервис, смотрим его состояние, добавляем сервис в автозагрузку
sudo systemctl start vsftpd
sudo systemctl status vsftpd
sudo systemctl enable vsftpd
4) Проверяем работу сервиса через обычный браузер
ftp://192.168.1.22/

Удаление

sudo firewall-cmd --permanent --remove-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo yum -y remove vsftpd

Leave a Reply