DNS-Server Priorität

CoMo

Captain
Registriert
Dez. 2015
Beiträge
3.902
Hallo,

ich betreibe 2 AdGuard Home Instanzen auf 2 unterschiedlichen Nodes im Proxmox Cluster. adguardhome-sync synchronisiert die Einstellungen der primären Instanz auf die Backup-Instanz.

Beide werden via DHCP und Router Advertisements von meinem Router (OPNSense) verteilt.

Das dient lediglich dazu, dass DNS weiterhin funktioniert, wenn ich die Proxmox Node neu starte. Der Backup AdGuard sollte also im Normalfall genau gar nichts tun und nicht verwendet werden.

Blöderweise gibt es im DHCP keine Möglichkeit, einen primären Server zu definieren. Beide sind gleichwertig und die Clients entscheiden selbst, welchen sie nutzen. Dadurch sind die Statistiken in AdGuard unvollständig.

Was kann ich auf Client-Seite tun, damit der erste Server immer bevorzugt genutzt wird und der zweite nur als Failover?
 
du kannst doch bei DHCP die IP und die DNS Zuweisung einzeln ändern.
Zumindest Win 11

1758028027460.png
 
Und dann? Wie sage ich Windows, dass der eine Server bevorzugt verwendet werden soll und der andere nur, wenn der erste nicht erreichbar ist?

Und wie mache ich das bei den ganzen Linux-Geräten, Linux-Containern und den IoT Geräten?
 
Im Windows-Umfeld sollte der im DHCP zuerst eingetragene DNS-Server als erstes genutzt werden. Nur wenn dieser nicht erreichbar ist, wird auf den Zweiten gegangen.
 
Vllt ist keepalived etwas für dich.

Wollte ich bei mir auch noch einrichten, dass ein 2. Adguard dienst dann einfach die ip übernimmt wenn der master ausfällt.
Habe da aber selber noch nicht die zeit gehabt micht weiter mit zu beschäftigt. Wollte das nur mal als stichwort festhalten.
 
  • Gefällt mir
Reaktionen: CoMo und GTrash81
CoMo schrieb:
ich betreibe 2 AdGuard Home Instanzen auf 2 unterschiedlichen Nodes im Proxmox Cluster
Wäre einfach eine Instanz betreiben und diese auf einen anderen Node migrieren vor einem Node Reboot eine Möglichkeit? Oder gar automatisch per High Availability / Failover? Denke nicht, dass du das sonst sauber hinbekommst.
 
Auf die Implementierung einer Anwendung oder des OS' kannst du dich vermutlich nie verlassen. Wenn du wirklich ein sauberes failover haben willst (und kein loadbalancing), dann musst du auf anderem Weg dafür sorgen, dass der zweite DNS-Server nur genutzt wird, wenn der erste tot ist.
Eventuell gibt es für sowas fertige Lösungen in Form eines Proxies, der dann aber wieder das SPOF ist. Alternativ wie @Sobber schreibt, via VRRP angehen und dafür z.B. keepalived nutzen.
 
Windows hat bei DNS ein Problem: es wird immer der erste Server gefragt.
Bis mindestens 2022 hatte Windows DNS so gehandhabt:
1) DNS-Anfrage an primären DNS-Server senden
2) Auf Antwort warten
3) Schritt 1) 5-10 mal Wiederholen
4) DNS-Anfrage an sekundären DNS-Server senden
5) Gehe zu Schritt 1)

Hatte den schönen Effekt, dass komplexere Programme mehrere Minuten für den Login brauchten.
Daher empfehle ich auch keepalived und bau einen DNS-Cluster, macht bei Windows🤮 weniger Probleme.
 
So, keepalived läuft einwandfrei. Die DNS-Server-IP hängt auf dem primären AdGuard als Master und auf dem sekundären als Slave. Und tut so, wie ich mir das vorstelle. Danke @Sobber
Ergänzung ()

Hier noch meine Config.

Primärer AdGuard:


Code:
vrrp_instance VI_1
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 200
    advert_int 1
    virtual_ipaddress {
        192.168.100.53/24
    }
}
vrrp_instance VI_2
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 200
    advert_int 1
    virtual_ipaddress {
        fda6::53/64
    }
}

Backup AdGuard:


Code:
vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        192.168.100.53/24
    }
}
vrrp_instance VI_2 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    virtual_ipaddress {
        fda6::53/64
    }
}

Leider kann AdGuard wohl nicht auf allen IPv6-Interfaces lauschen, ich habe jegliche Syntax ausprobiert. Somit vorerst DNS nur noch via IPv4.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: xxMuahdibxx
Zurück
Oben