?>/script>'; } ?> [Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts Widgets Magazine

Autor Tema: [Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts  (Leído 20597 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: 251
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: 251
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 »

Desconectado peperfus

  • ******
  • Mensajes: 251
Re:[Mini guía] Cómo filtrar dominios basura por DNS +OpenDNS y archivo hosts
« Respuesta #44 en: 15-08-2019, 12:23 (Jueves) »
Ojo. Importante.

Poco a poco voy aprendiendo de mis errores y mejorando. Comparto.

Qué significan las opciones domain y local domain, qué hace cada una ??

Domain nos indica el dominio al que pertenecemos y agrega esa terminación a las máquinas clientes del dhcp, a partir de su nombre de host.
por ejemplo:
domain especificado: pepito.com
máquina cliente dhcp: pc4
url de ese pc sería: pc4.pepito.com, asignado automáticamente.  :D

Ahora bien. ¿Qué hace entonces la opción local domain?
OJO.
Si tenemos más máquinas (o subdominios...) pertenecientes al dominio, pero fuera de nuestra LAN, no debemos poner en local domain el mismo domain. ¿Por qué?

Porque el dns, en la opción domain, primero consulta en local, si hay algún nombre que resuelva esa petición. Y si no lo hay, sale a Internet a buscarlo.
Pero en cambio, la opción local domain, obliga a que esa petición dns sea resuelta en local, impidiendo que salga a Internet, aunque no exista.

Ojo, porque esto es importante si queremos acceder desde fuera, como suele ser el caso típico de IP dinámica, con un nombre de dominio. Dicho dominio debe ser distinto al de la opción local domain, porque si no, el cliente actualizador de IP dinámica que tengamos corriendo, no podrá salir a Internet para comparar si ha cambiado la IP y dará error, dejando la máquina inaccesible desde ese dominio por Internet cuando nos cambie la IP.

Como sugerencia en el caso del ejemplo, se podría usar pepito.com como domain y pepito como local domain.
« Última modificación: 15-08-2019, 12:25 (Jueves) por peperfus »