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?

Balexand
quelle

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 .

Oliver
quelle
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.

Gerald Combs
quelle
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.

Francois Wolmarans
quelle
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.

Konrad Gajewski
quelle