Einrichten Ihres eigenen DNSCrypt-Server auf Ubuntu 16.04 Linux

DNSCrypt VS Plain DNS

Was ist DNS? DNS ist ein Domain Name Service, die von allen weit verbreitet ist heute. Wenn Sie nicht wissen, wenn Sie DNS verwenden, dann ist dieser Artikel nicht für Sie.

DNS wird verwendet für Menschen lesbaren Domain-Namen in maschinenlesbaren Adressen aufzulösen. Tatsächlich, für Server im Internet ist es nicht wichtig, wenn Ihre Seite einen ordentlichen und kurze Namen hat oder nicht, es hat nichts dagegen, auch nicht hässlich IP-Adressen zu haben, wie 19.5.81.65 und nicht die 1.1.1.1 – zum Beispiel. Apropos, 1.1.1.1 – DNS-Serveradresse von CloudFlare ist ein wirklich funktioniert und es unterstützt alle Protokolle: DNS, DNSCrypt, DNS-Over-TLS, DNS-Over-HTTPS.

Damit, ist, um die IP-Adresse von einem Server über das Internet von Domain-Namen für die DNS-Server zu wissen, verwendet. Ihr Browser fragt DNS-Server die Frage, wie: “Was ist die IPv4-Adresse von www.google.com” und der DNS-Server antwortet “Die IPv4-Adresse von www.google.com ist 123.456.789.123”. Natürlich ist es keine echte IP, die reale IP kann nicht enthalten Nummern größer als 255 denn es müssen genau sein 1 Byte. Damit, in dieser Routine alle, die auf Ihrer verdrahtete / drahtlose Verbindung schnüffelt können sehen, dass Sie besuchen “google.com”. DNSCrypt Protokoll ist hier, um diese Informationen und niemand beetween Ihren PC und das Zielressource zu verschlüsseln in der Lage, Ihre Domain-Anfragen zu schnuppern.

Das Ziel dieses Artikels

  • Installieren Sie Ihren eigenen DNSCrypt v2 Spediteur (v1 wird ebenfalls unterstützt) ( wir werden dnsdist Paket verwenden)
  • Installieren DNSCrypt-Client für Windows
  • Installieren DNSCrypt-Client für Android

Hinweis: Der Artikel wurde in Englisch geschrieben. Wechseln Sie auf Englisch automatische Übersetzung deaktivieren.

Lesen Sie den Artikel weiter alle das Tutorial sehen.

Wie Sie sehen können wir durch den Installationsprozess von Client-Software gehen, gehen zu. Das bedeutet, dass, wenn Sie nicht wollen, einen eigenen Server installieren, gerade diesen Schritt überspringen und zu Client-Installation gehen. Es gibt Unmengen an öffentlichen DNSCrypt Server, den Sie sicher benutzen und fühlen können, während das Surfen im Internet.

Schritt 1. DNSCrypt Server-Installation

Bedarf

  • VPS-Server mit Ubuntu 16.04 (Hinweis: jeder Linux kann verwendet werden,, dies ist keine Voraussetzung Ubuntu zu verwenden, aber in diesem Tutorial werde ich verwenden Ubuntu). Wenn Sie mit Debian, die Installation ist fast genau die gleiche. Aber wenn Sie mit CentOS (welches basierend auf RPM-Pakete) es wird für Sie anders sein
  • Sie müssen Root-Rechte auf diesem Server haben
  • Jeder PC mit Windows für die Client-Installation und Test
  • (wahlweise) Jeder PC / Router / Gerät läuft jede Linux OS (Ubuntu, Debian, CentOS, RedHat etc.) Prozessoren mit x64 / x86 / Arm / MIPS und usw..
  • (wahlweise) Alle Android-Handy mit AdGuard App installiert

Vorbereiten VPS

Ich werde ein paar billigen Cloud-Server für die Installation von DNSCrypt-Server auf es verwenden. Damit, Ich bin über SSH und sehen root-Konsole verbunden


Wie man sehen kann ich Putty bin mit Linux-Server von Windows-Rechner zu verbinden. Haftungsausschluss: Ich benutze Windows hier als Client-Rechner, weil Windows weit verbreitet ist und viele Leute es verwenden und ich möchte so nah an der Realität sein, wie es ist. Leute, die Linux als Hauptbetriebssystem verwenden, müssen diese Art von Handbüchern nicht lesen, weil sie es selbst tun können 🙂

Damit, Update-Pakete können und überprüfen Sie die Version von libsodium Paket in den offiziellen Repo:

apt-get update
apt-get install nano
apt-cache search libsodium

Und wir sehen Liste der Pakete

Lassen Sie uns prüfen Version libsodium18 Paket

 apt-cache madison libsodium18 

Die Paket-Version ich habe ist 1.0.8. Das ist nicht gut für uns, weil es keine Verschlüsselung für DNSCrypt v2 benötigt Unterstützung (sowieso v1 arbeiten, obwohl wir es so machen wollen “wie es sein sollte”. Wir brauchen mindestens Version 1.0.9.

Damit, wir werden auf Linux-Geist-Modus schalten und compilieren FROM SOURCE! 

OK, eine kleine Anmerkung hier: wenn Sie mit Ubuntu / Debian x64, Sie können hier von mir dpkg Pakete zusammengestellt herunterladen: libsodium-1.0.9-dpkg

Lassen Sie uns zunächst Quellen ermöglichen in APT zur Verfügung stehen: Dafür, Öffnen Sie die Datei /etc/apt/sources.list und uncomment in Universum Quellen die Zeile mit deb-src … Universum oder führen Sie einfach die folgenden:


echo "deb-src http://mirror.yandex.ru/ubuntu $(lsb_release -cs) universe" > /etc/apt/sources.list.d/universe.list
apt-get update

Lassen Sie uns einen neuen Ordner in / root erstellen und rufen “bauen”. Dann Quellen für libsodium herunterladen und versuchen, es ohne Änderungen zu bauen:

apt-get build-dep libsodium18
apt-get install git nano dpkg-dev devscripts fakeroot
mkdir -p /root/build/libsodium
cd /root/build/libsodium
apt-get source libsodium18
cd libsodium-1.0.8/
fakeroot debian/rules binary

Es wird einige Zeit in Anspruch nehmen… Aber die Hauptsache ist, dass Sie keine Fehler während Kompilierung haben sollte und am Ende zu sehen, sollte die folgenden:

Damit, *.deb-Pakete wurden erfolgreich gebaut. Lassen Sie uns jetzt die Version dieses Pakets aktualisieren, um 1.0.9. Wir werden offiziell verwenden github Quelle.


uupdate -v 1.0.9 ../libsodium_1.0.8-5.debian.tar.xz
cd ../libsodium-1.0.9
git init
git remote add origin https://github.com/jedisct1/libsodium.git
git fetch origin
git checkout -b stable origin/stable
git checkout c09b00cf20

Hinweis: der letzte Befehl ist nicht erforderlich, ausgeführt werden. Aber das ist die Version, die ich verwendet und es funktionierte. Also, wenn Sie nur neuere Version installieren möchten nicht ausführen letzten Befehl mit “c09b00cf20” commit id. Wenn Sie nicht wissen, dass es, Folgen Sie einfach dem Tutorial und das sollte funktionieren 🙂

Jetzt, Lassen Sie uns das Paket Changelog aktualisieren und eine neue Nummer der Version eingestellt:


dch -n

Dies wird mit einem Texteditor öffnen (nano) und Sie müssen es einfach nur speichern, indem Sie Strg + O beenden Sie dann durch Drücken von Strg + X.

Jetzt, Wiederaufbau der Version 1.0.9

fakeroot debian/rules binary
cd ../
ls -lah

Und sehen Sie die Liste der Dateien, die wir haben: wir sollten libsodium18_1.0.9-0ubuntu1_amd64.deb libsodium-dbg_1.0.9-0ubuntu1_amd64.deb libsodium-dev_1.0.9-0ubuntu1_amd64.deb haben
Jetzt, installieren sie alle:

dpkg -i libsodium18_1.0.9-0ubuntu1_amd64.deb libsodium-dbg_1.0.9-0ubuntu1_amd64.deb libsodium-dev_1.0.9-0ubuntu1_amd64.deb

Das ist es. Die Hauptanforderung Paket installiert. Jetzt, Lassen Sie sich dnsdist Paket aus Quellen mit offiziellen Repo-kompiliert auf GitHub.


apt-get install ragel virtualenv zip libsystemd-dev protobuf-compiler libssl-dev libprotobuf-dev dh-systemd libboost-dev libboost1.58-dev libbsd-dev libedit-dev liblua5.2-0 liblua5.2-dev libreadline-dev libreadline6-dev libtinfo-dev
cd /root/build
git clone -b "dnsdist-1.3.3" https://github.com/PowerDNS/pdns
cd pdns/pdns/dnsdistdist
autoreconf -i
./configure --prefix="" --exec-prefix=/usr --sysconfdir="/etc/dnsdist" --with-systemd="/lib/systemd/system" --enable-dns-over-tls --enable-dnscrypt --with-protobuf

Überprüfen Sie, ob es keine Fehler hier und kompilieren


make
make install

Und warten, es zu kompilieren… Das wird eine Weile dauern, abhängig von Ihrem VPS. Dann überprüfen Sie die Version:


dnsdist -V

Für mich ist es:


dnsdist 0.0.0.HEAD.gg27dd1e3 (Lua 5.2.4)
Enabled features: dns-over-tls(openssl) dnscrypt ebpf libsodium protobuf recvmmsg/sendmmsg systemd

OK, Lassen Sie uns ein paar schnelle configs hinzufügen und sehen, wie es funktioniert


mkdir /etc/dnsdist
cd /etc/dnsdist
wget -O "/tmp/dnsdist.zip" "https://blog.jazinbaz.in/download/2571/"
unzip /tmp/dnsdist.zip

systemctl daemon-reload
service dnsdist restart
service dnsdist status

Oder einfach nur manuell config-Datei hier herunterladen und kopieren Sie den Inhalt dnsdist.conf.zip

Wir sollten sehen, dass Dienst läuft. Jetzt, läßt den Schlüssel erzeugt, die für die Verschlüsselung benötigt werden,.

mkdir -p /var/lib/dnsdist
dnsdist -c 

generateDNSCryptProviderKeys("/var/lib/dnsdist/providerPublic.key", "/var/lib/dnsdist/providerPrivate.key")
sinceDate=os.time(os.date("!*t"))
expireDate=os.time({year=2100, month=0, day=1, hour=00, minute=00})
generateDNSCryptCertificate("/var/lib/dnsdist/providerPrivate.key", "/var/lib/dnsdist/resolver.cert", "/var/lib/dnsdist/resolver.key", 1, sinceDate, expireDate, VERSION1)
generateDNSCryptCertificate("/var/lib/dnsdist/providerPrivate.key", "/var/lib/dnsdist/resolver2.cert", "/var/lib/dnsdist/resolver2.key", 1, sinceDate, expireDate, VERSION2)

Dann, durch Drücken von Strg + C Austritt aus dnsdist Konsole öffnen und seine Konfigurations tatsächlichen DNSCrypt Binds zu ermöglichen. Zuerst, Lassen Sie uns unsere öffentliche IP-Adresse herausfinden. Wir sind cool Linux Meister so werden wir comand Linie für diesen Einsatz


wget -4 -qO- ifconfig.co
wget -6 -qO- ifconfig.co

Wir werden uns 2 IP-Adressen: für v4 und v6. Na sicher, Sie können v6 und arbeiten nur auf ipv4 überspringen, es ist genug für uns,.

In meinem Fall, Ich habe die IP-Adresse 85.143.172.89. Sie können auch die gleiche IP erhalten, indem ifconfig laufen. Wenn Sie unter NAT, Sie müssen es zuweisen wie ip 192.168.10.135 – zum Beispiel. Und dann nach vorne Ports gewünscht (8443, 5353)

Jetzt, die Konfigurationsdatei /etc/dnsdist/dnsdist.conf lässt öffnen und finden Sie die Zeile mit “ipv4addr” und ändern Sie die Adresse hier.

Dann gehen Sie addDNSCryptBind… Teil am Ende der Datei und Kommentar- die, die mit ipv4 drin, so dass es wie folgt aussehen

Wir haben gerade entfernt ‚–‘ von Anfang an den Saiten, sie Kommentar-. Ebenfalls, ändern Providernamen in dieser Konfigurations: diese sind “1.dnscrypt.mydomain.com” und auch für andere. Sie können es lassen wie es ist, das ist nicht schlecht und es muss keine echter Domain-Name sein, obwohl es besser ist, in einem einem echten Domain-Namen zu sein. Wir werden es lassen, wie für dieses Beispiel ist. Jetzt, Speichern Sie die Datei Strg + O und beenden Strg + X und den Dienst beenden und führen Sie es manuell Protokolle zu sehen


service dnsdist stop
dnsdist -v --disable-syslog

Wir sehen, dass es in Ordnung ist und es hört auf unsere Häfen.

OK, die erste Hälfte der Arbeit erledigt ist. Lassen Sie den dnsdist in der Konsole läuft, schließen Sie es nicht und nicht schneiden Internet ab. Jetzt, kann öffentlichen Schlüssel des Anbieters herausfinden. Um es zu tun, schreiben die folgende direkt an der Konsole mit fliessendem dnsdist

printDNSCryptProviderFingerprint("/var/lib/dnsdist/providerPublic.key")

Und dies wird fingerpring für öffentliche Schlüssel anzuzeigen

Jetzt, lets nehmen, dass die Fingerabdruck und kopieren Sie sie in die Zwischenablage, und öffnen Sie ein neues Konsolenfenster mit SSH-Verbindung zu Ihrem VPS (weil wir nicht wollen, dnsdist laufenden Prozess stoppen). In neuer Konsole, Recht, die folgenden


fingerprint="DF76:2D34:2E3A:DFCE:6A68:B520:AF34:7D58:A203:0967:184D:2C95:F341:4204:77DC:4450"
fingerprint="${fingerprint//:}"; echo "${fingerprint,,}"

Na sicher, ersetzen mit Ihrem Wert fingerpring. Dies wird uns normalisierte Wert klein geschrieben. Kopieren Sie diese in die Zwischenablage. Für mich ist es “df762d342e3adfce6a68b520af347d58a2030967184d2c95f341420477dc4450”. Wie Sie erraten, wurden bewegt “:” Charakter und die Zeichenfolge kleingeschrieben, das ist es.

Jetzt, Lassen Sie sich ein DNS-Stamp für diesen Server erstellen. Gehen Sie auf die Super großen Nutzen Seite hier https://dnscrypt.info/stamps/

Und füllen Sie die Werte aus der Konfiguration. Für mich wird es so suchen

Und sparen Sie jetzt die SNDS://… Server Info Stempel.

Für mich ist es: sdns://AQYAAAAAAAAAEjg1LjE0My4xNzIuODk6ODQ0MyDfdi00LjrfzmpotSCvNH1YogMJZxhNLJXzQUIEd9xEUBcxLmRuc2NyeXB0Lm15ZG9tYWluLmNvbQ

Das war ein Config für DNSCrypt V1-Protokoll. Tatsächlich, das genügt, aber wir sind aus Quellen zusammengestellt dnsdist insbesondere Protokoll der Version zu verwenden 2. Jetzt, das gleiche für DNSCrypt v2 (auf Port 5353 in diesem Fall)

Stempel für DNSCrypt v2: sdns://AQYAAAAAAAAAEjg1LjE0My4xNzIuODk6NTM1MyDfdi00LjrfzmpotSCvNH1YogMJZxhNLJXzQUIEd9xEUBcyLmRuc2NyeXB0Lm15ZG9tYWluLmNvbQ

Das ist eigentlich das letzte Ergebnis, das wir brauchen. Dieser DNS-Stamp ist verschlüsselt Informationen über unseren speziellen DNS-Server, wir werden diese Seite auf dem Client hinzufügen, auf unseren Server verbinden. Es ist nicht für die Sicherheit verschlüsselt, sondern nur für die Dinge einfacher, gleiche wie QR-Code, aber für die DNS-Server. OK, die DNSCrypt-Server-Konfiguration ist abgeschlossen. Testen wir unsere DNSCrypt Server auf Client-Software.

Sobald auf Sie Ihren Server mit einigen Client unten getestet, es ist nicht in der Konsole ausführen müssen. Gehen Sie zurück zu Ihrem VPS und den Prozess stoppen durch Drücken von Strg + C. Dann, aktivieren Sie diesen Dienst dauerhaft


systemctl enable dnsdist
systemctl restart dnsdist
systemctl status dnsdist

Es wird im Hintergrund ausgeführt werden,, so können Sie Ihre SSH-Verbindung schließen und Putty Fenster schließen.

Erweiterte Konfiguration

  • Demnächst: Einrichten von Domain-TXT-Datensätze
  • Demnächst: Aktivieren des IPv6

Installieren von DNSCrypt-Client für Windows

Wir werden die Gesamtführenden Software für DNSCrypt verwenden, die weithin zu auf Linux verwendet wird,: DNSCrypt Proxy. Es ist bereits für win32 und win64 zusammengestellt, so dass es kein Problem zu installieren ist und es ist nicht schwer, überhaupt. Wir installieren sie alle öffentlichen Resolvern verwenden. Für unsere eigene DNS-Server, überprüfen configuation von dnscrypt Proxy für Linux.

Lasst uns beginnen. Laden Sie die gewünschte Version für Ihr System (x64 oder x32) die neueste Version von den offiziellen GitHub Seite. Wenn Sie nicht sicher sind, ob Ihr System x64 oder x32, Download-x32-Version. Ich werde jetzt das Gleiche tun, obwohl ich x64-System haben. Ich werde die Datei herunterladen genannt dnscrypt-proxy-win32-2.0.22.zip   (Sie können es hier herunterladen zu). Lassen Sie uns nun die heruntergeladene Datei finden.

Und hier ist, was ich habe. Extrahieren Sie diese Datei. Aber zuerst, Download 7Zip und installieren Sie es die gleichen Menüs haben, wie ich. Warum nicht WinRar? OK, kein Problem, aber es ist nicht frei, obwohl 7zip frei ist und tut so ziemlich die gleiche. Ich verwende 7zip, wie es kostenlos für alle ist.

OK, Jetzt haben wir die Ordner extrahiert. So haben wir einen Ordner mit dem Namen dnscrypt-proxy-blabla

Benennen Sie es ordentlich und nett zu sein: dnscrypt-proxy

Jetzt, Geh zu Arbeitsplatz->Disc C und erstellen Sie einen Ordner mit dem Namen Werkzeuge. Wir müssen über Administratorrechte für diese haben. Bewegen Sie unseren dnscrypt-Proxy-Ordner in diesen Ordner Tools so wird es sein “Werkzeuge->dnscrypt-proxy”

Jetzt, Benennen Sie die Datei “Beispiel-dnscrypt-proxy.toml” zu “dnscrypt-proxy.toml” und öffnen Sie sie in Text-Editor, Ich empfehle Ihnen, zu installieren Notepad ++. Dies ist der beste Ersatz für Notepad in Windows und vielleicht einen Tag Microsoft wird es statt dieses stupud Notizblock aus Fenstern schließen (Es tut uns leid, Microsoft).

Normalerweise, es ist hier nicht zu tun, was erforderlich. Nehmen Sie einige Änderungen, wenn Sie wollen, speichern und nur einen Blick, was diese Datei wie und schließen Sie sieht es aus. Jetzt, dnscrypt Proxy-Dienst lässt installieren. Es gibt eine Datei mit dem Namen “Service-install.bat”. Sie haben es als Administrator ausführen.

Es wird ein neues Konsolenfenster geöffnet. Überprüfen Sie, ob es keine Fehler und in der Nähe.

Damit, läuft nun die zweite Datei “Service-Restart.bat” auch als Administrator.

Es ist eine Warnung, dass der Service nicht gestoppt werden kann, aber es ist ok. Service muss installiert und ausgeführt werden, wie es sollte. Drücken Sie Start-Taste und öffnen Befehlszeile mit der Suche nach “cmd”

Art “Steuerung” und drücken Sie die Eingabetaste

Das Bedienfeld wird geöffnet. Finden Sie das Internet und Netzwerke Kategorie

jetzt wählen “Wechseladapter Parameter”

Und wählen Sie in der Liste Ihr Hauptnetzwerkadapter (die mit dem Internet verbunden ist). Wenn Sie WiFi haben, es wird ein WiFi-Adapter sein, so wählen Sie

Und offen Optionen. Wähle aus der Liste “ipv Version 4” und drücke “Optionen”

Nun speichern Sie alle Punkte hier und Ausfahrt. Schließen Sie alle Fenster und versuchen, ein paar Seiten in Ihrem Browser öffnen. Wenn es funktioniert wie gewohnt, das Setup wurde getan, und Sie haben jetzt Ihre DNS-Anfragen gesichert.

Für IPv6, geben Sie Ihre DNS-Server unter der “IP Version 6” zu “::1”. Wenn Sie es nicht verwenden, dass ist nicht erforderlich.

Installieren von DNSCrypt-Client für Android (Adguard)

Herunterladen Adguard und installieren Sie auf Ihrem mobilen Gerät. Gehe zu den Einstellungen->DNS-Filterung und Aktivieren Sie diese Funktion. Die unten gibt es “Wählen Sie DNS-Server”. Tippen Sie darauf, und scrollen Sie nach unten Tasten um zu sehen, für das Hinzufügen eines DNS-Servers. Hier sind ein paar Bilder, um zu sehen, was wir tun:

Jetzt, nehmen wir Stempel für V2 von Protokoll und testen.

Wählen “Fügen Sie benutzerdefinierte DNS-Server” und fügen Sie die sdns://… Sachen hier. Wir werden diese Art Bild sehen:

Drücken Sie “Speichern und ermöglichen” und überprüfen Sie dann Protokolle auf Server-Seite:

Damit, wie wir sehen, Protokoll der Version 2 arbeitet groß.

Installieren von DNSCrypt-Client unter Linux

Demnächst

Installieren von DNSCrypt-Client auf Apple Mac OS X

Demnächst

Installieren von DNSCrypt-Client auf Apple iOS

Demnächst

 

Wird geladen

Dieser Eintrag wurde veröffentlicht Datenschutz, Informationssicherheit, System-Administration, Verschlüsselung und getaggt , , , , , , , , , , , , , , , , . Lesezeichen auf den Permanentlink. | Kurzlink:  http://p1rat.ru/lezzz/Yn5pU

Hinterlasse eine Antwort