Erzwingen der Verwendung eines bestimmten DNS-Anbieters im Netzwerk

Erzwingen der Verwendung eines bestimmten DNS-Anbieters im Netzwerk

OpenDNS bietet eine recht einfache Möglichkeit, das Internet nach Kategorien zu filtern. Natürlich kann jeder, der die richtige IP-Adresse hat, den Filter problemlos umgehen, aber für meine Ansprüche würde das ausreichen.

Das größere Problem ist, dass das Ändern des DNS-Anbieters auf der Clientseite keine große Sache ist.

Meine Frage ist also, ob es möglich ist, die Verwendung nur bestimmter DNS-Anbieter im lokalen Netzwerk zu erzwingen.

Das Zielgerät ist ein WLAN-Router mit OpenWRT. (Ich würde jedoch jede ähnlich einfach einzurichtende Filterlösung begrüßen, die Hauptfrage ist jedoch, ob der DNS-Anbieter dies erzwingt.)

Antwort1

Mit der iptables-Firewall funktioniert dies (Openwrt verwendet auch iptables):

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 53 -j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 53 -j DNAT --to 192.168.1.1

Verwenden Sie auf Ihrem Router OpenDNS-Server. 192.168.1.1ist die OpenWRT-Router-IP. 192.168.1.0/24ist das LAN-Netzwerksubnetz. Passen Sie die obigen Regeln entsprechend Ihrer Netzwerksubnetzkonfiguration an. Wenn Sie die obigen Regeln in der OpenWRT-Eingabeaufforderung ausprobieren, ersetzen Sie -Adurch -I. Wenn Sie die Regeln in einem Skript speichern, das beim Hochfahren oder Neustarten geladen wird, -Asollte der Wechsel funktionieren. Mit diesem Setup wird die Ziel-IP, unabhängig davon, welche DNS-Server die Client-Rechner verwenden, in die IP Ihres Routers geändert, wenn die DNS-Anforderung den Router erreicht. Weitere Informationen zu iptables finden Sie auf OpenWRTHier.

Antwort2

Ja, es ist möglich, alle Hosts im lokalen Netzwerk so einzustellen, dass sie nur einen bestimmten DNS-Provider verwenden. Sie können dies tun, indem Sie einen Proxy-Server konfigurieren wieSquid-Proxyund alle Hosts im lokalen Netzwerk können nur über diesen Proxyserver auf das Internet zugreifen. Jede Anfrage, egal ob DNS-Anfrage, HTTP-Anfrage oder eine andere Anfrage, wird also zuerst an den Proxyserver weitergeleitet. Auf diese Weise wird der DNS-Eintrag, der beim Konfigurieren des Proxyservers geschrieben wird, von allen Hosts im lokalen Netzwerk verwendet.

verwandte Informationen