Появилась временная необходимость загрузить маршрутизатор 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.