Konfigurieren Sie den DNS-Server so, dass für alle Domänen dieselbe IP zurückgegeben wird


11

Ich möchte einen Nameserver konfigurieren, der für jeden beliebigen Hostnamen dieselbe IP-Adresse ("A" -Datensatz) zurückgibt. Zum Beispiel:

  • example.com
  • subdomain.example.com
  • someotherdomain.com
  • anyotherdomain.co.uk

sollten alle die gleiche IP-Adresse zurückgeben. Gibt es eine Möglichkeit, dies mit BIND zu tun? Oder gibt es eine Alternative zu BIND, die dies kann?

Antworten:


20

Mit BIND benötigen Sie dazu eine gefälschte Root-Zone. In named.conf, legen Sie die folgenden:

zone "." {
    type master;
    file "/etc/bind/db.fakeroot";
};

In dieser db.fakerootDatei benötigen Sie dann etwa Folgendes:

@ IN SOA ns.domain.com. hostmaster.domain.com. ( 1 3h 1h 1w 1d )
  IN NS <ip>
* IN A <ip>

Mit dieser Konfiguration gibt BIND für alle AAbfragen dieselbe IP-Adresse zurück .


Funktioniert gut, aber die Hauptdomäne wird nicht aufgelöst? Irgendwelche Ideen? Beispiel: testdomain.com
— opc0de

Das funktioniert verdammt gut. Das einzige Problem besteht darin, dass NS-Datensatzabfragen für die Domäne möglicherweise explodieren. Dies bedeutet, dass die NS-Datensätze für die .Zone bereitgestellt werden, die auf die NS-Abfragen einer bestimmten Domäne nicht antworten. (Aber es funktioniert ansonsten, um den richtigen A-Rekord
— Thomas Ward

eine Möglichkeit für Microsoft DNS-Server?
— DeadManN

8

Laut der Manpage dnsmasq

address=/#/1.2.3.4

sollte den Trick machen.


Vielen Dank! Das war so einfach. Dnsmasq ist definitiv einfacher zu konfigurieren als BIND.
— Balexand

Wissen Sie, ob es auch eine Möglichkeit gibt, einen Platzhalter mit MX-Datensätzen in dnsmasq zu verwenden?
— Balexand

Es sieht so aus mx-hostund mx-targetwird es auch tun.
— Gerald Combs

1
Weißt du wie? Die Verwendung von Platzhaltern mit mx-hostund mx-targetist nicht in der Manpage dokumentiert und ich kann es nicht zum Laufen bringen. Ich habe versucht, eine ähnliche Notation wie die addressOption ( #Zeichen) zu verwenden. Ich war in der Lage, Platzhalter für beide zu verwenden Aund MXBIND mithilfe von Olivers Vorschlag zu verwenden, aber ich würde eigentlich lieber dnsmasq verwenden. Vielen Dank!
— Balexand

dnsmasq ist eher ein rekursiver als ein autorisierender Nameserver (könnte so verwendet werden, aber eindeutig nicht sein Hauptziel)
— Patrick Mevzek

1

Sie können Platzhalterabgleiche in bind durchführen.

*.example.com.        IN      A       192.0.2.45

Dies muss in Ihrer benannten Konfigurationsdatei für die Domain definiert werden. Seien Sie vorsichtig, wenn Sie andere ADatensätze für die Domain definieren müssen.


3
Welchen Teil von "allen Domains" haben Sie vermisst?
— Ceejayoz

1

Sie können auch das Tool fakedns verwenden . Die Verwendung ist sehr einfach - sie wird an Post-53-UDP gebunden und stellt allen A-Abfragen dieselbe IP-Adresse zur Verfügung . Sie geben die IP-Adresse als Befehlszeilenparameter an. Mit Abstand die einfachste Lösung. Erfordert Python zum Ausführen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.