iRWX.RU

Personal IT notes.

Linux: Настройка TFTP сервера

Появилась временная необходимость загрузить маршрутизатор Cisco с TFTP сервера. На Windows для этих целей использовал когда-то tftpd32. Сейчас настроим TFTP сервер на Ubuntu.

Подготовим директорию для сервиса:

sudo mkdir -p /media/tftpd_data
sudo chmod 755 /media/tftpd_data


Можно дать права 777, если религия позволяет:

sudo chown nobody:nogroup /media/tftpd_data

Проверка:

ls -l /media
drwxr-xr-x  2 nobody nogroup 4096 дек 28 11:18 tftpd_data

Установка TFTP сервера:

sudo apt-get update
sudo apt-cache search tftp | grep 'server\|сервер'
  dnsmasq-base - Небольшой кэширующий DNS-прокси и сервер DHCP/TFTP
  erlang-inets - интернет клиенты и серверы Erlang/OTP
  tftpd-hpa - HPA's tftp server
  atftpd - Улучшенный сервер TFTP
  dnsmasq - Small caching DNS proxy and DHCP/TFTP server
  tftpd - сервер простого протокола передачи файлов (TFTP)
  libnet-tftp-perl - Perl module for accessing TFTP servers
  uec-provisioning-tftpd - the UEC Provisioning TFTP server
sudo apt-get install tftpd-hpa

Настройка сервера:

sudo cp /etc/default/tftpd-hpa /etc/default/tftpd-hpa.backup
sudo nano /etc/default/tftpd-hpa

Содержание /etc/default/tftpd-hpa

# от кого запускаем сервис, по умолчанию "nobody"
TFTP_USERNAME="nobody"
TFTP_DIRECTORY="/media/tftpd_data" 
TFTP_ADDRESS="0.0.0.0:69"
# доступ: только чтение
TFTP_OPTIONS="--secure”
# доступ: чтение и запись
#TFTP_OPTIONS="--secure --create"

Сохраняем и перезапускаем сервис:

sudo service tftpd-hpa restart

Можно посмотреть доступные варианты управления сервисом:

sudo service tftpd-hpa 
Usage: /etc/init.d/tftpd-hpa {start|stop|restart|force-reload|status}

Проверка состояния сервиса:

sudo service tftpd-hpa status
● tftpd-hpa.service - LSB: HPA's tftp server
   Loaded: loaded (/etc/init.d/tftpd-hpa; bad; vendor preset: enabled)
   Active: active (running) since Чт 2016-12-29 11:54:36 +04; 2s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 30653 ExecStop=/etc/init.d/tftpd-hpa stop (code=exited, status=0/SUCCESS)
  Process: 30665 ExecStart=/etc/init.d/tftpd-hpa start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/tftpd-hpa.service
           └─30680 /usr/sbin/in.tftpd --listen --user nobody --address 0.0.0.0:69 --secure /media/tftpd_data
дек 29 11:54:36 p00-linux systemd[1]: Starting LSB: HPA's tftp server...
дек 29 11:54:36 p00-linux tftpd-hpa[30665]:  * Starting HPA's tftpd in.tftpd
дек 29 11:54:36 p00-linux tftpd-hpa[30665]:    ...done.
дек 29 11:54:36 p00-linux systemd[1]: Started LSB: HPA's tftp server.

Проверка состояния UDP порта TFTP сервиса:

sudo netstat -unlp | grep 69
udp    0    0 0.0.0.0:69    0.0.0.0:*    30680/in.tftpd

TFTP сервис слушает порт 69 UDP.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *