Як встановити ftp та tftp сервер на Fedora

FTP, SFTP і TFTP — це протоколи, які використовуються для передачі файлів через мережу. Це може бути локальна мережа чи Інтернет. Давайте детально розглянемо кожний протокол, щоб зрозуміти основну різницю в абревіатурах.

FTP означає протокол передачі файлів. Цей протокол використовується для передачі файлів між пристроями у мережі. Наприклад, для передачі файлів між комп’ютером та сервером через Інтернет. Коротше кажучи, FTP – це мова, яку пристрої використовують для передачі файлів через мережу TCP/IP.

Якщо ви хочете, щоб файли на вашому комп’ютері були доступні іншим користувачам по всьому світу, ви можете завантажити ці файли на FTP-сервер, інші користувачі підключаться до сервера і завантажать файли, використовуючи протокол FTP.

Існує два основних методи передачі файлів FTP. Ви можете використовувати стандартний інтернет-браузер (Chrome, Firefox, Opera, Brave тощо) або FTP-клієнт, такий як Filezilla.

Два основні варіанти використання FTP:

  • Передача файлів між пристроями у мережі
  • Дозвіл веб-розробникам/адміністраторам завантажувати файли на веб-сервер

На жаль, у FTP є одна істотна вада — це небезпечний протокол! Тому будь-які дані, що надсилаються через FTP, не шифруються і надсилаються у вигляді відкритого тексту. Ми настійно рекомендуємо використовувати FTP у надійній мережі, якщо дані, що передаються, не є конфіденційними. Якщо ви маєте справу з конфіденційними даними, вам потрібно використовувати більш безпечний протокол SFTP.

SFTP

SFTP означає безпечний протокол передачі файлів. Це просто вдосконалення FTP, лише воно використовує додатковий рівень безпеки. Дані, що передаються FTP, шифруються за допомогою SSH і не надсилаються у вигляді звичайного тексту. SFTP також аутентифікує користувача та сервер та використовує порт 22.

TFTP

TFTP розшифровується як Trivial File Transfer Protocol. У порівнянні з FTP та SFTP, TFTP – це простий протокол передачі файлів, який не використовується для передачі файлів через Інтернет. Він в основному використовується для передачі файлів через мережу LAN. Наприклад, ви можете використовувати TFTP для передачі файлів конфігурації та образів прошивки на мережні пристрої, такі як маршрутизатори та брандмауери. З цієї інформації ви помітили, що TFTP не є широко використовуваним протоколом, оскільки його використовують лише системні та мережеві адміністратори.

На відміну від FTP та SFTP, які використовують протокол із встановленням з’єднання (TCP), що гарантує доставку файлів, TFTP використовує протокол без встановлення з’єднання (UDP). Це робить його ненадійним протоколом. Крім того, TFTP не забезпечує ніякої безпеки даних, що передаються. Але в цьому немає необхідності, оскільки цей протокол переважно використовується в локальній мережі, а не в Інтернеті.

1. Як встановити FTP на Fedora

Ви можете легко встановити FTP на Fedora за допомогою менеджера пакетів DNF. Запустіть термінал і виконайте команду нижче.

sudo dnf install vsftpd

Ви помітите, що ми встановлюємо пакет із ім’ям vsftpd. VSFTPD – це безкоштовний FTP-сервер для систем Linux і UNIX, розшифровується як Very Secure File Transport Protocol Daemon. Це не великий пакет і не займе багато часу, якщо у вас є хороша швидкість інтернету.

Ви можете перевірити інсталяцію, перевіривши версію VSFTPD, встановлену у вашій системі, коли закінчите. Виконайте команду нижче.

vsftpd -v

У нашому випадку ми використовуємо vsftpd версію 3.0.3. Нам потрібно виконати кілька налаштувань, перш ніж використовувати FTP у нашій системі.

Налаштування FTP (vsftpd) у Fedora

Щоб захистити наш FTP-сервер, нам потрібно додати привілеї, які мають різні користувачі над сервером. Наприклад, у цьому пості ми призначимо наступні конфігурації для наступних користувачів:

  • Локальний користувач: має право завантажувати файли на сервер FTP.
  • Анонімний користувач: він може читати файли, але не може завантажувати файли на FTP-сервер.

Відкрийте файл /etc/vsftpd/vsftpd.conf за допомогою наведеної нижче команди, щоб відредагувати конфігурації за допомогою редактора nano.

sudo nano /etc/vsftpd/vsftpd.conf

Перегляньте кожен незакоментований рядок у цьому файлі та переконайтеся, що він встановлений, як показано в коді нижче. Якщо деякі рядки нижче відсутні у файлі, вставте їх унизу.

Порада: Ви можете встановити лише одну опцію прослуховування значення YES. Якщо ви використовуєте IPV4, натисніть listen=YES. Якщо ви використовуєте IPV6, використовуйте listen_ipv6=YES

listen=YES
local_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
pam_service_name=vsftpd 

# Allow local user to upload files
write_enable=YES 

# Enable Anonymous user to read files (no password, no username)
anonymous_enable=YES
anon_root=/var/ftp
no_anon_password=YES
EOF

Збережіть файл (Ctrl+S) та вийдіть (Ctrl+X). Нам потрібно дозволити FTP-порт у брандмауері, щоб дозволити передачу файлів між нашим ПК та іншим ПК у мережі. Виконайте наведені нижче команди.

sudo firewall-cmd --add-service=ftp --permanent
sudo firewall-cmd --reload

Перезапустіть сервер VSFTPD, щоб зміни набули чинності. Виконайте наведені нижче команди.

sudo systemctl enable vsftpd
sudo systemctl restart vsftpd

Підключитись до FTP-сервера

Існує два основні способи підключення до сервера FT:

  • З клієнтського браузера
  • Використання FTP-клієнта, наприклад FileZilla.

Щоб отримати доступ до FTP-сервера з браузера, введіть URL-адресу нижче в адресному рядку:

ftp://[ip-address]
e.g.,
ftp://192.168.1.47

Порада. Тим не менш, ми рекомендуємо використовувати FTP-клієнт, оскільки в деяких системах можуть виникнути проблеми з підключенням до FTP-сервера з браузера. Наприклад, коли ми спробували отримати доступ до FTP-сервера за допомогою браузера з Linux Mint, браузер спробував знайти сторінку в Інтернеті.

Щоб підключитися до FTP-сервера за допомогою FileZilla, ви повинні вказати ім’я хоста (IP-адреса), ім’я користувача та пароль, якщо ви хочете увійти в систему як локальний користувач. Щоб увійти в систему як гість/анонімний користувач, введіть лише ім’я хоста (IP-адреса) та натисніть Quickconnect.

2. Встановлення TFTP-сервер

Ви можете легко встановити TFTP Netflix за допомогою менеджера пакетів DNF. Виконайте наведену нижче команду, щоб встановити TFTP-сервер та пакети клієнтів.

dnf install tftp-server tftp -y

Наведена вище команда створить два системні службові файли TFTP у каталозі /usr/lib/systemd/system/, як показано нижче.

/usr/lib/systemd/system/tftp.service
/usr/lib/systemd/system/tftp.socket

Тепер нам потрібні ці файли до каталогу /etc/systemd/system. Виконайте наведені нижче команди.

sudo cp /usr/lib/systemd/system/tftp.service /etc/systemd/system/tftp-server.service
sudo cp /usr/lib/systemd/system/tftp.socket /etc/systemd/system/tftp-server.socket

Налаштування TFTP-сервер

Порада: TFTP — це небезпечний протокол передачі файлів, і його не рекомендується використовувати для передачі конфіденційних даних по мережі. Конфігурації, які ми покажемо вам у цьому пості, не повинні використовуватися серед «конфіденційних даних».

Щоб налаштувати TFTP-сервер, нам потрібно відредагувати файл tftp-server.service, який ми скопіювали до каталогу /etc/system/systemd. Виконайте наведену нижче команду, щоб відредагувати файл за допомогою редактора nano.

sudo nano /etc/systemd/system/tftp-server.service

Перед внесенням змін файл виглядає так, як показано нижче.

[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd 

[Service]
ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot
StandardInput=socket 

[Install]
Also=tftp.socket

Внесіть зміни до наступних рядків, як показано нижче. Ви побачите, що ми додали нові параметри до рядка exec. Давайте розглянемо їх докладно.

  • -c: ця опція дозволяє користувачам створювати нові файли
  • -p: цей параметр забороняє серверу виконувати додаткові перевірки дозволів, крім системних елементів керування дозволами.
Requires=tftp-server.socket
ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot 

[Install]
WantedBy=multi-user.target
Also=tftp-server.socket

Збережіть файл (Ctrl + S) і вийдіть (Ctrl + X), коли закінчите. Тепер ваша служба TFTP має виглядати так, як показано на малюнку нижче.

Перезавантажте демон Systemd і запустіть TFTP-сервер за допомогою наведених нижче команд.

sudo systemctl daemon-reload
sudo systemctl enable --now tftp-server

Щоб встановити привілеї користувачів у каталозі /var/lib/tftpboot, використовуйте наведену нижче команду.

sudo chmod 777 /var/lib/tftpboot

Примітка. Дозвіл 777 дуже ризикований, і ми використовуємо його лише як демонстрацію для цієї посади. Цей дозвіл надає всім користувачам права на читання, запис та виконання у файлі /var/lib/tftpboot.

Підключення до TFTP-сервера

Одним із найкращих способів підключення до TFTP-сервера є використання терміналу. По-перше, вам потрібно буде встановити TFTP-клієнт у вашій системі для підключення до сервера. Використовуйте будь-яку з наведених нижче команд для встановлення TFTP-клієнта залежно від дистрибутива Linux.

Ubuntu

sudo apt-get install xinetd tftpd tftp

Fedora

sudo yum install tftp

Запустіть Термінал і використовуйте наведений нижче синтаксис для підключення до сервера TFTP.

tftp [ip-address]
e.g
tftp 192.168.1.47

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x