====== Сервис ТFTP ====== ===== Client ===== $ tftp server tftp> get /spa3102.cfg ===== Debian/Ubuntu ===== ==== atftpd ==== # apt install atftpd tcpd # mkdir /srv/tftp/rw # chown nobody:nogroup /srv/tftp/rw ubuntu24# systemctl stop atftpd.socket; atftpd --daemon /srv/tftp ==== tftpd ==== Работает только на чтение, не сообщает о неправильном имени файла (не годится для PXE) server# apt install tftpd server# mkdir /srv/tftp Для устройств, запрашивающих файлы по абсолютному пути /имяфайла (некоторые телефоны) требуется опция -s server# cat /etc/inetd.conf ... tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd -s /srv/tftp ... server# service inetd restart ===== Debian9/Ubuntu16 ===== ==== atftpd ==== Работает и на чтение и на запись root@server:~# apt install atftpd root@server:~# ls /srv/tftp/ ==== tftpd ==== root@server:~# apt install tftpd root@server:~# cat /etc/xinetd.d/tftp service tftp { protocol = udp port = 69 socket_type = dgram wait = yes user = nobody server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no } root@server:~# mkdir /tftpboot root@server:~# /etc/init.d/xinetd restart ===== CentOS/SL ===== [root@server ~]# yum install tftp tftp-server [root@server ~]# cat /etc/xinetd.d/tftp ... server_args = -c -s /tftpboot disable = no ... [root@server ~]# chown -R nobody /tftpboot/ [root@server ~]# /etc/init.d/xinetd start ===== FreeBSD ===== [server:~] # mkdir /tftpboot/ [server:~] # chown -R nobody /tftpboot/ [server:~] # cat /etc/inetd.conf ... tftp dgram udp wait root /usr/libexec/tftpd tftpd -l -w -s /tftpboot ... [server:~] # cat /etc/rc.conf ... inetd_enable=yes [server:~] # /etc/rc.d/inetd start ===== Windows ===== * [[http://tftpd32.jounin.net/]]