Как установить ftp и tftp сервер на Fedora
Ф TP, SFTP и TFTP — это протоколы, используемые для передачи файлов по сети. Это может быть локальная сеть или Интернет. Давайте подробно рассмотрим каждый протокол, чтобы понять основную разницу в аббревиатурах.
FTP означает ФИль Тперевод протокол. Этот протокол используется для передачи файлов между устройствами в сети. Например, для передачи файлов между компьютером и сервером через Интернет. Короче говоря, FTP — это язык, который устройства используют для передачи файлов по сети TCP/IP.
Если вы хотите, чтобы файлы на вашем компьютере были доступны другим пользователям по всему миру, вы можете загрузить эти файлы на FTP-сервер, а другие пользователи подключатся к серверу и загрузят файлы с помощью FTP-сервера. протокол. Но из этого примера мы видим, что вам нужен выделенный FTP-сервер для обмена файлами. Но нужно ли вам идти до конца и настраивать выделенный FTP-сервер?
Нет, вы можете легко настроить свой компьютер в качестве FTP-сервера, как мы покажем вам в этом посте. Пользователи Windows могут сделать это с помощью Internet Information Services Manager, а пользователи Linux могут легко установить в своей системе утилиту FTP.
Как передавать файлы по FTP
Существует два основных метода передачи файлов по FTP. Вы можете использовать стандартный интернет-браузер (Chrome, Firefox, Opera, Brave и т. д.) или FTP-клиент, такой как Filezilla.
Совет: Все эти способы мы рассмотрим ниже после настройки FTP и SFTP в Fedora.
Два основных варианта использования FTP:
- Передача файлов между устройствами в сети
- Разрешение веб-разработчикам/администраторам загружать файлы на веб-сервер
К сожалению, у FTP есть один существенный недостаток — это небезопасный протокол! Поэтому любые данные, отправляемые через FTP, не шифруются и отправляются в виде открытого текста. Мы настоятельно рекомендуем использовать FTP в надежной сети, если передаваемые данные не являются конфиденциальными. Если вы имеете дело с конфиденциальными данными, вам нужно использовать более безопасный протокол — SFTP.
SFTP
SFTP означает Собезопасить ФИль Тперевод протокол. Это просто усовершенствование FTP, только в нем используется дополнительный уровень безопасности. Данные, передаваемые по FTP, шифруются с помощью SSH и не отправляются в виде обычного текста. SFTP также аутентифицирует пользователя и сервер и использует порт 22.
Совет: и FTP, и SFTP являются безопасными протоколами, которые используют TCP для передачи файлов, гарантируя доставку файлов.
TFTP
TFTP расшифровывается как Trivial File Transfer Protocol. По сравнению с FTP и SFTP, TFTP — это простой протокол передачи файлов, который не используется для передачи файлов через Интернет. Он в основном используется для передачи файлов по сети LAN. Например, вы можете использовать TFTP для передачи файлов конфигурации и образов прошивки на сетевые устройства, такие как маршрутизаторы и брандмауэры. Из этой информации вы заметили, что TFTP не является широко используемым протоколом, поскольку его используют только системные и сетевые администраторы.
В отличие от FTP и SFTP, которые используют протокол с установлением соединения (TCP), гарантирующий доставку файлов, TFTP использует протокол без установления соединения (UDP). Это делает его ненадежным протоколом. Кроме того, TFTP не обеспечивает никакой безопасности передаваемых данных. Но, как обсуждалось abi=ove, в этом нет необходимости, поскольку этот протокол в основном используется в локальной сети, а не в Интернете.
Получив эту подробную информацию, давайте теперь рассмотрим «Как установить FTP и TFTP-сервер в Fedora».
1. Как установить FTP на Fedora
Вы можете легко установить FTP на Fedora с помощью менеджера пакетов DNF. Запустите Терминал и выполните команду ниже.
sudo dnf установить vsftpd
Вы заметите, что мы устанавливаем пакет под названием vsftpd . VSFTPD — это бесплатный FTP-сервер для систем Linux и UNIX, расшифровывается как «Вочень Собезопасить ФИль Ттранспорт протоколь ДЭймон. Это не большой пакет и не займет много времени, если у вас хорошая скорость интернета.
Вы можете проверить установку, проверив версию VSFTPD, установленную в вашей системе, когда закончите. Выполните команду ниже.
В нашем случае мы работаем vsftpd версии 3.0.3 Нам нужно выполнить несколько настроек, прежде чем использовать FTP в нашей системе.
Настройка FTP (vsftpd) в Fedora
Чтобы защитить наш FTP-сервер, нам нужно добавить привилегии, которые разные пользователи имеют над сервером. Например, в этом посте мы назначим следующие конфигурации для следующих пользователей:
- Локальный пользователь: имеет право загружать файлы на FTP-сервер.
- Анонимный пользователь: он может только читать файлы, но не может загружать файлы на FTP-сервер.
Открыть /etc/vsftpd/vsftpd.conf файл с помощью приведенной ниже команды, чтобы отредактировать конфигурации с помощью редактора nano.
судо нано /etc/vsftpd/vsftpd.conf
Просмотрите каждую незакомментированную строку в этом файле и убедитесь, что она установлена, как показано в коде ниже. Если некоторые строки ниже отсутствуют в файле, вставьте их внизу.
Совет: Вы можете установить только одну опцию Listen на YES. Если вы используете IPV4, используйте опцию listen=YES. Если вы используете IPV6, используйте listen_ipv6=YES
слушать=ДА. local_enable = ДА. xferlog_enable=ДА. connect_from_port_20=ДА. pam_service_name=vsftpd # Разрешить локальному пользователю загружать файлы. write_enable=YES # Разрешить анонимному пользователю читать файлы (без пароля, без имени пользователя) анонимный_включить = ДА. anon_root=/var/ftp. no_anon_password=ДА. EOF
Сохраните файл (Ctrl+S) и выйдите (Ctrl+X). Нам нужно разрешить FTP-порт в брандмауэре, чтобы разрешить передачу файлов между нашим ПК и другим ПК в сети. Выполните приведенные ниже команды.
sudo firewall-cmd --add-service=ftp --permanent. sudo firewall-cmd --reload
Перезапустите сервер VSFTPD, чтобы изменения вступили в силу. Выполните приведенные ниже команды.
sudo systemctl включить vsftpd. sudo systemctl перезапустить vsftpd
Подключиться к FTP-серверу
Существует два основных способа подключения к серверу FT:
Чтобы получить доступ к FTP-серверу из браузера, введите URL-адрес ниже в адресной строке:
ftp://[ip-адрес] например, ftp://192.168.1.47
Совет: Однако мы настоятельно рекомендуем использовать FTP-клиент, поскольку в некоторых системах могут возникнуть проблемы с подключением к FTP-серверу из браузера. Например, когда мы попытались получить доступ к FTP-серверу с помощью браузера из Linux Mint, браузер попытался найти страницу в Интернете.
Чтобы подключиться к FTP-серверу с помощью FileZilla, вы должны указать имя хоста (IP-адрес), имя пользователя и пароль, если вы хотите войти в систему как локальный пользователь. Чтобы войти в систему как гость/анонимный пользователь, введите только имя хоста (IP-адрес) и нажмите Quickconnect.
2. Установить TFTP-сервер
Вы можете легко установить TFTP на Netflix с помощью менеджера пакетов DNF. Выполните приведенную ниже команду, чтобы установить TFTP-сервер и клиентские пакеты.
dnf установить tftp-сервер 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
Перед внесением каких-либо изменений файл выглядит так, как показано ниже.
[Ед. изм] Описание=Tftp-сервер. Требуется=tftp.socket. Documentation=man: in.tftpd [Сервис] ExecStart=/usr/sbin/in.tftpd -s /var/lib/tftpboot. StandardInput=сокет [Установить] Также=tftp.socket
Внесите изменения в следующие строки, как показано ниже. Вы увидите, что мы добавили новые параметры в строку exec. Давайте рассмотрим их подробно.
- -c: эта опция позволяет пользователям создавать новые файлы
- -p: этот параметр запрещает серверу выполнять дополнительные проверки разрешений, кроме системных элементов управления разрешениями.
Требует=tftp-сервер.сокет. ExecStart=/usr/sbin/in.tftpd -c -p -s /var/lib/tftpboot [Установить] WantedBy=многопользовательская.цель. Также=tftp-server.socket
Сохраните файл (Ctrl + S) и выйдите (Ctrl + X), когда закончите. Теперь ваша служба TFTP должна выглядеть так, как показано на рисунке ниже.
Перезагрузите демон Systemd и запустите TFTP-сервер с помощью приведенных ниже команд.
sudo systemctl демон-перезагрузка. sudo systemctl enable --now tftp-сервер
Чтобы установить привилегии пользователей в каталоге /var/lib/tftpboot, используйте приведенную ниже команду.
sudo chmod 777 /var/lib/tftpboot
Примечание: Разрешение 777 очень рискованно, и мы используем его только в качестве демонстрации для этого поста. Это разрешение дает всем пользователям права на чтение, запись и выполнение над /var/lib/tftpboot .
Подключение к TFTP-серверу
Одним из лучших способов подключения к TFTP-серверу является использование терминала. Во-первых, вам нужно будет установить TFTP-клиент в вашей системе для подключения к серверу. Используйте любую из приведенных ниже команд для установки TFTP-клиента в зависимости от вашего дистрибутива Linux.
sudo apt-get установить xinetd tftpd tftp
Запустите Терминал и используйте приведенный ниже синтаксис для подключения к TFTP-серверу.
tftp [ip-адрес] например тфтп 192.168.1.47
Вывод
Вот и все! Этот пост содержит подробное руководство по установке FTP и TFTP в вашей системе Fedora. У вас есть какие-либо вопросы или вы столкнулись с какими-либо ошибками? Если это так, сообщите нам об этом в комментариях ниже.
shamil / tftp_fedora.md
Here are some quick notes on setting up a TFTP server on Fedora 23. This is used, for example, to send Linux kernel images and other binaries to a bootloader on an embedded system.
First, install the packages:
sudo dnf install -y tftp tftp-server
The tftp itself will allow you to test your configuration by attempting a file transfer. The default directory for TFTP transfers is /var/lib/tftpboot .
The TFTP server works through xinetd so you will need to add a rule that says in.tftpd: ALL to /etc/hosts.allow :
sudo su -c "echo 'in.tftpd: ALL' >> /etc/hosts.allow"
Enable and start the TFTP server:
sudo systemctl enable tftp sudo systemctl start tftp sudo systemctl daemon-reload
Tell the firewall to allow TFTP traffic:
sudo firewall-cmd --permanent --add-service tftp sudo firewall-cmd --reload
You should now be able to transfer files via TFTP.
Very useful, but doesn’t work anymore in this way on Fedora 28. It seems to me that firewall-cmd isn’t aware of a change in Netfilter policies since one of the more recent kernel revisions.
firewall-cmd —add-service tftp results in this kernel message:
nf_conntrack: default automatic helper assignment has been turned off for security reasons and CT-based firewall rule not found. Use the iptables CT target to attach helpers instead.
When trying to connect, the tftp client then gets an ICMP message «port unreachable».
I also tried firewall-cmd —set-automatic-helpers=yes with little change (the ICMP message becomes «admin prohibited»).
I guess for now I have to use ipfilter to tweak the rules.