Auflösen zu CNAME, nicht zu A-Eintrag

Auflösen zu CNAME, nicht zu A-Eintrag

Im Rechenzentrum der Universität, an der ich arbeite, haben wir ein DNS-System, das wir zum Registrieren der Namen unserer Server und der Adressen der Dienste verwenden, die nur für den internen Gebrauch bestimmt sind.

Normalerweise verwenden wir das folgende Muster:

server     A        xxx.xxx.xxx.xxx
service    CNAME    server

Jetzt haben wir einen Dienst, den wir beim Zugriff über HTTP nur in den CNAME-Eintrag und nicht in den A-Eintrag auflösen möchten.

Ist das möglich, wenn nur die DNS-Konfiguration verwendet wird?

Antwort1

Bei einigen Protokollen (z. B. http) können Sie den Dienst so konfigurieren, dass er nur antwortet, wenn der Client den richtigen Namen angibt. In diesem Szenario würden Sie den Webserver so konfigurieren, dass er nur auf HTTP-Anfragen antwortet, die den CNAME enthalten. Anhand der Kommentare wissen Sie bereits, wie das geht.

Es gibt auch Protokolle, bei denen der Server den vom Client verwendeten Namen nicht kennt. In diesem Fall gibt es keine Möglichkeit, den Benutzer daran zu hindern, den Namen im A-Eintrag zu verwenden.

Ich glaube nicht, dass Sie dies auf der DNS-Ebene tun können. Das heißt, es gibt keine zuverlässige Möglichkeit, einen CNAME zu erstellen, der für Ihre Clients sichtbar ist und der in die gewünschte IP-Adresse aufgelöst wird, ohne dass ein entsprechender A-Eintrag vorhanden ist, der auch für Ihre Clients sichtbar ist.

Was dudürfen(je nachdem, welche DNS-Software Sie verwenden, denke ich) besteht darin, zwei A-Einträge zu haben, die beide auf die gleiche IP-Adresse verweisen, d. h.

server     A        xxx.xxx.xxx.xxx
service    A        xxx.xxx.xxx.xxx

und dann den serverDatensatz nur für die Administratoren sichtbar machen, die Zugriff darauf benötigen. Sie müssen nichthabeneinen CNAME für Dienstnamen zu verwenden. Der einzige Haken besteht darin, dass es dann in Ihrer Verantwortung liegt, sicherzustellen, dass die IP-Adressen für die beiden Namen immer übereinstimmen.

Antwort2

Ja, das ist möglich. Tatsächlich ist das sowieso der erste Schritt zur vollständigen Lösung des Problems.

Um dies tatsächlich zu tun, müssen Sie (normalerweise) die lokalen DNS-Auflösungsmethoden Ihres Betriebssystems umgehen, da diese (wiederum normalerweise) nicht dazu gebracht werden können, beim CNAME-Eintrag anzuhalten und nicht weiter aufzulösen. Mir sind keine DNS-Resolver-Bibliotheken bekannt, die dies ermöglichen, aber ich kenne ein Standardtool, das dies tut. Der digBefehl von BIND folgt CNAME-Einträgen nicht, wenn Sie explizit nach einem CNAMEAbfragetyp fragen (oder einem ANYAbfragetyp, obwohl dasMaigibt je nach DNS-Server auch A- oder AAAA-Einträge zurück).

verwandte Informationen