TP-Link CPE 210 FailSafe e TFTP
TP-Link CPE 210 FailSafe e TFTP
Em caso de pŕoblemas com alguma gravação no cpe, precisaremos usar o modo de failsafe para executar nova gravação e restaurar o sistema, para isso precisamos seguir os seguintes passos:
para entrar em failsafe, desligar o roteador pelo cabo de rede, contar 5 segundos, colocar um pino em reset, ligar contando até 10, luz da lan deve ligar sem ter nada conectado nela...
assim que ela ligar colocar cabo da lan no roteador e na maquina, colocar a maquina local em ip 192.168.0.100/24 pois o roteador esta em 192.168.0.254. Isso pode ser feito de distintas maneiras, via terminal é aconselhado desligar o gerenciador de rede e após isso fixar o ip:
systemctl stop NetworkManager
e conferir com
systemctl status NetworkManager ● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/NetworkManager.service.d └─NetworkManager-ovs.conf Active: inactive (dead) since Wed 2019-01-23 18:06:42 -02; 8s ago
após isso adicionar ip na interface
ip a add 192.168.0.100/24 dev enp5s0
conferir com tcpdump apontando para a interface local
tcpdump -nli enp5s0
1280 ARP, Request who-has 192.168.0.254 tell 192.168.0.100, length 28 18:16:31.181334 ARP, Reply 192.168.0.254 is-at ba:be:fa:ce:08:41, length 46 18:16:32.462956 IP 192.168.0.254.3422 > 192.168.0.100.69: 31 RRQ "recovery.bin" octet timeout 2 18:16:32.463009 IP 192.168.0.100 > 192.168.0.254: ICMP 192.168.0.100 udp port 69 unreachable, length 67 18:16:35.663035 IP 192.168.0.254.3422 > 192.168.0.100.69: 31 RRQ "recovery.bin" octet timeout 2 18:16:35.663100 IP 192.168.0.100 > 192.168.0.254: ICMP 192.168.0.100 udp port 69 unreachable, length 67
o failsafe esta pronto para pedir um arquivo por tftp para a maquina .100, por isso colocamos o ip antes, mas agora precisamos subir um servidor local e depois colocar o arquivo solicitado la dentro e também vemos que o roteador esta pedindo um arquivo chamado recovery.bin.
# atftpd --daemon --bind-address 192.168.0.100 /tftpboot/
e os logs do journalctl:
jan 23 18:17:38 Darth atftpd[5947]: Advanced Trivial FTP server started (0.7.1) jan 23 18:17:38 Darth atftpd[5948]: atftpd: can't bind port 192.168.0.100:69/udp
como user normal não deu certo, tentar como root:
$ atftpd --daemon --bind-address 192.168.0.100 /tftpboot/
e os logs:
jan 23 18:19:27 Darth atftpd[5979]: Advanced Trivial FTP server started (0.7.1) jan 23 18:19:27 Darth sudo[5978]: pam_unix(sudo:session): session closed for user root jan 23 18:19:27 Darth atftpd[5980]: atftpd: can't change identity to nobody.nogroup, exiting.
conferindo no sistema, vi que /etc/group não tinha o nogroup, criado:
groupadd nogroup
- Advanced Trivial FTP server started (0.7.1) jan 23 18:26:03 Darth sudo[6244]: pam_unix(sudo:session): session closed for user root jan 23 18:26:03 Darth atftpd[6248]: Serving recovery.bin to 192.168.0.254:3487
agora o servidor local ja reconhece a pasta e o roteador como cliente, precisamos mover o arquivo que usaremos para restaurar a imagem para a pasta que criamos:
o tcpdump esta mostrando que a busca do arquivo esta dando timeout: 18:28:46.456018 IP 192.168.0.254.1842 > 192.168.0.100.69: 31 RRQ "recovery.bin" octet timeout 2 18:28:46.456311 IP 192.168.0.100.52866 > 192.168.0.254.1842: UDP, length 19
copiar para a pasta o firmware versao factory, renomear para recovery.bin
18:42:34.859906 ARP, Request who-has 192.168.0.100 tell 192.168.0.254, length 46 18:42:34.859945 ARP, Reply 192.168.0.100 is-at 28:d2:44:2c:31:53, length 28 18:42:34.859998 IP 192.168.0.254.1878 > 192.168.0.100.69: 31 RRQ "recovery.bin" octet timeout 2 18:42:34.860449 IP 192.168.0.100.33171 > 192.168.0.254.1878: UDP, length 12 18:42:34.860516 IP 192.168.0.254.1878 > 192.168.0.100.33171: UDP, length 4 18:42:34.860675 IP 192.168.0.100.33171 > 192.168.0.254.1878: UDP, length 516
e ver o fluir da rede... o roteador vai reiniciar... reativar o networka managerr e receber ip via cabo!