OpenWrt: Control Parental II, matando conexiones

2019-08-26

En este artículo vimos como controlar los dispositivos conectados a nuestro router, administrar en que horario se podían conectar a Internet, que tipo de contenido ver, etc, utilizando dnsmasq. Pero este mótodo tenia un problema, y es que no desconectaba los dispositivos que ya tenían una conexión activa en el router.

Esto lo podemos solucionar creando un sencillo script y utilizando cron para programar su ejecución cada 20 minutos, o el tiempo que tu quieras establecer, para volver a ordenar las reglas del cortafuegos.

Script

Creamos el fichero /etc/cronfw.sh e insertamos el siguiente script:

#!/bin/sh

# Insert rule for forwarding established connection traffic, just before the final rule (reject)
new_rule_num=$(iptables -v -L FORWARD --line-numbers | grep reject | cut -d ' ' -f 1)
iptables -I FORWARD $new_rule_num -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Delete first rule for forwarding established connection traffic
old_rule_num=$(iptables -v -L FORWARD --line-numbers | grep ESTABLISHED | cut -d ' ' -f 1 | sed -n 1p)
iptables -D FORWARD $old_rule_num

# Get rid of any duplicate ESTABLISHED rules (these seem to be caused when restarting the firewall)
est_count=$(iptables -v -L FORWARD --line-numbers | grep ESTABLISHED | wc -l)
while [ $est_count -gt 1 ]; do
      old_rule_num=$(iptables -v -L FORWARD --line-numbers | grep ESTABLISHED | cut -d ' ' -f 1 | sed -n 1p)
      iptables -D FORWARD $old_rule_num
      est_count=$(iptables -v -L FORWARD --line-numbers | grep ESTABLISHED | wc -l)
done

y le damos permisos de ejecución

chmod +x /etc/cronfw.sh

Cron

Ahora vamos a SistemaTareas programadas

e insertamos la siguiente línea:

*/20 * * * * /etc/cronfw.sh

Esto hará que se ejecute cada 20 minutos

Nos aseguráramos de que el cron estó habilitado, en SistemaInicioRearrancar

Si no funciona asegúrate de que tienes instalado el paquete ipset

Espero que te haya gustado, pasa un buen día.

Fuente:

Espero que te haya gustado, pasa un buen día. 🐧

Ingrese la dirección de su instancia


Más publicaciones como esta

OpenWrt: Control Parental II, matando conexiones

2019-08-26 | #router

En este artículo vimos como controlar los dispositivos conectados a nuestro router, administrar en que horario se podían conectar a Internet, que tipo de contenido ver, etc, utilizando dnsmasq. Pero este método tenia un problema, y es que no desconectaba los dispositivos que ya tenían una conexión activa en el router. Esto lo podemos solucionar creando un sencillo script y utilizando cron para programar su ejecución cada 20 minutos, o el tiempo que tu quieras establecer, para volver a ordenar las reglas del cortafuegos.

Continuar leyendo 


OpenWrt: Script para actualizar el sistema

2019-06-11 | #router #wrt3200

En OpenWrt para actualizar el sistema debemos de hacerlo paquete a paquete. Cuando hay uno o dos paquetes para actualizar no hay problema, pero cuando se trata de actualizar más el proceso puede llegar a ser tedioso, pero gracias al script que os voy a presentar a continuación podremos actualizar todo el siste a de una forma muy sencilla. El script lo puedes descargar desde https://github.com/tavinus/opkg-upgrade, mi recomendacion es que lo guardes en un disco USB que conectes al router.

Continuar leyendo 