¿Cómo instalo y ejecuto un servidor TFTP?

60

Tengo un objetivo VxWorks incrustado que necesita arrancar su núcleo desde mi computadora Ubuntu. ¿Cómo instalo y ejecuto un servidor TFTP?

usuario1689961
fuente

Respuestas:

103

Instalación y configuración del servidor TFTP

  1. Instalar los siguientes paquetes.

    sudo apt-get install xinetd tftpd tftp
    
  2. Cree /etc/xinetd.d/tftp y coloque esta entrada

    service tftp
    {
    protocol        = udp
    port            = 69
    socket_type     = dgram
    wait            = yes
    user            = nobody
    server          = /usr/sbin/in.tftpd
    server_args     = /tftpboot
    disable         = no
    }
    
  3. Cree una carpeta / tftpboot que debería coincidir con lo que haya dado en server_args. principalmente será tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Reinicie el servicio xinetd.

    sistemas más nuevos:

    sudo service xinetd restart
    

    sistemas más antiguos:

    sudo /etc/init.d/xinetd restart
    

Ahora nuestro servidor tftp está en funcionamiento.

Probar nuestro servidor tftp

  1. Cree un archivo llamado prueba con algún contenido en la ruta / tftpboot del servidor tftp

    Obtenga la dirección IP del servidor tftp usando el comando ifconfig

  2. Ahora en algún otro sistema, siga los siguientes pasos.

    tftp 192.168.1.2
    tftp> get test
    Sent 159 bytes in 0.0 seconds
    
    tftp> quit
    
    cat test
    

Fuente: http://mohammadthalif.wordpress.com/2010/03/05/installing-and-testing-tftpd-in-ubuntudebian/

usuario1689961
fuente
1
solo se debe cambiar el paso 4, ya que xinetd se genera en la fase inicial. necesita reiniciarlo con 'service xinetd restart'
B 4овић
3
¡Seguí estas instrucciones y enfrenté el permiso denegado! Nombre del archivo de destino [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: código de error 2 recibido - Infracción de acceso% Error al abrir tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (Permiso denegado) #copy flash: c2950-i6q4l2-mz.121-22 .EA1b.bin tftp: ¿Dirección o nombre del host remoto []? 10.1.11.14 Nombre del archivo de destino [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: código de error 2 recibido - Infracción de acceso
Mohammad Rafiee
1
@Mohammad Rafiee: la publicación del blog vinculada aquí agregó información: ejecuta sudo chmod -R 777 /tftpbootentre los pasos 1 y 2 de "Prueba de nuestro servidor tftp". No es que me haya ayudado, pero parece que ayudó a otros.
Gauthier
2
El 14.04, esto no funcionó para mí. La información sobre /tftpbooten /etc/xinetd.d/tftpno parecía importar. En cambio, el cliente busca en el directorio /srv/tftpcomo se especifica en /etc/inetd.conf. No sé si la forma en que se configuraron las cosas cambió desde el artículo, o si me equivoqué de alguna manera. Si la respuesta anterior no funciona para usted, intente poner su archivo de prueba en su /srv/tftplugar.
Gauthier
2
Tenga en cuenta que con Ubuntu 16.04, experimentará error code 2 (access violation). Para solucionarlo puso tftpboot -sen server_args(sin barra inicial, -sal final Fuente:. Icesquare.com/wordpress/...
charlesb
7

Puede instalar atftpdy creará un directorio llamado /tftpbooten el que puede colocar sus archivos. Ponga especialmente el pxelinux.0archivo allí. Cualquier configuración futura se abordará si es necesario.

Cuando instala el paquete con

sudo apt-get install atftpd

utilizará Debconf para solicitarle algunas opciones. Puede establecer muchas opciones (el tiempo de espera del servidor puede ser útil), especialmente la ruta base . También puede ajustar el rango de multidifusión.

ζ--
fuente
¿Para qué sirve pxelinux.0? Estoy iniciando un destino VxWorks, así que pensé que solo necesitaba el archivo vxworks en / tftpboot.
user1689961
Lo siento, eso no funcionó para mí.
user1689961
Intente cambiar el nombre vxworksa pxelinux.0, solo para ver si mi respuesta funcionará para futuros usuarios.
ζ--
esto no funciona para 13.04. Acabo de intentar
BЈовић
@ BЈовић Esta es una respuesta algo antigua y, sinceramente, no conozco el procedimiento para 13.04.
ζ--
6

Puede instalar tftpd-hpay cambiar las configuraciones. Los pasos para instalar tftpd-hpa se explican en esta publicación de blog .

irfan_np
fuente
2
Si bien esto puede responder teóricamente la pregunta, sería preferible incluir aquí las partes esenciales de la respuesta y proporcionar el enlace para referencia.
guntbert
1
te votó solo porque tftpd-hpa es un estúpido servidor tftp simple para usar y en realidad no requiere ninguna de las configuraciones necesarias en esa publicación, simplemente suelta tus archivos en / var / lib / tftpboot y estás listo (en ubuntu 16.04 no estoy seguro sobre otro sistema operativo).
mschuett