Нужно подготовить список команд, посредством которых я смогу развернуть TFTP сервис на Ubuntu 20.04, будь это Desktop или Server редакция. Порой просто необходим сервис для обновления оборудования, бекапа firmware и вот он.

ekzorchik@srv-us2004a:~$ apt-cache show tftpd-hpa | grep Version

Version: 5.2+20150808-1ubuntu4

ekzorchik@srv-us2004a:~$ sudo apt-get install -y tftpd-hpa

ekzorchik@srv-us2004a:~$ sudo apt-get install -y tftpd-hpa

ekzorchik@srv-us2004a:~$ sudo mkdir /tftpboot

ekzorchik@srv-us2004a:~$ sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup

ekzorchik@srv-us2004a:~$ sudo nano /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/tftpboot"

TFTP_ADDRESS=":69"

TFTP_OPTIONS="--secure --create --verbose"

На заметку: Справка по используемым опциям

  • --create -> разрешить создание новых файлов
  • --secure -> изменить корневую директорию на старте
  • --verbose -> включить режим полного логирования
ekzorchik@srv-us2004a:~$ sudo chmod -R 777 /tftpboot/

ekzorchik@srv-us2004a:~$ sudo chown -R nobody:nogroup /tftpboot/

ekzorchik@srv-us2004a:~$ sudo systemctl enable tftpd-hpa

tftpd-hpa.service is not a native service, redirecting to systemd-sysv-install.

Executing: /lib/systemd/systemd-sysv-install enable tftpd-hpa

ekzorchik@srv-us2004a:~$ sudo systemctl restart tftpd-hpa.service && sudo systemctl status tftpd-hpa.service | head -n5

● tftpd-hpa.service - LSB: HPA's tftp server

     Loaded: loaded (/etc/init.d/tftpd-hpa; generated)

     Active: active (running) since Thu 2021-10-07 10:28:53 UTC; 11ms ago

       Docs: man:systemd-sysv-generator(8)

    Process: 3283 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUCCESS)

ekzorchik@srv-us2004a:~$

Проверяем, что сервис tftpd-hpa ожидает подключения:

ekzorchik@srv-us2004a:~$ ss -ua | grep tftp

UNCONN  0       0                    0.0.0.0:tftp          0.0.0.0:*

UNCONN  0       0                       [::]:tftp             [::]:*

ekzorchik@srv-us2004a:~$

ekzorchik@srv-us2004a:~$ sudo apt-get install -y net-tools

ekzorchik@srv-us2004a:~$ sudo netstat -tulpn | grep tftpd

udp        0      0 0.0.0.0:69              0.0.0.0:*                           3295/in.tftpd

udp6       0      0 :::69                   :::*                                3295/in.tftpd

ekzorchik@srv-us2004a:~$

Чтобы проконтролировать кто подключается к данному tftp сервису нужно глянуть логи здесь:

ekzorchik@srv-us2004a:~$ tail -f /var/log/syslog | grep tftp

Итак, сервис tftpd поднят на Ubuntu 20.04 Server, ничего не изменилось по сравнению, когда я поднимал его на Ubuntu Precise, Trusty, Xenial, Bionic. Но вот такая вот пошаговка должна быть дабы ссылаться на нее в последствии при составлении пошаговой заметки. На этом у меня все, с уважением автор блога Олло Александр aka ekzorchik.