Seguridad Wireless - Wifi

Equipos y materiales => Puntos de acceso, routers, switchs y bridges => Openwrt & LEDE => Mensaje iniciado por: gasalb en 28-12-2013, 12:32 (Sábado)

Título: Programar openwrt para reiniciarse diariamente.
Publicado por: gasalb en 28-12-2013, 12:32 (Sábado)
Hola gente!Necesito vuestra ayuda para programar el openwrt que se reinicie cada dia(en ddwrt habia un apartado que se podia hacer).He buscado en el foro sin exito :(,solo he visto hablando de eso,pero sin los comandos para programarlo.Y ya que estamos quiero hacer una red virtual con orario reducido para la tablet de mi hija,tampoco he encontrado comando(o paquete) para hacerlo.Mi ruter es un tp-link 1043nd con openwrt Atittude Adjustment 12.09.Gracias de antemano y Felices Fiestas!!!
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Altair64 en 28-12-2013, 12:40 (Sábado)
Tendrias que hacer uso del comando reboot que es el que te reiniciará el sistema. Para programarlo, echale un vistazo a CRONTAB, viene preinstalado en OpenWRT. Permite programar tareas (en este caso, reboot), cuando quieras con total flexibilidad, aunque es algo lioso (personalmente intenté programar un apagado e inicio automaticos del wifi sin exito, no se si seria problema mio, no funcionan bien los comandos que necesitaba con crontab o loquesea, pero tu prueba.

En esta wiki te sale cómo se configura el crontab:

http://wiki.openwrt.org/doc/howto/notuci.config#etccrontabsroot

en LuCI tienes una seccion donde te aparece el archivo de configuracion directamente.
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: crislgga en 28-12-2013, 13:07 (Sábado)
Hola, como dice noentiendero, para que se reinicie, x tiempo, esta el comando CRONTAB, desde la propia interfaz luci, yo lo tenia en un sagem fast 2604, mira en la pagina de openwrt, todas las opciones del comando, no es mas que un formato que dices, diario,semanal o mensual, hora y el comando, yo lo tenia que se reiniciase todos los dias a las 3:00 de la madrugada, para descargar memoria ram
Saludos
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: gasalb en 28-12-2013, 13:18 (Sábado)
Muchas gracias!Lo intentare,haber como se me da  ;)
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: teck en 28-12-2013, 22:50 (Sábado)
Lo puedes configurar desde Luci, sistema-> tareas programadas

por ejemplo yo tengo que corra un script a una hora especifica 14:25 hrs.

Código: [Seleccionar]
25 14 * * * /etc/info sync_data
en tu caso podrias poner lo siguiente asi el router se reinicia a las 0 horas.

Código: [Seleccionar]
0 0 * * * reboot
después solo te aseguras que este corriendo el demonio CRON en sistema-> arranque.

http://es.wikipedia.org/wiki/Cron_(Unix) (http://es.wikipedia.org/wiki/Cron_(Unix))
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Mateustop en 05-08-2016, 05:30 (Viernes)
Uffff
Gracias a este hilo consegui programar (http://juliococieloblogueiro.com/curso-programacao-playcode) openwrt!
Creo q aprenderé muchisimo en este foro :)
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: raphik en 05-08-2016, 15:30 (Viernes)
...Y ya que estamos quiero hacer una red virtual con horario reducido para la tablet de mi hija...

Para controlar el horario de disponibilidad wifi también puedes usar crontab.

Para apagar la wifi todos los días a las 22:30
Código: [Seleccionar]
30 22 * * * wifi down radio0
Para encender la wifi todos los días a las 18:15
Código: [Seleccionar]
15 18 * * * wifi up radio0
Saludos.
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: tagotis en 13-12-2016, 10:52 (Martes)
Hola tengo un tp-link tl-wr1043nd con openwrt y despues de intentar usar cron lo tengo en reinicio constante, en tarea de programas puse:
Código: [Seleccionar]
07 9 * * * rebooty ahora no para de reiniciarse, alguna solucion? gracias.
Título: Re:
Publicado por: Ficht en 13-12-2016, 15:13 (Martes)
Creo que vas a tener que apretar aquel botón que dice reset...


Enviado desde mi Y635-L01 mediante Tapatalk

Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: tagotis en 13-12-2016, 18:55 (Martes)
ok reseteo y reconfiguro todo, pero como puedo usar cron para que me vuelva a pasar esto?
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Tki2000 en 13-12-2016, 19:28 (Martes)
ok reseteo y reconfiguro todo, pero como puedo usar cron para que me vuelva a pasar esto?

Supongo que querrás decir para que NO te vuelva a pasar esto...

En lugar de crear un cron destructivo, prueba antes con algún otro comando inofensivo (que no sea reboot), y mira cómo se comporta el cron. Mira en el log del sistema y verás cómo se ejecuta. Si estás satisfecho con la forma de ejecución, cambia el comando por el destructivo.  >:D
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: tagotis en 16-12-2016, 13:30 (Viernes)
bueno he conseguido solucionar el tema del bucle infinito con el reboot añadiendo un sleep antes del reboot
Código: [Seleccionar]
30 4 * * * sleep 70 && reboot ahora funciona perfectamente.
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Tki2000 en 16-12-2016, 21:44 (Viernes)
bueno he conseguido solucionar el tema del bucle infinito con el reboot añadiendo un sleep antes del reboot
Código: [Seleccionar]
30 4 * * * sleep 70 && reboot ahora funciona perfectamente.

No eres el primero al que le pasa esto: https://forum.openwrt.org/viewtopic.php?id=54227 (https://forum.openwrt.org/viewtopic.php?id=54227). Recomiendan usar touch en lugar de sleep, pero se consigue lo mismo.
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: danitool en 16-12-2016, 22:25 (Viernes)
Si no entendí mal entonces la solución sería
Código: [Seleccionar]
30 4 * * * touch -r /etc/banner -d '+2 minute' /etc/banner && reboot
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Tki2000 en 17-12-2016, 08:03 (Sábado)
Si no entendí mal entonces la solución sería
Código: [Seleccionar]
30 4 * * * touch -r /etc/banner -d '+2 minute' /etc/banner && reboot

Sí. Se supone que en el arranque, al no quedarse la hora grabada en el router, se parte siempre de una fecha en el pasado. Al terminar el arranque, se toma de fecha, la última de todos los ficheros de /etc. Después, el router se pone en hora con la actual, a través de internet (NTP).
Digamos que la última fecha del /etc es 2016/12/15, y tenemos un cron que se ejecuta cada día. Al ponerse en hora a través de internet, detectaría que hoy 2016/12/17, ya han pasado 2 días desde la última vez ejecutada, y por lo tanto se ejecutaría.
Lo que no tengo tan claro, es por qué touch debería poner la fecha en el futuro, si la fecha de la que partimos es anterior, y todavía no se ha actualizado por NTP, la fecha que pusiera touch, sería todavía en el pasado...  ???. Para lo que debiera servir, es para que tras el primer reboot, no ocurra un segundo reboot, ya que la fecha en /etc ya sería correcta por el touch... Ummm..., le veo sus lagunas...

Yo, me haría a la idea, de que en el arranque, se ejecutan todas las tareas (recurrentes) del cron inicialmente, y luego, a los intervalos definidos. O parchear el comando con el touch, y además le pondría el sleep, por si acaso. Y el sleep se lo pondría antes del touch, para darle tiempo al demonio NTP a poner en hora el reloj interno, y por lo tanto al hacer touch, se ponga realmente la hora correcta en /etc.

En resumen, yo pondría sleep && touch && reboot.

Todo esto parece un derivado de efectos colaterales, no muy fácil de esquivar...
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: danitool en 17-12-2016, 13:02 (Sábado)
He estado reproduciendo el bug en un snapshot de LEDE (r2533). Como me temía deshabilitando sysfixtime también se corrige el problema:

Código: [Seleccionar]
/etc/init.d/sysfixtime disable
y ya no es necesario usar touch ni sleep en cron

No me gusta la idea de usar touch ya que realiza escrituras en flash, que aunque sea inofensivo en este caso, es algo que siempre se debería evitar si es posible.
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: Tki2000 en 17-12-2016, 17:46 (Sábado)
No me gusta la idea de usar touch ya que realiza escrituras en flash, que aunque sea inofensivo en este caso, es algo que siempre se debería evitar si es posible.

Ni a mi tampoco...
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: SkinWaLKeR en 04-01-2017, 09:22 (Miércoles)
Salu2s a todos, en mi afán por cacharrear más a fondo este gran SYS que es OpenWRT me planteo una pregunta muy delicada, si instalo OpenWRT en un router al cual quiero tener controlado para en caso de pueda serme sustraído, por supuesto ese caso no me gustaría que cayera en manos de mi competencia por ejemplo,  habría alguna forma de programarle para q destruya el sistema? Digamos crearle un usuario con todos los privilegios que nada más al entrar en esa sesión ejecute un comando destructivo, borrado del sistema, el Uboot, kernel, algo así? Todo esto con tal de que el que no sepa flashearlo tenga que venir a mis manos casi obligatoriamente a hacerlo, y aquí estaría bastante obligado. Que me pueden decir sobre esto?
Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: danitool en 04-01-2017, 10:58 (Miércoles)
Salu2s a todos, en mi afán por cacharrear más a fondo este gran SYS que es OpenWRT me planteo una pregunta muy delicada, si instalo OpenWRT en un router al cual quiero tener controlado para en caso de pueda serme sustraído, por supuesto ese caso no me gustaría que cayera en manos de mi competencia por ejemplo,  habría alguna forma de programarle para q destruya el sistema? Digamos crearle un usuario con todos los privilegios que nada más al entrar en esa sesión ejecute un comando destructivo, borrado del sistema, el Uboot, kernel, algo así? Todo esto con tal de que el que no sepa flashearlo tenga que venir a mis manos casi obligatoriamente a hacerlo, y aquí estaría bastante obligado. Que me pueden decir sobre esto?

Parece tan sencillo como programar un script al inicio para que baje siempre un segundo script almacenado en una nube o servidor del cual tienes el control.

La idea sería que ejecute siempre ese script qeu tienes almacenado en tu nube, y el cual estaría vacío por defecto. Una vez que sepas que te han sustraido el router sin tu consentimiento, solo tendrías que modificar el script colocando una orden tal que así
Código: [Seleccionar]
mtd erase linux
De todas formas tu consulta es un poco offtopic y poco tiene que ver con este hilo

Saludos
Título: Re:
Publicado por: jaraneda en 04-01-2017, 11:44 (Miércoles)
yo pondria 00 01 *** shutdown -r asi se reiniciaria todos los dias a la 01 de la madrugada

Desde el lado oscuro de la fuerza!

Título: Re: Programar openwrt para reiniciarse diariamente.
Publicado por: juancalopez en 03-04-2017, 19:25 (Lunes)
Hola tengo un tp-link tl-wr1043nd con openwrt y despues de intentar usar cron lo tengo en reinicio constante, en tarea de programas puse:
Código: [Seleccionar]
07 9 * * * rebooty ahora no para de reiniciarse, alguna solucion? gracias.

Hola, me paso igual que a ti y tuve que resetear.
A día de hoy sigues teniendo la configuración como comentas más abajo con sleep o has encontrado algo mejor?