Jak skonfigurować serwer TFTP na serwerze Ubuntu

Na serwerze Ubuntu można wykorzystać różne metody do uruchomienia systemu Trivial File Transfer Protocol (TFTP), co umożliwia użytkownikom przesyłanie plików w obie strony. Najbardziej dostępnym narzędziem do konfiguracji serwera TFTP jest program Tftpd, który jest łatwy do zainstalowania na wszystkich nowoczesnych wersjach Ubuntu. Co więcej, jego opcje konfiguracji są przejrzyste i zrozumiałe, nawet dla osób, które dopiero zaczynają swoją przygodę z Linuksem.

W tym przewodniku przeprowadzimy Cię przez proces uruchamiania serwera TFTP na Ubuntu. Oprogramowanie działa najlepiej na Ubuntu Server, ale można je również skonfigurować na Ubuntu Desktop.

Warto zauważyć, że nasz przewodnik koncentruje się głównie na systemie Ubuntu Linux, ponieważ jest to najczęściej używana dystrybucja wśród użytkowników serwerów Linux. Oczywiście TFTP jest dostępny także na innych dystrybucjach Linux.

Instalacja serwera TFTP oraz niezbędnych pakietów

Rozpoczęcie konfiguracji serwera TFTP na Ubuntu polega na zainstalowaniu wszystkich wymaganych pakietów, które zapewnią prawidłowe działanie serwera. Można to zrobić za pomocą menedżera pakietów Apt w terminalu.

Jeśli korzystasz z Ubuntu Server lub Desktop, otwórz terminal, naciskając Ctrl + Alt + T lub Ctrl + Shift + T. Następnie wprowadź poniższe polecenia.

Uwaga: jeśli używasz Debiana, procedura instalacji Tftpd jest taka sama jak w przypadku Ubuntu, należy jednak zamienić wszystkie wystąpienia Apt na Apt-get.

sudo apt install xinetd tftpd tftp

Dla użytkowników Ubuntu Desktop istnieje również możliwość zainstalowania tych pakietów poprzez Centrum oprogramowania Ubuntu, jeśli nie preferujesz korzystania z terminala.

Konfiguracja serwera TFTPD

Po zainstalowaniu pakietów TFTPD na serwerze Ubuntu, kolejnym krokiem jest ich konfiguracja. Pierwszym zadaniem jest utworzenie folderu w katalogu /etc/.

sudo mkdir -p /etc/xinetd.d/

Kiedy folder jest gotowy, stwórz nowy plik tekstowy za pomocą polecenia touch. To w tym pliku umieścisz wszystkie konfiguracje serwera.

sudo touch /etc/xinetd.d/tftp

Jeśli napotykasz trudności z poleceniem sudo touch, możesz uzyskać dostęp do powłoki root, używając polecenia sudo -s.

sudo -s
touch /etc/xinetd.d/tftp

Teraz, gdy plik został utworzony w /etc/xinetd.d/, otwórz go w edytorze tekstu Nano.

sudo nano -w /etc/xinetd.d/tftp

Wklej poniższy kod do edytora tekstu Nano:

service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = nobody
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}

Aby zapisać zmiany w pliku tftp w Nano, naciśnij kombinację klawiszy Ctrl + O, a następnie Ctrl + X, aby zakończyć edycję.

Zgodnie z konfiguracją TFTP, musisz również utworzyć katalog „tftpboot” w głównym katalogu serwera Ubuntu.

sudo mkdir /tftpboot

Kolejnym krokiem jest ustawienie odpowiednich uprawnień dla folderu „tftpboot” za pomocą polecenia chmod.

sudo chmod -R 777 /tftpboot

Po zaktualizowaniu uprawnień dla folderu „tftpboot”, należy użyć polecenia chown, aby dostosować informacje o uprawnieniach użytkownika.

Uwaga: Użycie „nobody” w poleceniu chown ma na celu przyznanie dostępu wszystkim użytkownikom, którzy próbują korzystać z TFTP, co eliminuje konieczność przyznawania uprawnień dla poszczególnych kont.

sudo chown -R nobody /tftpboot

Na koniec musisz zrestartować serwer TFTP, aby zastosować wprowadzone zmiany. W systemach Ubuntu 16.04 i nowszych można to zrobić za pomocą polecenia systemctl.

sudo systemctl restart xinetd.service

Jeśli polecenie systemctl zakończyło się sukcesem, serwer powinien działać. Przejdź do kolejnej sekcji, aby dowiedzieć się, jak przesyłać pliki za pomocą TFTP.

Przesyłanie plików przez TFTP

Aby rozpocząć, otwórz terminal na komputerze, z którego chcesz połączyć się z serwerem TFTP. Następnie zainstaluj pakiet „tftp”, aby móc nawiązywać połączenia i przesyłać pliki.

Ubuntu

sudo apt install tftp

Debian

sudo apt-get install tftp

Arch Linux

sudo pacman -S atftp

Fedora

sudo dnf install tftp

OpenSUSE

sudo zypper install tftp

Po zainstalowaniu aplikacji, znajdź adres IP swojego serwera TFTP. Następnie połącz się z serwerem, korzystając z poniższego polecenia.

Uwaga: Jeśli potrzebujesz pomocy w ustaleniu adresu IP swojego serwera TFTP, sprawdź ten artykuł!

tftp ip.address.of.tftp.server


Wyślij plik

Aby przesłać plik na serwer TFTP, użyj polecenia put.

put name-of-file

Pobierz plik

Aby pobrać plik z serwera TFTP, użyj polecenia get.

get name-of-file