Més sovint del que voldríem, almenys a mi em passa, l’ADSL queda com “col·lapsada” i deixa de funcionar. La solució és ben fàcil, aixecar-te anar al router, reiniciar-lo i automàticament tornes a tenir internet.
El problema s’agreuja, quan tens algun petit servidor i estàs en remot treballant contra aquests serveis. Mai havia tingut el temps, però aprofitant una tarda “relaxada”, he buscat i adaptat un script per què una màquina linux estigui monitoritzant si té internet o no, i en el cas que pel que sigui no hagi internet reiniciï la interfície DSL del router de manera que torni a restablir el servei ADSL evitant haver d’anar a casa a reiniciar el router.
Requisits: una màquina linux a casa. En el meu cas una màquina amb debian.
Crearem un arxiu reset-dsl.sh i li afegirem el següent contingut:
#!/bin/bash # Definim on volem fer ping potser 8.8.8.8, una ip pública o la IP del nostre servidor DNS desti=8.8.8.8
if `ping -c 5 $desti> /dev/null` ;then echo Destí està Online #Tenim internet i ens dirà "Desí està online" else #No tenim internet per tant iniciarem el reinici del servei echo Destí està Offline echo Reiniciant ADSL
Router-DSL=1.2.3.4 #Aquí haurem d'introduïr la IP del nostre router d'internet port=23 user=NomUsuari #Aquí haurem d'introduïr el nom d'usuari administrador del nostre router: admin, 1234, adminttd, admintde... segons el prvoeïdor. pass=CLAU #Aquí la clau del nostre router. cmd1=sh cmd2="adsl connection --down" cmd3="adsl connection --up" cmd4=reboot
( echo open ${Router-DSL} sleep 1 echo ${user} sleep 1 echo ${pass} sleep 1 echo ${cmd1} sleep 2 echo ${cmd2} sleep 2 echo ${cmd3} sleep 2 echo ${cmd4} ) | telnet fi
Amb aquest arxiu, tindrem automatitzada la connexió al nostre router ADSL i farà un reinici de la interfície DSL si aquesta no respòn.
Ara només ens faltarà modificar el crontab per què l’executi cada 15 minuts per exemple
crontab -e
*/15 * * * * /home/reset-dsl.sh
Potser per acabar de millorar-ho ens faltaria afegir que ens envii un correu electrònic un cop s’ha reiniciat per allò de tenir la estadística de quantes vegades s’ha de reiniciar l’equip al dia.