Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
debian:other-debian:own-dyndns-debian [2017/03/31 12:03] – [Eigener DynDNS Dienst] michael | debian:other-debian:own-dyndns-debian [2017/08/28 15:14] (current) – ↷ Links adapted because of a move operation michael | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Eigener DynDNS Dienst ====== | + | ====== Eigener DynDNS Dienst |
Eine eigene Toplevel Domain die direkt immer auf die IP des Internetanschlusses zuhause zeigt. Quasi der eigene DynDNS-Dienst – ohne die Hilfe von (kostenlosen oder kostenpflichtigen) DynDNS-Providern. Das wärs! | Eine eigene Toplevel Domain die direkt immer auf die IP des Internetanschlusses zuhause zeigt. Quasi der eigene DynDNS-Dienst – ohne die Hilfe von (kostenlosen oder kostenpflichtigen) DynDNS-Providern. Das wärs! | ||
Line 15: | Line 15: | ||
===== Einleitung ===== | ===== Einleitung ===== | ||
- | Für jede .de-Domain (die bei der denic registriert wird) braucht man zwei Namensserver welche sagen können welche IP hinter der Domain steckt. | + | Für jede Domain (die bei Hostpoint |
- | Dies sind die autoritiven Nameserver. | + | Laut den Vorgaben |
- | Die Vorgaben | + | |
- | Da wir bei unserem root-Server nicht extra zwei IPs einrichten wollen, nur damit die Denic zufrieden ist, und da dass auch aus Ausfallgründen eher unpraktisch ist brauchen wir also noch einen zweiten Nameserver der nichts anderes macht als die Daten unsere Nameservers zu übernehmen. | + | FIXME |
- | Dies ist der sogenannte Slave-Nameserver und man kann diesen bei Hetzner einfach per Klick bestellen (bzw. einen Eintrag auf dem Nameserver, einen ganzen Nameserver brauchen wir ja nicht!). | + | |
- | Für diese Anleitung | + | Da wir nun, unserem root-Server hierfür nicht extra zwei verschiedene IP-Adressen einrichten wollen, nur damit Hostpoint zufrieden ist, brauchen wir also noch einen zweiten Nameserver der nichts anderes macht als die Daten unseres Nameservers zu übernehmen. |
+ | Dies ist der sogenannte **Slave-Nameserver**. Diesen kann man bei Hostpoint einfach per Klick erstellen bzw. einfügen und zwar indem man bei den Domain Einstellungen den obersten Nameserver durch seinen eigenen ersetzt. Somit werden die zwei unteren Nameserver (ns2.hostpoint.ch und ns3.hostpoint.ch) automatisch zu Slave-Nameservern. | ||
+ | |||
+ | |||
+ | Für diese Anleitung | ||
---- | ---- | ||
Line 29: | Line 31: | ||
- | Zuallererst | + | Zuallererst |
< | < | ||
Line 35: | Line 37: | ||
</ | </ | ||
- | Bind bekommt | + | Als nächstes, wird in Bind eine neue Zonendatei für blackgate.org erstellt, diese liegt in '' |
< | < | ||
$ORIGIN . | $ORIGIN . | ||
$TTL 60; 1 minute | $TTL 60; 1 minute | ||
- | meinzuhause.de IN SOA | + | blackgate.org IN SOA |
- | 2014090711; serial | + | 2017033101; serial |
7200; refresh (2 hours) | 7200; refresh (2 hours) | ||
1800; retry (30 minutes) | 1800; retry (30 minutes) | ||
Line 47: | Line 49: | ||
| | ||
) | ) | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | $ORIGIN |
- | $ORIGIN | + | mail CNAME blackgate.org. |
- | mail CNAME meinzuhause.de. | + | www |
- | www | + | |
</ | </ | ||
- | Jetzt erzeugen wir einen Update-Key damit wir die Datei programmtechnisch | + | Jetzt erzeugen wir einen Update-Key, damit unser Server |
< | < | ||
- | # / | + | # / |
</ | </ | ||
- | Diesen Key schreiben wir in die Keydatei | + | Diesen Key schreiben wir in die Keydatei |
< | < | ||
- | key " | + | key " |
| | ||
| | ||
Line 74: | Line 75: | ||
</ | </ | ||
- | Das Key-File müssen wir in der bind-Config | + | Das Key-File müssen wir anschliessend |
< | < | ||
// Update-Keyfile | // Update-Keyfile | ||
- | include "/ | + | include "/ |
</ | </ | ||
- | Und den Key nochmal hinterlegen | + | Dannach wird der Key auch noch in "/ |
< | < | ||
- | zone "meinzuhause.de" { | + | zone "blackgate.org" { |
type master; | type master; | ||
- | file "/ | + | file "/ |
- | | + | update-policy { grant ddns-key.blackgate.org zonesub ANY; }; |
}; | }; | ||
</ | </ | ||
- | Nun müssen wir noch erlauben | + | Nun muss noch erlaubt werden, |
< | < | ||
- | // Zonen-Transfer fuer Hetzner | + | // Zonen-Transfer fuer Hostpoint |
- | allow-transfer { 213.239.242.238;213.133.105.6;193.47.99.3; }; | + | allow-transfer { 217.26.51.254; 217.26.53.254; 217.26.48.126; }; |
</ | </ | ||
- | Jetzt brauchen wir noch ein Script welches von außen | + | Jetzt brauchen wir noch ein Script, welches |
- | Bühne frei für ‚/root/bin/dyndns.sh‘: | + | |
+ | Dafür gibt es folgendes Skript, welches hier -> '' | ||
- | <file bash /root/bin/dyndns.sh> | + | <file bash /root/bin/update_dyndns.sh> |
#!/bin/bash | #!/bin/bash | ||
NS=" | NS=" | ||
- | NSKEY="/ | + | NSKEY="/ |
- | TMPFILE="/ | + | TMPFILE="/ |
- | ZONE="meinzuhause.de" | + | ZONE="blackgate.org" |
TIMEOUT=60 | TIMEOUT=60 | ||
Line 129: | Line 132: | ||
</ | </ | ||
- | Dieses Script holt die aktuelle IP aus der Datei ‚/ | + | Dieses Script holt die aktuelle IP aus der **Datei '' |
- | als auch ums weiterleiten der Zonendaten an die Hetzner-Slave Nameserver. | + | |
- | Dieser Cronjob (unter | + | Diese Shell-Datei, |
< | < | ||
- | * | + | * * * * * |
</ | </ | ||
- | Jetzt brauchen wir nur noch ein PHP-Script welches | + | Jetzt wird nur noch ein PHP-Script |
- | <file php / | + | <file php / |
<?php | <?php | ||
- | $username = "meintollerdnydnsdienst"; | + | // |
- | $pass = "miteinemgeheimenpasswort"; | + | $username = "michael"; |
- | $dyntxt = "/ | + | $pass = "Me1nP4sswort123!"; |
- | $db = "dyndnsoettingen"; | + | $dyntxt = "/ |
+ | $db = "dyndns"; | ||
if($username == $_GET[' | if($username == $_GET[' | ||
Line 153: | Line 157: | ||
| | ||
+ | // | ||
| | ||
if ($mysqli-> | if ($mysqli-> | ||
Line 165: | Line 170: | ||
| | ||
+ | //Bis hier und NICHT WEITER, kann auskommentiert werden! | ||
echo " | echo " | ||
Line 172: | Line 178: | ||
</ | </ | ||
- | Username und Passwort werden | + | Der Username und das Passwort werden |
- | sie werden auch gleich | + | |
- | Das Tabellenformat ist einfach: | + | |
- | <code> | + | **// |
+ | |||
+ | <file sql create_table.sql> | ||
CREATE TABLE `dyndns` ( | CREATE TABLE `dyndns` ( | ||
`updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | `updatetime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, | ||
Line 183: | Line 189: | ||
`ipv6` varchar(100) CHARACTER SET utf8 NOT NULL | `ipv6` varchar(100) CHARACTER SET utf8 NOT NULL | ||
) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; | ||
- | </code> | + | </file> |
- | Nun müssen wir bei Hetzner | + | Als nächstes, wird bei **Hostpoint** |
- | Bei der Denic hinterlegen wir nun als Nameserver 1 unseren meinroot.de und als Nameserver 2 irgendeinen der Hetzner-Nameserver (ns1.first-ns.de, robotns2.second-ns.de, robotns3.second-ns.com) | + | Dannach, |
- | Nun sollten wir alles schon gut mit dem Aufruf der URL testen | + | Nun sollte man auch schon bereits zum ersten mal die URL zum testen |
< | < | ||
- | # dig @127.0.0.1 | + | # dig @127.0.0.1 |
- | # dig @www.meinroot.de meinzuhause.de | + | # dig @ns.meinroot.ch blackgate.org |
- | # dig @ns1.first-ns.de meinzuhause.de | + | # dig @ns.hostpoint.ch blackgate.org |
- | # dig @robotns2.second-ns.de meinzuhause.de | + | # dig @ns2.hostpoint.ch blackgate.org |
</ | </ | ||
- | Die Fritzbox | + | Der EWB- oder Swisscom-Router, |
<WRAP center round box 100%> | <WRAP center round box 100%> | ||
< | < | ||
Dynamic DNS-Anbieter: | Dynamic DNS-Anbieter: | ||
- | Update-URL: https://www.meinroot.de/dyndns.php? | + | Update-URL: https://ns.meinroot.ch/ip_update.php? |
- | Domainname: | + | Domainname: |
- | Benutzername: | + | Benutzername: |
- | Kennwort: | + | Kennwort: |
</ | </ | ||
</ | </ | ||
- | Meine Fritzbox brachte hier noch im Systemlog | + | Nach diesem Schritt, sollte nun der Router __selbständig__ |
- | //Dynamic DNS-Fehler: Die Dynamic DNS-Aktualisierung war erfolgreich, anschließend trat jedoch ein Fehler bei der DNS-Auflösung | + | Von da aus, wird dann die IP-Adresse von unserem Shell-Skript, dass jede Minute via Crontab ausgeführt wird wieder |
- | Wenns einen ströt wird man das los indem man sich mit Telnet auf die Fritzbox verbindet | + | **Somit bleibt nun meine Dynamische IP Adresse immer aktuell |
- | + | ||
- | + | ||
- | ---- | + | |
- | * https:// |