Bloquear direcciones IP internas con dnsmasq.conf

Bloquear direcciones IP internas con dnsmasq.conf

Se puede hacer algo como esto en el archivo conf para bloquear sitios wan:

address=/verystrangesite.com/127.0.0.1

Entonces, si el usuario intenta probar algo no tan divertido en mi LAN invitada, obtiene ERR_CONNECTION_REFUSED.

Desafortunadamente, esto no funciona para sitios internos (enrutadores, puertas de enlace, hwfw, cámaras IP), al menos si solo se puede acceder a ellos mediante IP (no sé si funcionaría si tuviera algo como my-ip.com en lugar de 172.16.1.54). Lo que probé se ve así:

address=/172.16.1.2/127.0.0.1

Entonces, ¿conoces la sintaxis correcta para lograr esto?

gracias de antemano

Tobías

Respuesta1

No existe una sintaxis correcta para lograr esto.

dnsmasq es sólo un servidor DNS:no esse encuentra en medio de todo el tráfico de la red, simplemente responde a consultas de DNS y traduce nombres de dominio a direcciones IP. Tus ejemplos de dnsmasq nobloquearen los sitios, simplemente falsifican los resultados de la consulta DNS (y solo si el cliente usa su DNS).

Clientes que intentan acceder a un sitio web directamente por dirección IPno utiliceDNS para resolverlo en primer lugar: la dirección ya ha sido "resuelta previamente", por así decirlo. Por lo tanto, hayNoconfiguración de dnsmasq que posiblemente podría afectar dichas conexiones.

En lugar de eso, para bloquear hosts arbitrarios por dirección IP, hágalo en la configuración de su enrutador.cortafuegos(Linux iptables/nft/ferm, BSD pf). Para generar un mensaje de error de "conexión rechazada", agregue una regla de firewall que "rechacerá" la conexión:

iptables -I FORWARD [...] -d 172.16.1.2 -p tcp -j REJECT --reject-with tcp-reset
iptables -I FORWARD [...] -d 172.16.1.2 ! -p tcp -j REJECT --reject-with icmp-port-unreachable

información relacionada