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 dnsmasq
arbeiten, ohne den Stummel zu deaktivieren. Ich bin mir nicht sicher, ob das Abwälzen systemd-resolved
ein 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-interfaces
uncomment und dnsmasq dazu gebracht, 127.0.0.1:53
( listen=127.0.0.1
und port=53
) anzuhören .
Teilen Sie NetworkManager mit, dass es dnsmasq
als DNS-Server verwendet werden soll, indem Sie dns=dnsmasq
zu /etc/NetworkManager/NetworkManager.conf
(in [main]
Kategorie) hinzufügen .
Jetzt können Sie, wie systemd-resolved
deaktiviert, Änderungen vornehmen /etc/resolve.conf
(zumindest bis Sie einen anderen Dienst installieren, der generiert und verwaltet resolve.conf
). nameserver 127.0.0.53
wird nicht mehr benötigt, ändern Sie es auf nameserver 127.0.0.1
.
Sie sollten nun in der Lage sein, dnsmasq
die Auflösung Ihrer TLD auf die von Ihnen gewünschte Adresse zu konfigurieren . /etc/dnsmasq.d/test.conf
Datei erstellen mit address=/.test/127.0.0.1
.
Starten Sie beide, dnsmasq
und 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 .test
derzeit die einzige Domäne ist, die Ihr Server auflösen kann). Ich habe hinzugefügt hatte resolv-file=/etc/resolve.dnsmasq
zu /etc/dnsmasq.conf
und erstellen /etc/resolve.dnsmasq
mit Google öffentlichen DNS - Server:
nameserver 8.8.8.8
nameserver 8.8.4.4
Starten Sie dnsmasq
das letzte Mal neu ( sudo servicectl restart dnsmasq.service
). Jetzt sollte alles mehr-weniger gut funktionieren. .test
wird in aufgelöst 127.0.0.1
, alles andere wird von Google Open DNS-Servern aufgelöst. Sie können die dnsmasq
Konfiguration 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!