dnsmasq zusammen mit dnscrypt einrichten.

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
debiator
Beiträge: 212
Registriert: 04.10.2015 20:25:21

dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von debiator » 14.10.2015 22:48:09

Hier nochmal ausgelagert von dem anderen Thread meine Lösung für das Einrichten des dnsmasq zu dem dnscrypt.

Zuerst installiert man dnscrypt nach dieser oder einer anderen Anleitung und bringt den zum Laufen:
viewtopic.php?f=30&t=157623
Die einzige Änderung, die man vornehmen sollte, ist die Änderung des localhosts bzw. des DNS-Servers unter Netzwerkeinstellungen auf 127.0.0.2

Jetzt bearbeitet man die conf-Datei von dnsmasq:

Code: Alles auswählen

sudo nano /etc/dnsmasq.conf
Dort trägt man ganz am Anfang (oder sucht es wie ein Irrer in der Datei und kommentiert es heraus) Folgendes ein:

Code: Alles auswählen

    server=127.0.0.2#53
    listen-adress=127.0.0.1
    cache-size=1000
    no-hosts
    no-resolv
    keep-in-foreground
    no-dhcp-interface=lo
    bind-interfaces
    bogus-priv
    stop-dns-rebind
    rebind-localhost-ok
    proxy-dnssec
Dann trägt man es in den Startup ein

Code: Alles auswählen

sudo systemctl enable dnsmasq
Danach startet man neu und checkt mit mehrmaliger Eingabe von

Code: Alles auswählen

dig debianforum.de | grep "Query time"
ob dnsmasq mit dem Cache läuft. Wenn die 2. oder 3. Anfrage gleich 0 msec ist, dann läufts!

Und TADAAA!!! Und ich muss sagen, ja, die Geschwindigkeit der DNS-Anfragen ist wirklich deutlich gestiegen!! :)

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von MSfree » 15.10.2015 08:10:17

Dein Arbeitseifer in allen Ehren, aber die Konfiguration, die du hier postest, mag ja für einen einzelnen Rechner OK sein. Aber, wenn du mehrere Clients im Netzwerk hast, solltest du nicht auf jedem einzelnen dnsmasq installieren sondern nur auf einem zentralen Rechner auf den die anderen dann zugreifen können.

Vor allem die Zeile:

Code: Alles auswählen

    listen-adress=127.0.0.1
ist in diesem Zusammenhang falsch.

Von deiner Aversion gegenüber DHCP mal ganz zu schweigen :wink:

Wenn man also nur einen einzigen Rechner im Netz hat und sich mit statischen IPs rumquälen will, dann kann man dein Setup verwenden, sonst Finger weg!

debiator
Beiträge: 212
Registriert: 04.10.2015 20:25:21

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von debiator » 15.10.2015 08:25:57

MSfree hat geschrieben:Dein Arbeitseifer in allen Ehren, aber die Konfiguration, die du hier postest, mag ja für einen einzelnen Rechner OK sein. Aber, wenn du mehrere Clients im Netzwerk hast, solltest du nicht auf jedem einzelnen dnsmasq installieren sondern nur auf einem zentralen Rechner auf den die anderen dann zugreifen können.

Vor allem die Zeile:

Code: Alles auswählen

    listen-adress=127.0.0.1
ist in diesem Zusammenhang falsch.

Von deiner Aversion gegenüber DHCP mal ganz zu schweigen :wink:

Wenn man also nur einen einzigen Rechner im Netz hat und sich mit statischen IPs rumquälen will, dann kann man dein Setup verwenden, sonst Finger weg!
Ich würde es eher so ausdrücken:
https://de.wikipedia.org/wiki/Dynamic_H ... Sicherheit
Wer also DHCP will, der soll es behalten.

Ansonsten. Wer ein Gateway-PC oder sonst irgendein "Server" im Netz stehen hat, der kann natürlich alles so konfigurieren, dass ALLE PCs, Smartphones etc. über diesen "Server" laufen. Dafür trägt er noch zusätzlich (!) Folgendes in der /etc/dnsmasq.conf ein:

listen-address=192.168.178.2

die IP soll die LAN-IP-Adresse des Rechners sein, auf dem dnsmasq und dnscrypt laufen.
Wenn der Rechner mehrere Netzwerkkarten hat, dann trägt man die IP der anderen in einer extra mit ein.
Dieser Rechner muss dann natürlich als Gateway im Netzwerk fungieren und die Clients entsprechend eingerichtet sein.

Habs nicht ausprobiert. Wer es getan hat, kann ergänzen oder korrigieren. :)

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von mat6937 » 15.10.2015 08:42:02

MSfree hat geschrieben:Aber, wenn du mehrere Clients im Netzwerk hast, solltest du nicht auf jedem einzelnen dnsmasq installieren ...
BTW: Wenn es um Laptops (oder gleichwertig) geht, die auch in anderen/fremden Netzwerken (... dort evtl.sogar mit DHCP :wink: ) verwendet werden, dann kann/soll man dnsmasq schon auf jedem Laptop installieren.

debiator
Beiträge: 212
Registriert: 04.10.2015 20:25:21

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von debiator » 15.10.2015 08:44:04

stimmt, das sollte man dabei für dnsmasq, wie auch für dnscrypt für Laptops bedenken, wenn man schon ein Gateway Zuhause eingerichtet hat.

Benutzeravatar
MSfree
Beiträge: 10685
Registriert: 25.09.2007 19:59:30

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von MSfree » 15.10.2015 08:46:06

mat6937 hat geschrieben:BTW: Wenn es um Laptops (oder gleichwertig) geht, die auch in anderen/fremden Netzwerken (... dort evtl.sogar mit DHCP :wink: ) verwendet werden, dann kann/soll man dnsmasq schon auf jedem Laptop installieren.
Nö, wenn man im fremden Netz unterwegs ist, nutzt man einfach den DNS, der vom DHCP übergeben wird.
Dnsmasq ist ein Serverdienst, der auf Clientrechnern eigentlich nichts zu suchen hat.

debiator
Beiträge: 212
Registriert: 04.10.2015 20:25:21

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von debiator » 15.10.2015 08:49:46

Diese Einstellung kann ich nicht mal annähernd nachvollziehen. Es sei denn man ist ein DHCP- und Severfetischist, sorry. :)

Warum zum Geier soll ich in irgendwelchen Netzwerken den DNS-Server nutzen, der dort eingetragen ist?
Wir reden ja hier nicht von Arbeitsplatzrechnern in einem Firmennetzwerk, sondern von Laptops, die überall eingesetzt werden.
Gerade dort (wenn man Wlan bedenkt) ist dnsmasq MIT dnscrypt eine sehr feine Sache.
Aber wer es nicht will, bitte... er soll es nicht installieren und einrichten.

mat6937
Beiträge: 2925
Registriert: 09.12.2014 10:44:00

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von mat6937 » 15.10.2015 08:52:15

MSfree hat geschrieben:..., nutzt man einfach den DNS, der vom DHCP übergeben wird.

Dnsmasq ist ein Serverdienst, der auf Clientrechnern eigentlich nichts zu suchen hat.
OK, das ist deine Meinung. Technisch geht es auch so wie hier in diesem Thread beschrieben.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von irgendwas » 01.03.2017 14:42:06

Hallo zusammen,
ich hole mal den alten Thread raus, weil meine Frage bzw. Problem genau dazu passt.

Ich habe eine VM mit Debian8 aufgesetzt (IP: 192.168.178.37) und möchte Pi-hole in Verbindung mit DNSCrypt und DNSMasq einsetzen.
Pi-hole und DNSCrypt läuft soweit

Code: Alles auswählen

sudo systemctl status -l dnscrypt-autoinstall
● dnscrypt-autoinstall.service - A tool for securing communications between a client and a DNS resolver.
   Loaded: loaded (/etc/systemd/system/dnscrypt-autoinstall.service; enabled)
   Active: active (running) since Mi 2017-03-01 14:00:55 CET; 19min ago
 Main PID: 428 (dnscrypt-proxy)
   CGroup: /system.slice/dnscrypt-autoinstall.service
           └─428 /usr/local/sbin/dnscrypt-proxy --user=dnscrypt --ephemeral-keys --resolver-name=dnscrypt.eu-dk --local-address=127.0.0.2:53
...
Mär 01 14:00:56 debian8pyload dnscrypt-proxy[428]: Wed Mar  1 14:00:56 2017 [NOTICE] Proxying from 127.0.0.2:53 to 77.66.84.233:443
Leider klappt es nicht, dass ich DNSMasq richtig konfiguriere. Vielleicht hab ich etwas übersehen oder die IP-Adressen falsch angegeben, aber so wie ich das verstanden hab, kommuniziert DNSCrypt über die 127.0.0.2:53 zum "öffentlichen" DNS-Server. Demnach muss ich DNSMasq so einstellen, dass die Anfragen von den Clients an DNSMasq (IP: 192.168.178.37) an den DNSCrypt-Proxy weitergeleitet wird, richtig?

Was mich besonders wundert, ist, dass wenn ich DNSMasq neu starte (und bevor die Fehlermeldung kommt), ich wie gewohnt irgendwelche Seiten aufrufen kann. Sogar der DNSSEC Resolver Test (https://dnssec.vs.uni-due.de) sagt, dass alles geklappt hat. Sobald dann die Fehlermeldung in der console auftaucht, kann ich keine weiteren Seiten aufrufen.

Die Syntax von DNSMasq ist aber in Ordnung, aber der Dienst konnte nicht gestartet werden, weil die IP 192.168.178.37 bereits verwendet wird..

Code: Alles auswählen

sudo systemctl status dnsmasq.service 
● dnsmasq.service - dnsmasq - A lightweight DHCP and caching DNS server
   Loaded: loaded (/lib/systemd/system/dnsmasq.service; enabled)
  Drop-In: /run/systemd/generator/dnsmasq.service.d
           └─50-dnsmasq-$named.conf, 50-insserv.conf-$named.conf
   Active: failed (Result: exit-code) since Mi 2017-03-01 14:22:03 CET; 14min ago
  Process: 1130 ExecStart=/etc/init.d/dnsmasq systemd-exec (code=exited, status=2)
  Process: 1129 ExecStartPre=/usr/sbin/dnsmasq --test (code=exited, status=0/SUCCESS)

Mär 01 14:22:02 debian8pyload dnsmasq[1129]: dnsmasq: Syntaxprüfung OK.
Mär 01 14:22:03 debian8pyload dnsmasq[1130]: dnsmasq: Konnte Empfangs-Socket für 192.168.178.37: Die Adresse wird bereits verwendet nicht erzeugen
Mär 01 14:22:03 debian8pyload systemd[1]: dnsmasq.service: control process exited, code=exited status=2
Mär 01 14:22:03 debian8pyload systemd[1]: Failed to start dnsmasq - A lightweight DHCP and caching DNS server.
Mär 01 14:22:03 debian8pyload systemd[1]: Unit dnsmasq.service entered failed state.
Ich hab mal die weiteren config files angehängt

Code: Alles auswählen

/etc/dnsmasq.conf
server=127.0.0.2#53
listen-address=127.0.0.1
listen-address=192.168.178.37
cache-size=1000
no-hosts
no-resolv
keep-in-foreground
no-dhcp-interface=lo
bind-interfaces
bogus-priv
stop-dns-rebind
rebind-localhost-ok
proxy-dnssec

Code: Alles auswählen

/etc/dnsmasq.d/02-dnscrypt.conf
# Add other name servers here, with domain specs if they are for
# non-public domains.
server=127.0.0.2

Code: Alles auswählen

/etc/systemd/system/dnscrypt-autoinstall.conf
DNSCRYPT_LOCALIP=127.0.0.2
DNSCRYPT_LOCALIP2=127.0.0.3
DNSCRYPT_LOCALPORT=53
DNSCRYPT_LOCALPORT2=53
DNSCRYPT_USER=dnscrypt
DNSCRYPT_RESOLVER=dnscrypt.eu-dk
DNSCRYPT_RESOLVER2=dnscrypt.eu-nl
Vielleicht hab ich gerade einen kleinen Denkfehler oder seh vor lauter Bäumen den Wald nicht ^^

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: dnsmasq zusammen mit dnscrypt einrichten.

Beitrag von irgendwas » 02.03.2017 16:15:01

Hab die Lösung nach nun etlichen Stunden gefunden :mrgreen:

Einfach zwei unterschiedliche Ports für DNSCrypt und DNSMasq verwenden :facepalm:
Darauf kam ich erst, als ich DNSCrypt beendet hab und anschließend DNSMasq gestartet habe.
Mithilfe von

Code: Alles auswählen

sudo netstat -tulpen | grep -w LISTEN
konnte ich dann sehen, dass DNSMasq auf 0.0.0.0:53 lauscht, anstatt 127.0.0.1:53 und 192.168.178.37:53. Ich hab dann einfach für DNSCrypt einen anderen Port gewählt und in der Datei

Code: Alles auswählen

etc/resolv.conf
nameserver 127.0.0.1
festgelegt. Damit die Datei nicht durch reboots überschrieben wird, habe ich die unschöne Variante gewählt mit

Code: Alles auswählen

sudo chattr -i /etc/resolv.conf
Vielleicht sind die ganzen verfügbaren Anleitungen nicht up-to-date oder ich hab eine config Datei übersehen, aber hauptsache es funktioniert.

Antworten