Blockieren Sie interne IP-Adressen mit dnsmasq.conf

Blockieren Sie interne IP-Adressen mit dnsmasq.conf

Um WAN-Sites zu blockieren, kann man in der Conf-Datei etwa Folgendes tun:

address=/verystrangesite.com/127.0.0.1

Wenn der Benutzer also versucht, etwas nicht so Lustiges auf meinem Gast-LAN ​​auszuprobieren, erhält er die Meldung ERR_CONNECTION_REFUSED.

Leider funktioniert dies nicht für interne Sites (Router, Gateways, hwfw, IP-Cam), zumindest nicht, wenn diese nur per IP erreichbar sind (ich weiß nicht, ob es funktionieren würde, wenn ich so etwas wie my-ip.com statt 172.16.1.54 hätte). Was ich versucht habe, sieht so aus:

address=/172.16.1.2/127.0.0.1

Kennen Sie also die richtige Syntax, um dies zu erreichen?

Vielen Dank im Voraus

Tobias

Antwort1

Es gibt keine korrekte Syntax, um dies zu erreichen.

dnsmasq ist nur ein DNS-Server – ernichtsitzen in der Mitte des gesamten Netzwerkverkehrs, es antwortet lediglich auf DNS-Anfragen und übersetzt Domänennamen in IP-Adressen. Ihre dnsmasq-Beispiele nichtBlockDie Sites fälschen lediglich die DNS-Abfrageergebnisse (und zwar nur, wenn der Client Ihren DNS überhaupt verwendet).

Clients, die versuchen, direkt über die IP-Adresse auf eine Website zuzugreifenverwende nichtDNS, um sie überhaupt aufzulösen – die Adresse wurde sozusagen bereits „voraufgelöst“. Daher gibt esNEINDNSMASQ-Konfiguration, die solche Verbindungen möglicherweise beeinträchtigen könnte.

Um beliebige Hosts nach IP-Adresse zu blockieren, tun Sie dies stattdessen in Ihrem Router.Firewall(Linux iptables/nft/ferm, BSD pf). Um eine Fehlermeldung „Verbindung abgelehnt“ zu generieren, fügen Sie eine Firewall-Regel hinzu, die die Verbindung „ablehnt“:

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

verwandte Informationen