Configurando um servidor TFTP para recuperação/instalação TFTP

Na maioria dos dispositivos, o carregador de inicialização fornecido pelo fornecedor é uma partição separada do firmware real. No caso de um processo flash com falha ou de uma configuração incorreta, o carregador de inicialização do dispositivo geralmente ainda está intocado e totalmente funcionando. O gerenciador de inicialização possui um “modo de recuperação TFTP” embutido, permite recuperar o controle de um dispositivo com uma partição de firmware quebrada, permitindo um processo de recuperação em flash (que também redefinirá sua configuração para os padrões do dispositivo).

Para muitos roteadores, a recuperação funciona iniciando um servidor TFTP no seu computador. Em seguida, o dispositivo com o firmware quebrado deve ser iniciado no modo de recuperação TFTP. Alguns dispositivos puxam o arquivo de firmware fornecido pela rede pelo protocolo de rede TFTP para o OpenWrt e esperam se recuperar com um processo de flash de emergência bem-sucedido.

Alguns dispositivos não possuem a função pull automática e precisam de comandos manuais de cópia TFTP no modo de recuperação para obter o firmware da instalação do TFTP e do firmware.

NOTA: Alguns outros roteadores, por exemplo, muitos roteadores Netgear, possuem servidor TFTP em si mesmos, e o PC precisa atuar como cliente TFTP. O “modo de recuperação TFTP” também pode significar isso; verifique cuidadosamente as informações sobre o seu roteador para descobrir qual método o seu roteador possivelmente suporta.

O artigo abaixo aconselha principalmente sobre a recuperação “Cliente TFTP no roteador”.

A recuperação TFTP pela Ethernet não é suportada por todos os modelos de roteadores. A recuperação TFTP é baseada em um carregador de inicialização específico do dispositivo e do fornecedor que pode ou não estar presente no seu dispositivo. Verifique na página do dispositivo OpenWrt o seu modelo preciso para descobrir se o seu dispositivo possui um carregador de inicialização compatível com a recuperação TFTP. Se o seu dispositivo suportar, essa função de recuperação ainda estará presente no carregador de inicialização do dispositivo, depois que o firmware do OpenWrt tiver sido atualizado no dispositivo.

Nota:

  • Como alternativa, o carregador de inicialização do dispositivo pode ter implementado a recuperação TFTP por cabo serial, que não é coberto nesta página.
  • O seu dispositivo também pode ter outros meios de recuperação.

O procedimento a seguir descreve apenas como configurar um servidor TFTP pela Ethernet para o processo de preparação de recuperação/instalação de TFTP, mas não descreve o processo de recuperação/instalação de flash específico do dispositivo. Para o processo de flash real, você deve consultar a documentação fornecida pelo fornecedor, a Internet, o Fórum OpenWrt ou as páginas do dispositivo OpenWrt.

  1. Faça o download da imagem do firmware OpenWrt (ou padrão) desejada para o diretório TFTP instalado no seu computador.
  2. Defina o endereço IP da interface Ethernet do seu computador, conforme descrito na página do dispositivo do seu modelo.
  3. Inicie o servidor TFTP no seu computador.
  4. Ligue o roteador e pressione um botão específico do dispositivo para iniciar a recuperação do firmware por TFTP,
  5. ou acesse as opções de recuperação do carregador de inicialização e instale o firmware de recuperação por TFTP.

O macOS fornece um servidor tftpd nativo que executa a linha de comando. Também existem aplicativos GUI disponíveis para aqueles que os preferem.

Linha de comando nativa tftpd

Para versões recentes do macOS, o tftpd fornecido pelo sistema é gerenciado com launchctl. Os usuários devem se sentir confortáveis ​​com o uso da linha de comando e com o sudo para adotar essa abordagem. Conforme confirmado no macOS Sierra 10.12.6 e no macOS Mojave 10.14.2, as etapas gerais envolvidas são

  • Configure sua interface de rede para o endereço de servidor apropriado para o seu dispositivo. Usar Preferências do Sistema> Rede é talvez o mais fácil.
  • Conecte seu dispositivo à interface de rede
  • Inicie tftpd
$ sudo cp path/to/file/to/serve.bin /private/tftpboot/the_name_the_device_is_looking_for.bin
$ sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
  • Confirme se o tfptd está sendo executado, ouvindo o UDP na porta 69, pelo comando abaixo
$ netstat -an | fgrep \*.69    
udp4       0      0  *.69                   *.*                               
  • Ative o modo de recuperação/TFTP do seu dispositivo
  • Quando terminar com tftpd , desligue-o com
$ sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist

TFTPServer.app

Como exemplo de um servidor tftp controlado por GUI, o TFTPServer.app de http://ww2.unime.it/flr/tftpserver/ fornece um wrapper de GUI agradável em torno do comando nativo que torna o processo menos propenso a erros. Este procedimento foi testado com o TftpServer.app v 3.4.1 no OSX 10.10.5 em dezembro de 2016.

  1. Baixe e instale o TftpServer.app a partir do URL acima.
  2. Mova o aplicativo para um diretório conveniente.
  3. No mesmo diretório, crie outra pasta chamada 'tftpfiles'. Este é o 'diretório TFTP designado'. TftpServer.app e tftpfiles estarão no mesmo diretório.
  4. Defina o endereço IP do OSX conforme especificado na seção Recuperação de TFTP da página do dispositivo.
  5. Inicie o TftpServer.app. A janela é mostrada aqui. Você deve confirmar que vê o arquivo desejado nomeado na janela.
    :
  6. Clique em “Iniciar TFTP” (canto superior esquerdo). Você deve ver o “Status do servidor:” mudar para “Em execução”.
  7. Inicie o seu roteador e pressione o botão O arquivo será transferido.
  8. Nota: TftpServer.app pode emitir avisos sobre permissões de arquivo. Use os botões “Corrigir” na parte inferior da janela para definir as permissões corretamente.
  9. Clique em “Stop TFTP” ou saia do aplicativo para parar o servidor TFTP.

Embora exista um recurso de servidor/cliente TFTP de linha de comando no Windows, é mais fácil usar um software de terceiro que possua uma interface gráfica adequada.

Um aplicativo TFTP simples e gratuito é o Tftpd32, disponível aqui (Tftpd64 é a versão de 64 bits e será usada neste exemplo).

Baixe a versão portátil e descompacte-a em uma pasta. Você deve ver o manual, uma licença em um arquivo PDF, um arquivo de configuração e o próprio aplicativo executável.

Coloque o arquivo que você deseja enviar (normalmente o arquivo de firmware) na mesma pasta em que encontra o arquivo de programa Tftpd64. A pasta exposta através do TFTP pode ser alterada clicando no botão Procurar, mas na maioria das situações você não precisa fazer isso.

Configure sua porta Ethernet de acordo com o método de recuperação do seu dispositivo, conforme detalhado em Recuperação de falha na atualização de firmware, note que, na maioria dos casos, você não pode usar essa porta para conectar-se à Internet até que você a reconfigure como antes.

Clique duas vezes no arquivo de programa Tftpd64 e você deverá receber um pop-up do Firewall do Windows solicitando a concessão de acesso. Marque as duas opções para permitir que o Tftpd64 se comunique em redes domésticas/comerciais e públicas. Isso é muito importante, se o Firewall do Windows bloquear o servidor TFTP, você não poderá acessá-lo pelo dispositivo que deseja recuperar.

Clique no menu suspenso chamado Interfaces do servidor e selecione a porta Ethernet do seu PC.

Agora, o servidor tftp está online e pronto, e os arquivos nele podem ser acessados ​​normalmente.

Instale o atftpd do repositório no Debian/Ubuntu/Mint

# apt install atftpd

Instale o atftpd do repositório no RedHat/Fedora/Centos

# yum install atftpd

Crie um diretório onde você deseja colocar o arquivo de imagem

# mkdir /srv/tftp

Coloque o arquivo de imagem em seu diretório - o nome real variará

# cp ~/tp_recovery.bin /srv/tftp

Alterar a propriedade da pasta e o arquivo nela, com superusuário

# sudo chown nobody:nogroup -R /srv/tftp

Execute o servidor TFTP

# atftpd --daemon /srv/tftp

Verifique se o servidor TFTP está escutando

# netstat -lunp|grep 69

Se não estiver definido, tente executar o servidor TFTP como superusuário.

Verifique se você pode realmente extrair o arquivo do seu servidor tftp. De preferência em outro computador, chame o IP do servidor tftp: (ou, se não for possível, na mesma chamada do servidor IP 0.0.0.0)

# tftp 192.168.0.66
tftp> get tp_recovery.bin
Received 8152633 bytes in 0.8 seconds
tftp> quit

Se você recebeu o arquivo, parabéns, está pronto.

A transferência de arquivos TFTP não funciona no computador local

  • Verifique se o servidor TFTP está em execução e escutando
  • Verifique se a pasta TFTP está configurada corretamente (local, direitos de acesso)
  • Verifique se o arquivo de firmware está configurado corretamente (local, direitos de acesso)

A transferência de arquivos TFTP funciona no computador local, mas não em outro computador:

  • Verifique se o cabo de rede está conectado corretamente
  • Verifique se o IP do servidor está definido corretamente

A transferência de arquivos TFTP funciona em outro computador, mas não no roteador:

  • Verifique se o IP do servidor está definido corretamente (o mesmo que o roteador está procurando)
  • Tente usar cabo alternativo, cabo cruzado ou interruptor alternativos / velocidade
  • Tente conectar-se a uma porta alternativa no roteador / roteador
  • Preste atenção a qualquer saída ou verbosidade do console do roteador, se disponível
  • Verifique se o cache do arp em qualquer host… do lado do servidor é mais fácil…
  • Use arp -s para adicionar um mapeamento estático ou arp -d para excluir entradas obsoletas…
  • Use um terceiro host para simplesmente executar ping no roteador, ambos com endereços estáticos, se possível
  • Experimente um software de servidor alternativo, software cliente ou modo de transferência tftp
  • Se você tiver alguma atividade, o tempo geralmente gera resultados, liga e desliga o roteador e inicia a transferência mais cedo ou mais tarde…
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2020/06/13 19:21
  • by malves