Schlagwort: DNS

Upstream DNS resolver ermitteln

Akamai als CDN betreibt eigene DNS Resolver. Sie bieten ein Möglichkeit den verwendetet DNS Server zu ermitteln.

Die Adresse lautet: whoami.(ipv4|ipv6|ds).akahelp.net

Mit dem Tool „dig“ kann man die IP Adresse ermitteln. Hier ein Beispiel für den Google DNS Resolver (IPv4/IPv6).

dig @8.8.8.8 whoami.ipv4.akahelp.net TXT +short
dig @2001:4860:4860::8888 whoami.ipv6.akahelp.net TXT +short

Kombiniert man die Ausgabe mit dem Tool „whois“, kann man den Anbieter Cloudflare ermitteln.

whois $(dig @1.1.1.1 whoami.ipv4.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')
whois $(dig @2606:4700:4700::1111 whoami.ipv6.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')

Hiermit wird der aktuelle DNS Resolver ausgegeben.

whois $(dig whoami.ds.akahelp.net TXT +short | awk '{print $2}'| tr -d '"')| grep -i 'netname:'

Quelle: Akamai

Weitere nützliche Links sind der Connection Test und DNSSEC Resolver Test sowie der GEO Location Test.

Systemd DNS Resolver

Wenn die Namensauflösung mit Systemd nicht richtig funktioniert, dann muss man vielleicht einen Resolver manuelle einrichten.

Zuerst legen wird das Verzeichnis an.

sudo mkdir /etc/systemd/resolved.conf.d/

Jetzt hinterlegen wird den DNS Resolver.

sudo vim /etc/systemd/resolved.conf.d/dns_servers.conf

[Resolve]
DNS=1.1.1.1 8.8.8.8
DNSSEC=true
DNSOverTLS=opportunistic

Nach einem Neustart von Systemd-resolver sollte die Namensauflösung wieder funktionieren.

sudo systemctl restart systemd-resolved

Jetzt kann der DNSSEC Test beginnen.

systemd-resolve sigok.verteiltesysteme.net

Für weitere Abfragen kann man das Tool „dig“ installieren.

sudo apt-get install dnsutils

Mit diesem Tool ist die Ausgabe der Signaturen von Localhost (127.0.0.1) von Port 53 (DNS) möglich.

dig -p 53 @127.0.0.1 com. SOA +dnssec

Ein DNSSEC Beispiel für die Abfrage vom Cloudflare DNS (1.1.1.1).

dig @1.1.1.1 whois.arin.net SOA +dnssec

PowerDNS als Secondary DNS mit SQLite

Wir möchten einen Secondary DNS auf Basis von PowerDNS und SQLite als Backend installieren. Wir verwenden Ubuntu Server 18.04 (bionic) mit PowerDNS 4.1 aus dem Repository.

Installation

Die Installation ist sehr einfach. Die Abhängigkeiten werden automatisch mit installiert.

sudo apt install -y --no-install-recommends pdns-server pdns-backend-sqlite3

Einrichtung

Systemd enthält einen DNS Resolver für die Namensauflösung. Der Dienst läuft auf Port 53, weshalb es zu einem Konflikt kommt. Wir müssten PowerDNS die IP Adresse (10.10.10.2 / fe80::1) des Server mitteilen und nicht auf alle IP Adressen (0.0.0.0) lauschen.

sudo vim /etc/powerdns/pdns.d/pdns.local.conf

local-address=10.10.10.2,fe80::1
local-port=53
version-string=anonymous
 
master=no
slave=yes
 
disable-axfr=yes
disable-tcp=no
slave-cycle-interval=60

Nach dieser Änderung sollte der Dienst mit einem DNS Resolver zusammen starten.

Die Datenbank für das Backend muss so konfiguriert werden.

sudo vim /etc/powerdns/pdns.d/pdns.local.gsqlite3.conf

launch=gsqlite3
 
# Database location
gsqlite3-database=/var/lib/powerdns/pdns.sqlite3
gsqlite3-dnssec=off

Jetzt erstellen wir eine neue Datenbank.

wget -O /tmp/schema.sqlite3.sql https://raw.githubusercontent.com/PowerDNS/pdns/master/modules/gsqlite3backend/schema.sqlite3.sql

sudo sqlite3 /var/lib/powerdns/pdns.sqlite3 < /tmp/schema.sqlite3.sql

Der Import ist auch mit der Command Line Shell so möglich.

sudo sqlite3 /var/lib/powerdns/pdns.sqlite3
.read /tmp/schema.sqlite3.sql
.quit

Die Datenbank braucht die richtigen Rechte auf dem Dateisystem.

sudo chown pdns:pdns /var/lib/powerdns/pdns.sqlite3

In der Tabelle „supermasters“ wird der Hostname (ns2.domain.com) und die IP (10.10.10.1) vom Primary DNS eingetragen.

sudo sqlite3 /var/lib/powerdns/pdns.sqlite3 "insert into supermasters values('10.10.10.1','ns2.domain.com', 'admin');"

Nach einem Neustart vom Dienst sollte alles funktionieren.

sudo systemctl restart systemd-resolved pdns

Fehlersuche

Sollte es nicht auf Anhieb funktionieren, kann man PowerDNS aus als Anwendung starten und sieht auf der Konsole die Fehlermeldungen.

sudo /usr/sbin/pdns_server

Mit dem Tool „dig“ [bind9-dnsutils] kann man die Übertragung der Zone (domain.info) und Erreichbarkeit des Primary (ns1.domain.com) vom Secondary überprüfen.

dig @ns1.domain.com domain.info AXFR

Quellen: Powerdns Backend Sqlite

Eintrag im DNS ansehen

Um die Eintragungen im Nameserver (DNS) anzusehen, gibt es unter Linux und Windows das Tool „nslookup“.

In dem Beispeil verwenden wir den Nameserver dns.quad9.net [9.9.9.9]. Sie können aber auch jeden anderen öffentlichen oder privaten Nameserver verwenden.

nslookup - dns.quad9.net
> set q=ANY
> domain.de
> quit

nslookup -q=ANY domain.de dns.quad9.net

Unter Windows sieht die Eingabe so aus.

nslookup -"set q=all" domain.de dns.quad9.net

Ein anderes Tool ist „dig“. Es gehört aber nicht immer zu jedem Linux dazu und muss ggf. später installiert werden.

dig ANY domain @dns.quad9.net

Copyright © 2024 Weiter.info

Theme von Anders Norén↑ ↑