DNS-Redirect auf pi-hole

Es gibt 30 Antworten in diesem Thema, welches 8.433 mal aufgerufen wurde. Der letzte Beitrag () ist von DKeppi.

  • Hallo Forum,


    ich würde gerne die Hardcoded DNS auf mein PI Hole umbiegen. Das es direkt aus der GUI nicht geht, habe ich verstanden. Aber auch ein natable eintrag per SSH löst mein Problem nicht:


    Code
    iptables -t nat -I PREROUTING -i eth1 -p udp --dport 53 -j DNAT --to 192.168.0.2


    führt zu



    was ja erstmal nicht ganz verkehrt aussieht. Funktioniert aber nicht. Ein nslookup mit 8.8.8.8 einer lokalen domain landet beim google dns der natürlich nicht auflösen kann.

    Code
    C:\WINDOWS\system32>nslookup uwes.hausit 8.8.8.8
    Server:  dns.google
    Address:  8.8.8.8
    
    
    *** uwes.hausit wurde von dns.google nicht gefunden: Non-existent domain.


    Jemand eine Idee was noch fehlt bzw woran es hängt?

  • Vielleicht das ein Weg für dich:

    Code
    nslookup <host.meine.domain> 8.8.8.8
    ;; connection timed out; no servers could be reached


    Ich blockiere per Firewallregel. alle DNS-Anfrage nach extern aus allen VLAN's und erlaube nur DNS zum Pihole, zudem erlaube ich den beiden PiHole's dann aber Anfrage an externe DNS-Server ( sonst funktioniert der ja nicht mehr )


    einzig das Gäste-VLan geht direkt nach externe, da ist es mir egal, die sollen nicht von meinem PiHole geblockt werden


    Sozusagen erzwungende PiHole-Nutzung - hab ich mal für nen Kumpel gebaut, der damit verhindert wollte, das seine Kids den DNS-Filter umgehen können.

    • Offizieller Beitrag

    Wieso sollte das nicht gehen, wenn du in der Firewall den DNS Traffic blockst?


    Wiki #nur für USG aber evtl. ein Anhaltspunkt

    Gruß

    defcon

  • Na weil der SmartTV nur den hardcoded DNS nimmt, nicht den den er vom DHCP Server zugewiesen bekommt.

    Und da alle anderen blockiert werden, funktioniert das Gerät nicht mehr.

    Daher muss die DNS Anfrage auf den PiHole umgeleitet werden.

    • Offizieller Beitrag

    Hast du dir den Wiki Eintrag mal angesehen?

    Genau darum geht es ja...

    Gruß

    defcon

    • Offizieller Beitrag

    Hier, das sollte das sein was du suchst, ob das bootfest, FW-Update fest usw. ist, keine Ahnung.


    Code
    $ ssh [email protected]
    # echo "192.168.1.11 my.dns.name" >> /etc/hosts
    # pkill -HUP dnsmasq # tell dnsmasq to reload the hosts file
    # nslookup my.dns.name # confirm the address has been mapped as you expect
    Name:      my.dns.nz
    Address 1: 192.168.1.11 my.dns.name


    192.168.1.1 deine UDM

    192.168.1.11 dein DNS Server

    my.dns.name hostname von deinem DNS Server


    Bitte dementsprechend anpassen.

    Gruß

    defcon

  • Hallo,

    die Lösung funktioniert aber nicht bei hardcodierten DNS Servern im zB SmartTV

    Stimmt.


    Ich habe gerade mal die Doku der PfSense nachgelesen, die machen es dort genauso.


    Wenn du 1.1.1.1. als Ziel DNS angibst, würde ich auch erwarten das dieser angefragt wird. Das müsstest du expliziet unterbinden. ( TCP/UDP 53 to any block )

    Standardanfragen sollten aber mit der iptables-Regel an den PiHole umgebogen werden, daher wäre es interessant, welche Anfragen von z.b. dem SmartTV am PiHole ankommen, kann man ja im Log sehen.


    Der Client glaubt ja weiterhin, mit z.b. 8.8.8.8 zu reden und die Firewall gaukelt ihm das dann vor.


    Ich würde zudem noch Port 853 umbiegen oder mind. sperren, evtl. noch eine Regel. TCP/Port 53 zufügen.

    • Offizieller Beitrag

    Hier auch noch was auf reddit... also es gibt wohl einige Möglichkeiten...


    https://www.reddit.com/r/Ubiqu…s_queries_through_pihole/

    Gruß

    defcon

  • Damit:


    Code
    iptables -t nat -A PREROUTING -i br0 -p udp ! -s 192.168.0.2 ! -d 192.168.0.2 --dport 53 -j DNAT --to 192.168.0.2:53
    iptables -t nat -A PREROUTING -i br0 -p tcp ! -s 192.168.0.2 ! -d 192.168.0.2 --dport 53 -j DNAT --to 192.168.0.2:53
    iptables -t nat -A POSTROUTING ! -s 192.168.0.2 -d 192.168.0.2 -p udp --dport 53 -j MASQUERADE
    iptables -t nat -A POSTROUTING ! -s 192.168.0.2 -d 192.168.0.2 -p tcp --dport 53 -j MASQUERADE

    hat es bei mir nun funktioniert.

    Die Masquerade brauchts weil der PI Hole im gleichen subnetz ist.

    • Offizieller Beitrag

    Damit:


    Code
    iptables -t nat -A PREROUTING -i br0 -p udp ! -s 192.168.0.2 ! -d 192.168.0.2 --dport 53 -j DNAT --to 192.168.0.2:53
    iptables -t nat -A PREROUTING -i br0 -p tcp ! -s 192.168.0.2 ! -d 192.168.0.2 --dport 53 -j DNAT --to 192.168.0.2:53
    iptables -t nat -A POSTROUTING ! -s 192.168.0.2 -d 192.168.0.2 -p udp --dport 53 -j MASQUERADE
    iptables -t nat -A POSTROUTING ! -s 192.168.0.2 -d 192.168.0.2 -p tcp --dport 53 -j MASQUERADE

    hat es bei mir nun funktioniert.

    Die Masquerade brauchts weil der PI Hole im gleichen subnetz ist.

    Kewl. Weißt Du auch schon, ob das Reboot- und Update-fest ist?


    Danke, dass Du uns an Deiner Lösung teilhaben lässt.

  • UHT Ich hoffe du kannst mir helfen, bin mit Linux nicht so bewandert. Ich habe eine UDM-SE (brauche also die bootchicken-Sache nicht..

    1. Wie/wo muss ich das Skript einrichten damit die iptables-Einträge beim Neustart gestartet werden?
    2. Mein Pihole/adguard stehen im 192.168.10.x. Ich möchte gerne das DNS Redirect für das Client-Segment (192.168.20.x) und IoT (192.168.30.x) umsetzen. Ebenso möchte ich ich die NTP-Requests umleiten auf den NTP-Server im 192.168.10.x-Segment. Wie müssen die Einträge für folgende Konfiguration aussehen


    Grüße

  • UHT Ich hoffe du kannst mir helfen, bin mit Linux nicht so bewandert. Ich habe eine UDM-SE (brauche also die bootchicken-Sache nicht..

    Ich glaube nicht, das sich die SE von der PRO groß unterscheidet - die PRO startet bei jedem Reboot ein frisches Betriebssystem vom Boot-Image, somit muss man alle Sachen, die nachträglich darein sollen, über einen Autostart einrichten, der die Scripte etc. beim Booten ausführt und z.b. iptables-Regeln zufügt.

  • UHT  @Tuxtom007 könnt ihr mir noch zu Punkt 2 weiterhelfen?

    Wolltest du alle DNS-Request zwangsweise dahin umleiten - da kann ich dir gerade nicht helfen. Ich weiss nur das es aber im Netz dafür Anleitungen gibt, über Regelwerke DNS zwangsweis umzuleiten und andere DNS-Server zu sperren für alle Clients ( aber für PiHole müssen die erlaubt sein ! )


    Beim NTP würde ich das nur per DHCP-Eintrag machen und NTP-Port nach 192.168.10.x erlauben und aus den Netzen Richtung Internet sperren..

  • Da das Thema ein wenig "ruht" wollte ich nochmal fragen, was hier jetzt nun die finale Lösung für ist bei einer UDM Pro/SE?


    Selbst ne einfache fritz.box kann das ja direkt in ihren Einstellungen / eine pfSense/OPNsense ebenfalls via Regel.


    Was genau muss man bei der UniFi Maschine tun, damit es auch geht?

  • Hallo, nachdem ich die Tage über diesen Thread hier gestolpert bin, wollte ich das ganze auch bei mir umsetzen, da ich kürzlich mein ganzen Netzwerk nach dem Firewall Tutorial 2.0 umstrukturiert habe. Dazu gehörte jetzt natürlich auch, dass vorbei schleichen an meinen beiden Piholes (inkl. interne BIND Konfiguration). Durch das setzen der block Regel für DNS Anfragen von externen DNS Servern ist mir aufgefallen, das es zur Zeit zwei Geräte beim mir gibt, die meinen die 8.8.8.8 (Google) zu benutzen. Was ich natürlich nicht okay ist, wozu benutzt man sonst einen Pihole?


    Da wurde mal wieder das gute Orakel befragt und so bin ich auf diesen Thread gestoßen und wollte nun das ganze bei meiner UDM-SE umsetzen. Hab es gestern ausprobiert. Aber irgendwie haben bei mir die oberen Beispiele irgendwie nicht so ganz gepasst, in der Log vom Pihole wurde angeblich alles vom Gateway beantwortet, was ja nicht stimmte.

    Also etwas weiter gesucht und hab dabei noch eine andere Webseite gefunden gehabt, die ich Euch nicht vorenthalten möchte. Das hat bei mir auf Anhieb hin gehauen, sogar ohne die MASQUARAD Regel. [EDIT on] Wohl, weil meine beiden Piholes sind in einem anderen Subnetz, als die UDM SE. Benutze zwei Piholes die per Failover arbeiten und damit immer unter der gleichen IP zu erreichen sind wenn einer mal ausfallen sollte, übernimmt der andere sofort mit gleicher Datenbank, da beide Syncronisiert. [/Edit off]

    Obwohl die Abfrage intern vom Pihole beantwortet wurde, meinte der Sky Receiver den Google DNS benutzt zu haben. :winking_face: In der Log vom Pihole ist auch die Abfrage des Pihole zu sehen gewesen.


    Diese Webseite hat mich wieder einen Schritt weitergebracht, mein Netzwerk nach meinen Vorstellungen anzupassen. :smiling_face:


    Folgende Iptables hab ich für meine UDM-SE benutzt:

    Code
    iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to 10.x.x.x
    iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 10.x.x.x
    iptables -t nat -A PREROUTING -p tcp --dport 853 -j DNAT --to 10.x.x.x
    iptables -t nat -A PREROUTING -p udp --dport 853 -j DNAT --to 10.x.x.x


    So hat das ganze bei mir wirklich transparent in allen VLANs funktioniert.


    Jetzt muss ich nur noch rausfinden, wie die Iptables Regeln automatisch bei einem Reboot der UDM-SE oder Firmware update beim start ausgeführt werden. :thinking_face:


    Über einen geeigneten funktionierenden Tip würde ich mich freuen.

    Einmal editiert, zuletzt von Curiosity () aus folgendem Grund: Etwas hinzugefügt.