
Ich habe einen Unternehmens-DNS-Server, der Bind verwendet.
Ich habe 3 Consul-Server. Consul lauscht auf dem lokalen Port 8660 auf DNS. Auf diesen Servern habe ich auch DNSmasq, um DNS-Anfragen vom öffentlichen IP-Port 53 an Consul auf dem lokalen Host weiterzuleiten.
Die Konfiguration von Consul ist sehr einfach. Ich habe einfach den DNS-Port aktiviert. Wenn ich den DNS lokal auf Port 8660 überprüfe, funktioniert er einwandfrei.
Die Konfiguration von DNSmasq auf jedem Consul-Server ist:
server=/subdomain.example.com/127.0.0.1#8600
server=XX.XX.XX.XX (first ip of the corporate DNS)
server=XX.XX.XX.XX (second ip of the corporate DNS)
listen-address=XX.XX.XX.XX (ip of the server)
Die Konfiguration des Unternehmens-DNS lautet:
zone "subdomain.example.com" {
type forward;
forward only;
forwarders {
XX.XX.XX.XX; (ip of the first consul)
XX.XX.XX.XX; (ip of the second consul)
XX.XX.XX.XX; (ip of the third consul)
};
};
Wenn einige Einträge zu Consul hinzugefügt oder daraus entfernt werden, wird die DNS-Zone im Unternehmens-DNS ziemlich schnell aktualisiert.
Wenn alle Einträge für einen Dienst aus Consul gelöscht werden, entfernt der Unternehmens-DNS alle Einträge in seiner Tabelle (was normal ist). Wenn die Einträge jedoch erneut erstellt werden, wird der DNS aus Consul aktualisiert, nicht jedoch der Unternehmens-DNS. Um den Unternehmens-DNS zu aktualisieren, sollte ich den Befehl ausführenrndc flushtree subdomain.example.com
Antwort1
Dies wird in der Consul-Dokumentation unter dem Titel „Tag 1“ behandelt. ☺
Legen Sie die soa.min_ttl
Konfigurationsoption fest. Ohne diese Option wissen zwischenspeichernde DNS-Proxys nicht, wie lange die Informationen „kein solcher Name“ und „keine Daten“ gültig sein sollen, und Sie erhalten ihre eigenen Schätzungen nach bestem Wissen und Gewissen. Dies wird leicht fälschlicherweise als Fehler der zwischenspeichernden DNS-Proxys dargestellt. Das ist es aber nicht. Ein „kein solcher Name“ und „keine Daten“-Antwortdatagramm soll TTL-Informationen in einem (synthetisierten) SOA-Ressourceneintrag enthalten.
Weiterführende Literatur
- https://learn.hashicorp.com/consul/security-networking/dns-caching
- Jonathan de Boyne Pollard "Das
MINIMUM
Feld".Die Semantik der Felder eines SOA-Ressourceneintrags. Häufig gestellte Fragen.