Como instalo e executo um servidor TFTP?

60

Eu tenho um destino VxWorks incorporado que precisa inicializar seu kernel no meu computador Ubuntu. Como instalo e executo um servidor TFTP?

user1689961
fonte

Respostas:

103

Instalação e instalação do servidor TFTP

  1. Instale os seguintes pacotes.

    sudo apt-get install xinetd tftpd tftp
    
  2. Crie /etc/xinetd.d/tftp e 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. Crie uma pasta / tftpboot que corresponda ao que você forneceu em server_args. principalmente será tftpboot

    sudo mkdir /tftpboot
    sudo chmod -R 777 /tftpboot
    sudo chown -R nobody /tftpboot
    
  4. Reinicie o serviço xinetd.

    sistemas mais recentes:

    sudo service xinetd restart
    

    sistemas mais antigos:

    sudo /etc/init.d/xinetd restart
    

Agora, nosso servidor tftp está em funcionamento.

Testando nosso servidor tftp

  1. Crie um arquivo chamado test com algum conteúdo no caminho / tftpboot do servidor tftp

    Obtenha o endereço IP do servidor tftp usando o comando ifconfig

  2. Agora, em algum outro sistema, siga as etapas a seguir.

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

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

user1689961
fonte
11
somente a etapa 4 precisa ser alterada, pois o xinetd é gerado pelo iniciante. você precisa reiniciá-lo com 'restart xinetd serviço'
BЈовић
3
Eu segui esta instrução e enfrentei a permissão negada! Nome do arquivo de destino [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: código de erro 2 recebido -% de violação de acesso Erro ao abrir tftp: //10.1.11.14/c2950-i6q4l2-mz.121-22.EA1b.bin (permissão recusada) .EA1b.bin tftp: Endereço ou nome do host remoto []? 10.1.11.14 Nome do arquivo de destino [c2950-i6q4l2-mz.121-22.EA1b.bin]? TFTP: código de erro 2 recebido - Violação de acesso
Mohammad Rafiee 08/04
11
@ Mohammad Rafiee: a postagem do blog vinculada aqui adicionou algumas informações: execute sudo chmod -R 777 /tftpbootentre as etapas 1 e 2 de "Testando nosso servidor tftp". Não que isso tenha me ajudado, mas parece que ajudou outros.
Gauthier
2
Em 14.04, isso não funcionou para mim. As informações sobre /tftpbootin /etc/xinetd.d/tftpnão pareciam importar. Em vez disso, o cliente procura no diretório /srv/tftpconforme especificado em /etc/inetd.conf. Não sei se a maneira como as coisas estão configuradas mudou desde o artigo, ou se eu estraguei tudo. Se a resposta acima não funcionar, tente colocar seu arquivo de teste /srv/tftp.
Gauthier
2
Por favor, note que com o Ubuntu 16.04, você experimentará error code 2 (access violation). Para corrigi-lo colocar tftpboot -sem server_args(sem barra à esquerda, -sno final Fonte:. Icesquare.com/wordpress/...
charlesb
7

Você pode instalar atftpde ele criará um diretório chamado /tftpbootno qual você poderá colocar seus arquivos. Coloque especialmente o pxelinux.0arquivo lá. Qualquer configuração futura será abordada, se necessário.

Quando você instala o pacote com

sudo apt-get install atftpd

Ele usará o Debconf para solicitar algumas opções. Você pode definir várias opções (o tempo limite do servidor pode ser útil), especialmente o caminho base . Você também pode ajustar o alcance do multicast.

ζ--
fonte
Para que serve pxelinux.0? Estou inicializando um destino VxWorks, então pensei que só precisava do arquivo vxworks em / tftpboot.
user1689961
Desculpe - isso não funcionou para mim.
user1689961
Tente renomear vxworkspara pxelinux.0, apenas para ver se minha resposta funcionará para usuários futuros.
Oct-- 18/10/12
isso não funciona para 13.04. Eu apenas tentei
BЈовић
@ Bћовић Esta é uma resposta antiga e sinceramente não conheço o procedimento para 13.04.
Sep--
6

Você pode instalar tftpd-hpae alterar as configurações. As etapas para instalar o tftpd-hpa são explicadas nesta postagem do blog .

irfan_np
fonte
2
Embora isso possa teoricamente responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
guntbert
11
deu um upvote em você apenas porque o tftpd-hpa é um servidor tftp simples e estúpido para usar e, na verdade, não requer nenhuma das configurações necessárias nesse post, basta soltar seus arquivos em / var / lib / tftpboot e você está definido (no ubuntu 16.04 não tenho certeza sobre outro sistema operacional).
mschuett