* Instalo el servidor (tftp-hpa) y el cliente de tftp
javcasta@interceptor:~$ sudo apt-get install tftpd-hpa tftp
[sudo] password for javcasta:
….
Desempaquetando tftpd-hpa (de …/tftpd-hpa_0.49-1_i386.deb) …
Procesando disparadores para man-db …
Procesando disparadores para sreadahead …
sreadahead will be reprofiled on next reboot
Configurando openbsd-inetd (0.20080125-2ubuntu1) …
* Stopping internet superserver inetd [ OK ]
* Not starting internet superserver: no services enabled
* Configurando el servidor tftp (tftp-hpa)
- El fichero de configuración esta en: /etc/default/tftpd-hpa
javcasta@interceptor:~$ cat /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON=”no”
OPTIONS=”-l -s /var/lib/tftpboot”
Ponemos a yes la variable RUN_DAEMON
Y añadimos la opción -c para que sea un servidor tftp no solo de lectura, sino también de subida. La opción -c permite que los clientes tftp puedan crear nuevos archivos. Por lo que el fichero /etc/default/tftpd-hpa queda:
Lo edito con > …$ sudo gedit /etc/default/tftpd-hpa
#Defaults for tftpd-hpa
RUN_DAEMON=“yes”
OPTIONS=“-c -l -s /var/lib/tftpboot”
Lo guardamos.
* le damos permisos de lectura/escritura/ejecución al directorio de subida y bajada de ficheros del servidor tftp
…$ sudo chmod 777 /var/lib/tftpboot
Por default el servidor tftpd-hpa será iniciado al inicio del sistema, si queremos desactivar el servidor tftp para que solo sea iniciado manualmente ejecutamos el comando:
javcasta@interceptor:~$ sudo update-rc.d -f tftpd-hpa remove
Removing any system startup links for /etc/init.d/tftpd-hpa …
/etc/rc1.d/K20tftpd-hpa
/etc/rc2.d/S20tftpd-hpa
/etc/rc3.d/S20tftpd-hpa
/etc/rc4.d/S20tftpd-hpa
/etc/rc5.d/S20tftpd-hpa
* Iniciamos el servidor
javcasta@interceptor:~$ /etc/init.d/tftpd-hpa start
Starting HPA’s tftpd: in.tftpd
Referencia: http://tuxjm.net/2008/11/25/ubuntu_como_instalar_un_servidor_tftp_con_hpa_tftp_server/
* confirmar que el proceso esta corriendo corremos:
# ps aux | grep tftpd
root 9446 0.0 0.0 2200 308 ? Ss 12:58 0:00
/usr/sbin/in.tftpd -v -l -s /var/lib/tftpbootpara confirmar que el demonio tfptd abrio el puerto para conexiones, es decir, esta en modo listening, usamos netstat así:
# netstat -plun | grep tftp
udp 0 0 0.0.0.0:69 0.0.0.0:* 9446/in.tftpdSi tienes un un firewall que este filtrando las conexiones entrantes al sistema, entonces debes de abrir el puerto UDP/69.
* Probando si funciona: Me conecto con el cliente tftp a mi propio host, consulto la ayuda, y envío un fichero (hello.go) .
javcasta@interceptor:~$ tftp localhost
tftp> ?
Commands may be abbreviated. Commands are:
connect connect to remote tftp
mode set file transfer mode
put send file
get receive file
quit exit tftp
verbose toggle verbose mode
trace toggle packet tracing
status show current status
binary set mode to octet
ascii set mode to netascii
rexmt set per-packet retransmission timeout
timeout set total retransmission timeout
? print help information
tftp> put hello.go
Sent 80 bytes in 0.0 seconds
tftp> quit
javcasta@interceptor:~$ ls /var/lib/tftpboot
hello.go
javcasta@interceptor:~$










[...] Utilizados: http://javcasta.wordpress.com/2009/11/18/linux-ubuntu-9-10-instalacion-de-un-servidor-tftp/ http://linuxadministration.us/2009/11/16/ubuntu-9-10-pxe-boot/ [...]