Autor Tema: [Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts  (Leído 6484 veces)

0 Usuarios y 1 Visitante están viendo este tema.

peperfus

  • Visitante
Re: [Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts
« Respuesta #40 en: 08-12-2017, 19:16 (Viernes) »
Por cierto, por si a alguien le interesa la seguridad.....

He conocido este servicio que mejora la seguridad del DNS del cliente que lo utiliza:

DNSCrypt

Creo que es para evitar el DNS spoofing.

Y cosa MUY CURIOSA: teniendo activado el DNSCRYPT, el firewall sigue resolviendo con las reglas de firewall.

Edito: (un par de meses después).
He vuelto a hacer la prueba y ahora el DNSCrypt sí que resuelve por encima de la regla de firewall. No sé qué pasó entonces. La única diferencia significativa es que la prueba anterior fue con Windows XP y esta vez ha sido con Windows 10.


« Última modificación: 06-02-2018, 16:15 (Martes) por peperfus »

peperfus

  • Visitante
Re: [Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts
« Respuesta #41 en: 14-12-2017, 17:06 (Jueves) »
Código: [Seleccionar]
iptables -t nat -A PREROUTING -i br-lan -s !192.168.1.21  -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i br-lan -s !192.168.1.21  -p tcp --dport 53 -j DNAT --to 192.168.1.1

Quería redirigir a todos excepto al de la IP 21, pero no funciona. No redirige a ninguno. Ahí está el fallo, en la sintaxis, porque al ejecutarlo, me pone:

Código: [Seleccionar]
* Running script '/etc/firewall.user'
iptables v1.4.21: host/network `!192.168.1.21' not found
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `br-lan'
Try `iptables -h' or 'iptables --help' for more information.
   ! Failed with exit code 2

Creo que ya sé cómo es:
Citar
The exclamation point (!) must now be placed before the -s parameter: sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP

Mañana lo probaré, que ya no estoy en el curro.
EDITO:
Lo acabo de probar en un openwrt virtual de casa y (aunque no he probado el caso real de redirección), al recargar el firewall (/etc/init.d/firewall restart), no da ningún error, así que parece ser que está bien la sintaxis  :D

Sintaxis correcta para redirigir las DNS de cualquier equipo que se conecte dede la interfaz br-lan excepto las de 192.168.1.21:
Código: [Seleccionar]
iptables -t nat -A PREROUTING -i br-lan ! -s 192.168.1.21  -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i br-lan ! -s 192.168.1.21  -p tcp --dport 53 -j DNAT --to 192.168.1.1
« Última modificación: 14-12-2017, 22:27 (Jueves) por peperfus »

Desconectado peperfus

  • **
  • Mensajes: 7
Re:[Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts
« Respuesta #42 en: 18-07-2018, 00:07 (Miércoles) »
No puedo editar mi primer post....

RECORDAR:
Para que funcionen muchos servicios de actualización ddns, hay que instalar ca-certificates y libustream-openssl
(Y marcar usar HTTPS al enviar la autenticación)
« Última modificación: 20-07-2018, 00:40 (Viernes) por peperfus »

Desconectado peperfus

  • **
  • Mensajes: 7
Re:[Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts
« Respuesta #43 en: 18-07-2018, 18:57 (Miércoles) »
Script que cambia el estado del filtro, activándolo o desactivándolo en cada ejecución:

Código: [Seleccionar]
#!/bin/ash

echo none > /sys/class/leds/arv7519rw22:red:internet/trigger
echo heartbeat > /sys/class/leds/arv7519rw22:blue:alarm/trigger
echo 1 > /sys/class/leds/arv7519rw22:blue:alarm/brightness

if [ ! -f /root/FILTRO_ON ] && [ ! -f /root/FILTRO_OFF ]; then touch /root/FILTRO_OFF
fi

if [ -f /root/FILTRO_ON  ]; then
  uci delete dhcp.@dnsmasq[0].server
  uci add_list dhcp.@dnsmasq[0].server='84.200.69.80'
  uci add_list dhcp.@dnsmasq[0].server='84.200.70.40'
  cp /etc/hosts /etc/hosts.BAK
  echo 127.0.0.1 localhost > /etc/hosts
  mv /root/FILTRO_ON /root/FILTRO_OFF
  echo 1 > /sys/class/leds/arv7519rw22:red:internet/brightness
else
  uci delete dhcp.@dnsmasq[0].server
  uci add_list dhcp.@dnsmasq[0].server='208.67.222.222'
  uci add_list dhcp.@dnsmasq[0].server='208.67.220.220'
  cp /etc/hosts.BAK /etc/hosts
  mv /root/FILTRO_OFF /root/FILTRO_ON
  echo 0 > /sys/class/leds/arv7519rw22:red:internet/brightness
fi
uci commit dhcp
/etc/init.d/dnsmasq restart

echo 0 > /sys/class/leds/arv7519rw22:blue:alarm/brightness

exit 0

Lo he actualizado para que encienda el LED rojo (de mi router Livebox) para indicar filtro desactivado. Además, pone en parpadeo el LED azul mientras está cambiando de un estado a otro.

Y otra idea chula es añadir su ejecución a un botón del router. Así podemos activarlo y desactivarlo enseguida desde el propio router físico, según nos haga falta. Yo lo he hecho así, según he visto de la wiki de open (esto es lo que más fácil me ha funcionado):

Código: [Seleccionar]
mkdir -p /etc/hotplug.d/button
nano /etc/hotplug.d/button/buttons
#!/bin/sh
logger the button was $BUTTON and the action was $ACTION
Con esto y usando logread después de pulsar el botón deseado, averigüé que el botón se llamaba rfkill, así que modifiqué el script buttons:
Código: [Seleccionar]
#!/bin/ash
logger the button was $BUTTON and the action was $ACTION

if [ "$ACTION" = "pressed" ]; then
    if [ "$BUTTON" = "rfkill" ]; then /root/filtro.sh
    fi
fi

Y con esto, puedo activar y desactivar el filtro con el botón lateral del router de forma manual.
« Última modificación: 20-07-2018, 00:52 (Viernes) por peperfus »