Senden Sie alle Anfragen für eine TLD an eine IP

0

Ich kämpfe seit ein paar Tagen gegen dieses Problem und kann nicht herausfinden, was ich falsch mache. Ich entwickle eine Sicht, die dynamische Subdomains verwendet, und versuche daher, alle Domains, die mit .test enden, an eine IP-Adresse weiterzuleiten (mir ist klar, dass nicht nur Subdomains, sondern alle .test-Domains weitergeleitet werden, sondern alle meine .test-Domains Sehenswürdigkeiten unter der Domain .test).

Ich habe versucht, dnsmasq einzurichten, um dies zu erreichen, aber ich kann es scheinbar nicht zum Laufen bringen. Ich weiß, dass NetworkManager eine eigene Instanz von dnsmasq ausführt. Ich habe den folgenden Eintrag an mehreren Stellen vorgenommen, um dies zum Laufen zu bringen. Der Eintrag, den ich versuche, ist: Adresse = /. Test / 192.168.10.10 .

Ich habe Einträge gemacht in:

  • /etc/NetworkManger/dnsmasq.d/hosts.conf
  • /etc/NetworkManager/dnsmasq-shared.d/hosts.conf
  • /etc/dnsmasq.d/hosts.conf
  • /etc/dnsmasq.conf

Ich habe es zuerst mit der Installation von dnsmasq NetworkManager-Verzeichnissen versucht. Nachdem das nicht geklappt hat, habe ich dnsmasq installiert und die anderen Speicherorte ausprobiert und das hat auch nicht geklappt.

Ich habe versucht, meine Netzwerkschnittstelle neu zu starten, und ich habe meinen Computer mehrmals neu gestartet.

Ich bin mir nicht sicher, was ich falsch mache. Jede Hilfe wäre dankbar.

Eric Larsen
quelle

Antworten:

0

Ich bin auch seit ein paar Tagen auf dem gleichen Boot. Hier ist, was ich getan habe, um es zum Laufen zu bringen (aber ich bin nicht sicher, ob es ein geeigneter Weg ist, um das Problem zu lösen).

Ubuntu hat standardmäßig einen Stub-DNS-Server (der am Port lauscht 53) systemd-resolved. Ich konnte nicht dnsmasqarbeiten, ohne den Stummel zu deaktivieren. Ich bin mir nicht sicher, ob das Abwälzen systemd-resolvedein Ausweg ist, aber wie es Stub DNS heißt, sollte es in Ordnung sein ( sudo systemctl disable systemd-resolved.service).

Dann habe ich die folgenden Änderungen vorgenommen /etc/dnsmasq.conf: bind-interfacesuncomment und dnsmasq dazu gebracht, 127.0.0.1:53( listen=127.0.0.1und port=53) anzuhören .

Teilen Sie NetworkManager mit, dass es dnsmasqals DNS-Server verwendet werden soll, indem Sie dns=dnsmasqzu /etc/NetworkManager/NetworkManager.conf(in [main]Kategorie) hinzufügen .

Jetzt können Sie, wie systemd-resolveddeaktiviert, Änderungen vornehmen /etc/resolve.conf(zumindest bis Sie einen anderen Dienst installieren, der generiert und verwaltet resolve.conf). nameserver 127.0.0.53wird nicht mehr benötigt, ändern Sie es auf nameserver 127.0.0.1.

Sie sollten nun in der Lage sein, dnsmasqdie Auflösung Ihrer TLD auf die von Ihnen gewünschte Adresse zu konfigurieren . /etc/dnsmasq.d/test.confDatei erstellen mit address=/.test/127.0.0.1.

Starten Sie beide, dnsmasqund NetworkManager( sudo servicectl restart dnsmasq.service, sudo servicectl restart network-manager.service) neu.

developer@ubuntu:~$ dig hi_eric.test

; <<>> DiG 9.11.3-1ubuntu1.1-Ubuntu <<>> hi_eric.test
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59442
;; flags: qr aa rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;hi_eric.test.          IN  A

;; ANSWER SECTION:
hi_eric.test.       0   IN  A   127.0.0.1

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Jul 01 07:30:46 PDT 2018
;; MSG SIZE  rcvd: 46

Der Nachteil ist, dass ich dazu gezwungen wurde, fest codierte DNS-Server für ausgehenden Datenverkehr zu verwenden (da dies .testderzeit die einzige Domäne ist, die Ihr Server auflösen kann). Ich habe hinzugefügt hatte resolv-file=/etc/resolve.dnsmasqzu /etc/dnsmasq.confund erstellen /etc/resolve.dnsmasqmit Google öffentlichen DNS - Server:

nameserver 8.8.8.8
nameserver 8.8.4.4

Starten Sie dnsmasqdas letzte Mal neu ( sudo servicectl restart dnsmasq.service). Jetzt sollte alles mehr-weniger gut funktionieren. .testwird in aufgelöst 127.0.0.1, alles andere wird von Google Open DNS-Servern aufgelöst. Sie können die dnsmasqKonfiguration optimieren , die Cache-Größe erhöhen usw.

Wie gesagt, ich bin mir bei dieser Lösung nicht 100% sicher (und ich bin mir zu 99% sicher, dass es eine bessere Lösung gibt), aber sie funktioniert. Ich hoffe, dass jemand anderes alles korrigiert, was ich falsch gemacht habe, und Ihnen einen besseren und stabileren Weg zur Lösung Ihres (und meines!) Problems zeigt. Prost!

Sławomir Uchto
quelle