DNS: Unterschied zwischen den Versionen

Aus Mediawiki Ferdinand Gruber
Zur Navigation springen Zur Suche springen
fg>WikiSysop
 
 
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 39: Zeile 39:
 
Dieses Kommando gilt für openSUSE
 
Dieses Kommando gilt für openSUSE
 
  rcnscd reload
 
  rcnscd reload
 +
== DNS Records ==
 +
Eine übersichtliche Erklärung der verschiedenen DNS Einträge gibt es [https://www.world4you.com/faq/de/domains/faq.dns-records.html hier bei world4you]
 
== Dynamisches DNS - DDNS ==
 
== Dynamisches DNS - DDNS ==
* DDNS Account
+
=== DDNS Account ===
 
Mit einem DDNS Service wird die IP Adresse des eigenen Internet Gateway ( = Router) einem Domainnamen zugeordnet. Ich habe gute Erfahrungen mit dem Anbieter '''freedns.afraid.org''' gemacht.
 
Mit einem DDNS Service wird die IP Adresse des eigenen Internet Gateway ( = Router) einem Domainnamen zugeordnet. Ich habe gute Erfahrungen mit dem Anbieter '''freedns.afraid.org''' gemacht.
  
 
Hier kann man sich registrieren bei [https://freedns.afraid.org/pricing/ freedns.afraid.org]. Mit dem Gratis Account sind maximal 5 virtuelle Domains möglich.
 
Hier kann man sich registrieren bei [https://freedns.afraid.org/pricing/ freedns.afraid.org]. Mit dem Gratis Account sind maximal 5 virtuelle Domains möglich.
* Virtuelle Domain anlegen
+
=== Virtuelle Domain anlegen ===
 
Nach der Anmeldung kann man durch Klick auf den Menüpunkt '''Sudomains''' eine Subdomain anlegen, die auf den eigenen Router zeigt.
 
Nach der Anmeldung kann man durch Klick auf den Menüpunkt '''Sudomains''' eine Subdomain anlegen, die auf den eigenen Router zeigt.
 
: Man kann aus einer großen Zahl von Gratisdomains eine beliebige auswählen.
 
: Man kann aus einer großen Zahl von Gratisdomains eine beliebige auswählen.
 
Die eigene Domain lautet dann z.B. <code>myName.mooo.com</code>
 
Die eigene Domain lautet dann z.B. <code>myName.mooo.com</code>
* Abgleich der eigenen IP mit dem DDNS Service
+
=== Abgleich der eigenen IP mit dem DDNS Service ===
 
Unter Linux sorgt folgendes Kommando dafür, dass die eigene IP zum DDNS Anbieter gelangt
 
Unter Linux sorgt folgendes Kommando dafür, dass die eigene IP zum DDNS Anbieter gelangt
 
  ddns_id="xyxyxyxyxyxyxyxyxyxyxyxyx"
 
  ddns_id="xyxyxyxyxyxyxyxyxyxyxyxyx"
Zeile 54: Zeile 56:
 
Die eigene '''ddns_id''' ist eine Zeichenfolge, die man auf der Seite von freedns.afraid.org unter dem Menüpunkt '''Dynamic DNS''' ganz unten dem Link '''quick cron example''' entnehmen kann.
 
Die eigene '''ddns_id''' ist eine Zeichenfolge, die man auf der Seite von freedns.afraid.org unter dem Menüpunkt '''Dynamic DNS''' ganz unten dem Link '''quick cron example''' entnehmen kann.
 
: Diesen Befehl, wie auf der Seite empfohlen, als cronjob definieren.
 
: Diesen Befehl, wie auf der Seite empfohlen, als cronjob definieren.
 +
=== Troubles ===
 +
Wenn man sich innerhalb von 6 Monaten nicht auf der Website von freedns.afraid.org einloggt, bekommt man ein Erinnerungsmail. Falls dieses übersehen wird oder im SPAM landet, wird der Account als inaktiv gesetzt.
 +
Um das zu vermeiden, habe ich mir nun einen Premium Account ($ 30,00 pro Jahr) geleistet.
  
 
== Einfaches DDNS ohne Anbieter  ==
 
== Einfaches DDNS ohne Anbieter  ==
 
Das DDNS Service könnte aus irgendeinem Grund einmal nicht funktionieren oder eingestellt worden sein. Daher habe ich eine eigene einfache Lösung gefunden, um jederzeit die öffentliche IP von diversen Rechnern, die ich betreue, zu bekommen.
 
Das DDNS Service könnte aus irgendeinem Grund einmal nicht funktionieren oder eingestellt worden sein. Daher habe ich eine eigene einfache Lösung gefunden, um jederzeit die öffentliche IP von diversen Rechnern, die ich betreue, zu bekommen.
* PHP Seite erstellen
+
=== PHP Seite erstellen ===
 
Am eigenen öffentlichen HTTP Server eine Seite erstellen , die die IP des aufrufenden Rechners in einer Datei speichert
 
Am eigenen öffentlichen HTTP Server eine Seite erstellen , die die IP des aufrufenden Rechners in einer Datei speichert
 
  <?php
 
  <?php
Zeile 64: Zeile 69:
 
  echo $_SERVER["REMOTE_ADDR"];
 
  echo $_SERVER["REMOTE_ADDR"];
 
  touch ($fileName) or trigger_error($fileName." kann nicht angelegt werden.");
 
  touch ($fileName) or trigger_error($fileName." kann nicht angelegt werden.");
* Bash Kommando am Client  
+
=== Bash Kommando am Client ===
 
Vom Client diese Seite regelmäßig mit folgendem Kommando auf der Konsole aufrufen
 
Vom Client diese Seite regelmäßig mit folgendem Kommando auf der Konsole aufrufen
 
  wget -qO - https://myserver/get_ip.php?hostname=$(hostname)
 
  wget -qO - https://myserver/get_ip.php?hostname=$(hostname)
 
  echo
 
  echo

Aktuelle Version vom 13. August 2023, 19:32 Uhr

DNS Server

  • Installation
yast -i bind
yast -i yast2-dns-server
  • Konfiguration

YAST Modul DNS unter Netzwerkdienste

Zuerst muss eine Liste der DNS Forwarder Adressen eingegeben werden, das sind die vom Provider vorgegebenen DNS Server Adressen.

Hinzufügen einer Master Zone. z.B. suserver.gruber

Firewall Port öffnen, Startoptionen festlegen

Master Zone definieren und Einträge vornehmen

  • Konfiguration ergänzt am 05.04.2011

Änderung des Log Verhaltens von bind:

# /etc/named.conf
{ logging
   ...
   category resolver { null; };
};
  • Reverse DNS

Auflösung der localhost-Adressen

# /var/lib/named/127.0.0.zone
# ...
1.0.0.127.in-addr.arpa.         IN PTR          localhost.
1.0.0.127.in-addr.arpa.         IN PTR          server.localhost.
2.0.0.127.in-addr.arpa.         IN PTR          localhost.
2.0.0.127.in-addr.arpa.         IN PTR          server.localhost.

Erst nach dem Hinzufügen der Einträge für 127.0.0.2 funktionierte der Zugriff auf das CUPS Webinterface über den Proxy SQUID.

DNS Cache löschen

Wenn eine Verbindung zu einem Host nicht hergestellt werden kann, so liegt das eventuell an einer nicht mehr gültigen IP, die noch im DNS Cache liegt.

  • SSH mit der Option -v starten
ssh -v servername.example.com

Somit wird ersichtlich, ob die IP aktuell ist.

  • DNS Cache leeren

Dieses Kommando gilt für openSUSE

rcnscd reload

DNS Records

Eine übersichtliche Erklärung der verschiedenen DNS Einträge gibt es hier bei world4you

Dynamisches DNS - DDNS

DDNS Account

Mit einem DDNS Service wird die IP Adresse des eigenen Internet Gateway ( = Router) einem Domainnamen zugeordnet. Ich habe gute Erfahrungen mit dem Anbieter freedns.afraid.org gemacht.

Hier kann man sich registrieren bei freedns.afraid.org. Mit dem Gratis Account sind maximal 5 virtuelle Domains möglich.

Virtuelle Domain anlegen

Nach der Anmeldung kann man durch Klick auf den Menüpunkt Sudomains eine Subdomain anlegen, die auf den eigenen Router zeigt.

Man kann aus einer großen Zahl von Gratisdomains eine beliebige auswählen.

Die eigene Domain lautet dann z.B. myName.mooo.com

Abgleich der eigenen IP mit dem DDNS Service

Unter Linux sorgt folgendes Kommando dafür, dass die eigene IP zum DDNS Anbieter gelangt

ddns_id="xyxyxyxyxyxyxyxyxyxyxyxyx"
/usr/bin/wget -O - http://freedns.afraid.org/dynamic/update.php?$ddns_id > /tmp/freedns_suserver.log 2>&1 &

Die eigene ddns_id ist eine Zeichenfolge, die man auf der Seite von freedns.afraid.org unter dem Menüpunkt Dynamic DNS ganz unten dem Link quick cron example entnehmen kann.

Diesen Befehl, wie auf der Seite empfohlen, als cronjob definieren.

Troubles

Wenn man sich innerhalb von 6 Monaten nicht auf der Website von freedns.afraid.org einloggt, bekommt man ein Erinnerungsmail. Falls dieses übersehen wird oder im SPAM landet, wird der Account als inaktiv gesetzt. Um das zu vermeiden, habe ich mir nun einen Premium Account ($ 30,00 pro Jahr) geleistet.

Einfaches DDNS ohne Anbieter

Das DDNS Service könnte aus irgendeinem Grund einmal nicht funktionieren oder eingestellt worden sein. Daher habe ich eine eigene einfache Lösung gefunden, um jederzeit die öffentliche IP von diversen Rechnern, die ich betreue, zu bekommen.

PHP Seite erstellen

Am eigenen öffentlichen HTTP Server eine Seite erstellen , die die IP des aufrufenden Rechners in einer Datei speichert

<?php
$fileName = __DIR__."/".$_GET["hostname"]."_".$_SERVER["REMOTE_ADDR"];
echo "Update auf ".$_SERVER["SERVER_NAME"]."\n";
echo $_SERVER["REMOTE_ADDR"];
touch ($fileName) or trigger_error($fileName." kann nicht angelegt werden.");

Bash Kommando am Client

Vom Client diese Seite regelmäßig mit folgendem Kommando auf der Konsole aufrufen

wget -qO - https://myserver/get_ip.php?hostname=$(hostname)
echo