Как установить 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