Bloqueie endereços IP internos com dnsmasq.conf

Bloqueie endereços IP internos com dnsmasq.conf

Pode-se fazer algo assim no arquivo conf para bloquear sites wan:

address=/verystrangesite.com/127.0.0.1

Então, se o usuário tentar tentar algo não tão engraçado na minha LAN convidada, ele receberá ERR_CONNECTION_REFUSED.

Infelizmente, isso não está funcionando para sites internos (roteadores, gateways, hwfw, ip cam), pelo menos se eles forem acessíveis apenas por IP (não sei se funcionaria se eu tivesse algo como my-ip.com em vez de 172.16.1.54). O que eu tentei ficou assim:

address=/172.16.1.2/127.0.0.1

Então, você conhece a sintaxe correta para conseguir isso?

Agradeço antecipadamente

Tobias

Responder1

Não existe uma sintaxe correta para conseguir isso.

dnsmasq é apenas um servidor DNS – énãofica no meio de todo o tráfego da rede, ele apenas responde às consultas DNS e traduz nomes de domínio em endereços IP. Seus exemplos de dnsmasq nãobloquearnos sites, eles apenas falsificam os resultados da consulta DNS (e somente se o cliente usar o seu DNS).

Clientes tentando acessar um site diretamente pelo endereço IPnão useDNS para resolvê-lo em primeiro lugar – o endereço já foi “pré-resolvido”, por assim dizer. Portanto, hánãoconfiguração dnsmasq que poderia afetar tais conexões.

Em vez disso, para bloquear hosts arbitrários por endereço IP, faça-o no roteadorfirewall(Linux iptables/nft/ferm, BSD pf). Para gerar uma mensagem de erro “conexão recusada”, adicione uma regra de firewall que “rejeitará” a conexão:

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

informação relacionada