Recuperando roteadores com TFTP via dnsmasq
Muitas vezes o roteador parece que morreu, e quando isso acontece precisamos fazer algumas mandingas para ressusitar o bixinho. E a maneira mais conssistente e segura de fazer isso é via tftp, porem existem n maneiras de fazer isso e muitas precisam de milhares de passos e, para mim pelo menos, sempre davam erradas... davam até eu conhecer essa maneira, via dnsmasq (viva meu guro Gui!)
O dnsmasq está presente nos sistemas baseados em linux a muito tempo e servem para resolver nomes, porem ele tem esse adicional ai que cria um servidor tftp de maneira muito simples e integrada ao sistema.
Índice
Guia definitivo do tftp, simples como você nunca viu.
Requisitos:
1 - Fixando endereços para o tftp
- Conecte o roteador pelo cabo
- Entre em modo de recuperação no roteador
- Use o tcpdump para identificar o endereço que o roteador procura:
sudo tcpdump -nli eth0
- Com sistemas baseados em openwrt esse endereço costuma ser:
endereço 192.168.0.66
mascara 255.255.255.0
gateway 192.168.0.86
- Fixe seu ip conforme acima
- Criando o servidor tftp
Agora com o ip devidamente fixado novamente monitore a interface de cabo de rede com tcpdum.
sudo tcpdump -nli eth0
Procure pela linha onde o roteador pede pelo arquivo, no caso de um Archer C5 V1 com um firmware baseado em Openwrt o nome é ArcherC5v1_tp_recovery.bin
.
Baixe o firmware factory corresponde ao teu roteador e coloque esse nome na pasta /tmp
.
Agora com o roteador conectado pelo cabo e com o arquivo devidamente copiado , rode o seguinte comando:
sudo dnsmasq -d --port=0 --enable-tftp --tftp-root=/tmp/