====== Сервис Т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/]]