Table of Contents

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