DNS (Unbound) löst nicht auf, wenn einer der DNS Server nicht erreichbar ist



  • Hallo zusammen,

    ich habe bis vor kurzem noch 4 DNS Server für meine 2 Gateways genutzt. Nachdem einer ausgefallen war, brach die ganze Internetverbindung zusammen. Denn sobald einer der DNS Server nicht erreichbar ist, löst er nicht mehr auf, bzw. braucht Ewigkeiten.
    Daher habe ich nun nur noch die Cloudflare DNS via TLS im Einsatz. 1.1.1.1 und 1.0.0.1. Heute schien einer der beiden nicht erreichbar zu sein und wieder ging kam es zu keiner Auflösung mehr.
    Ist das Verhalten so bekannt?


  • Moderator

    Unbound ist der DNS Resolver - der braucht eigentlich gar keinen DNS Server um irgendwas aufzulösen, denn das ist sein Job. Er löst die Domains auf, und zwar von der Root/Wurzel aus nach oben und cached danach das Ergebnis. Tatsächliche Forwarding Server braucht er nur, wenn

    1. mit unbound DNS over HTTPS konfiguriert wurde, dann werden entsprechende Gegenstellen wie Cloudflare und Co benötigt und unbound schickt dann alles dorthin
    2. wenn manuell das Forwarding Häkchen gesetzt wurde und unbound explizit vom Resolver zum Forwarding gezwungen wird.

    Beides ist kein Standard. So du also nichts weiter zu deiner Konfiguration schreibst, kann dir außer heiterem herumraten bei heißen Heimtemperaturen keinerso wirklich was dazu sagen, warum das bei dir so passiert. ;)

    Gruß



  • Hallo JeGr,

    ja bei den heißen Temperaturen wird man schon schnell knausrig mit den Informationen... Sorry!
    Ich habe #1 unbound DNS über HTTPS mit den Cloudflare Servern.
    Forwarding ist daher deaktiviert und unter den Custom Options steht:

    erver:
    forward-zone:
    name: "."
    forward-ssl-upstream: yes
    forward-addr: 1.1.1.1@853
    forward-addr: 1.0.0.1@853
    server:include: /var/unbound/pfb_dnsbl.*conf

    Unter System General Setup habe ich die beiden Server. Jeweils einer pro Gateway.
    Ist jetzt einer der beiden down, so geht gar nichts mehr obwohl die Gateway 2 erst aktiv wird, wenn Gateway 1 down ist.
    Auch der Diagnose DNS Lookup test verhält sich so, dass er immer beide DNS Server fragen möchte.


  • Moderator

    Okay das könnte also tatsächlich ein Seitenphänomen vom TLS Forwarding sein. Wenn du die Server bei System/General einträgst mit dem entsprechenden Interface, dann werden die IPs als Hostrouten angelegt. Sprich die eine IP geht immer über GW1 die andere über GW2 raus, weil das Routing das so sagt.

    Ist jetzt einer der beiden down,

    Wer ist down? Einer der beiden DNS Gegenstellen? Eher unwahrscheinlich, da die IPs ja keine echten Server sind, sondern Geolocated IPs. Meinst du eins der Gateways?

    Ist jetzt einer der beiden down, so geht gar nichts mehr obwohl die Gateway 2 erst aktiv wird, wenn Gateway 1 down ist.

    Den Zusammenhang verstehe ich nicht ganz ;) Wenn 2 down ist, sollte ja 1 einspringen, oder nicht?

    Ich würde an der Stelle bei System/General die 1er DNSe mal testweise ohne spezifisches Gateway reinnehmen. Und darauf achten, dass unten drunter auch der Haken bei Disable Forwarding for pfSense aus ist, damit pfSense selbst auch den Resolver zuerst nutzt, statt direkt die DNSe zu fragen (und dann kein TLS zu machen).



  • Ok, danke für die Denkanstöße!
    Jedoch wollte ich TLS schon gerne nutzen.

    Ist jetzt einer der beiden down,

    Gemeint war der DNS Server. Aber vermutlich hast Du recht und die DNS Server sind durch deren Cluster "immer erreichbar".

    Steht denn trotz TLS fest, dass die DNS Server IMMER über die Gateways gehen?
    Werden zur Auflösung einer IP IMMER beide DNS Server und in meinem Falle beides Gateways zur Auflösung genutzt?

    Ist jetzt einer der beiden down, so geht gar nichts mehr obwohl die Gateway 2 erst aktiv wird, wenn Gateway 1 down ist.

    Hier mit war gemeint:
    Ist DNS Server #2 z.B. nicht erreichbar, und ich bin über Gateway#1 online (dieser nutzt DNS Server #1), so wird gar kein DNS mehr aufgelöst.
    Das führt mich wieder zur Vermutung, dass immer DNS #1 und #2 online sein müssen, die wiederum jeweils GW #1 und #2 zugeordnet sind, damit ich mit GW#1 ohne Probleme surfen kann, während sich GW#2 im Fallback befindet.


  • Moderator

    @renegade said in DNS (Unbound) löst nicht auf, wenn einer der DNS Server nicht erreichbar ist:

    Gemeint war der DNS Server. Aber vermutlich hast Du recht und die DNS Server sind durch deren Cluster "immer erreichbar".

    Anycast, also so gut wie. Sollte nicht wie zu Beginn größere Probleme auftreten, sollten beide IPs ähnlich wie die Quad 8 oder Quad 9 Adressen so gut wie immer durch geographisch Nahe Gegenstellen aufgelöst werden.

    Steht denn trotz TLS fest, dass die DNS Server IMMER über die Gateways gehen?

    TLS hat damit gar nichts zu tun, sondern IP. Wenn du 1.1.1.1 mit GW 1 und 1.0.0.1 mit GW 2 fix in General Settings einträgst, dann werden für diese IPs entsprechende Hostrouten gesetzt. Der Sense ist dann völlig gleichgültig was du mit dem Endpunkt sprichst, es wird jeder Traffic dann hart über GW1 oder 2 geschickt.

    Werden zur Auflösung einer IP IMMER beide DNS Server und in meinem Falle beides Gateways zur Auflösung genutzt?

    Habe ich noch nicht nachgesehen, aber meines alten Wissens nach war Unbound als Resolver seriell, nicht parallel arbeitend, somit würde er erst 1.1.1.1 dann 1.0.0.1 versuchen, wenn er keine Antwort bekommt. Das könnte aber im Forwarding Modus tatsächlich anders sein, hatte ich aber noch nie explizit nachgesehen.

    dass immer DNS #1 und #2 online sein müsse

    Nein, das sollte genau nicht der Fall sein. Vor allem nicht wenn #1 dein Default Gateway ist, dann gibt es eigentlich erst recht keinen Grund, warum dann DNS#1 nicht laufen sollte. Das müsste man aber im Einzelfall nachstellen/probieren. Auch der Haken bei Advanced "System Default Gateway Switching" wäre dann ggf. zu überdenken und je nach Fall bei dir zu setzen.

    Gruß