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:17] – 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 17: | Line 17: | ||
Für jede Domain (die bei Hostpoint registriert wird) braucht man **zwei Namensserver** welche sagen können welche IP hinter der Domain steckt. Diese Server sind die autoritiven Nameserver. | Für jede Domain (die bei Hostpoint registriert wird) braucht man **zwei Namensserver** welche sagen können welche IP hinter der Domain steckt. Diese Server sind die autoritiven Nameserver. | ||
Laut den Vorgaben von Hostpoint, sollten hier die eingetragenen Nameserver //nicht// genau die gleiche IP-Adresse haben und auch nicht ähnliche Adressen (gleicher Netzbereich). | Laut den Vorgaben von Hostpoint, sollten hier die eingetragenen Nameserver //nicht// genau die gleiche IP-Adresse haben und auch nicht ähnliche Adressen (gleicher Netzbereich). | ||
+ | |||
+ | FIXME | ||
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. | 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** | + | Dies ist der sogenannte **Slave-Nameserver**. Diesen |
- | Für diese Anleitung gehe ich davon aus dass ein frisch installiertes **Ubuntu 16.04** als späterer | + | Für diese Anleitung gehe ich davon aus dass ein frisch installiertes **Ubuntu 16.04**, dass später |
---- | ---- | ||
Line 28: | Line 31: | ||
- | Zuallererst | + | Zuallererst |
< | < | ||
Line 34: | Line 37: | ||
</ | </ | ||
- | Bind bekommt | + | Als nächstes, wird in Bind eine neue Zonendatei für blackgate.org |
< | < | ||
$ORIGIN . | $ORIGIN . | ||
$TTL 60; 1 minute | $TTL 60; 1 minute | ||
- | blackgate.org | + | blackgate.org |
- | 2014090711; serial | + | 2017033101; serial |
7200; refresh (2 hours) | 7200; refresh (2 hours) | ||
1800; retry (30 minutes) | 1800; retry (30 minutes) | ||
Line 46: | Line 49: | ||
| | ||
) | ) | ||
- | | + | |
- | | + | |
- | | + | |
- | | + | |
| | ||
- | | ||
$ORIGIN blackgate.org. | $ORIGIN blackgate.org. | ||
mail CNAME | mail CNAME | ||
Line 58: | Line 60: | ||
</ | </ | ||
- | Jetzt erzeugen wir einen Update-Key damit wir die Datei programmtechnisch | + | Jetzt erzeugen wir einen Update-Key, damit unser Server |
< | < | ||
Line 64: | Line 66: | ||
</ | </ | ||
- | Diesen Key schreiben wir in die Keydatei | + | Diesen Key schreiben wir in die Keydatei |
< | < | ||
Line 73: | Line 75: | ||
</ | </ | ||
- | Das Key-File müssen wir in der bind-Config | + | Das Key-File müssen wir anschliessend |
< | < | ||
Line 80: | Line 82: | ||
</ | </ | ||
- | Und den Key nochmal hinterlegen | + | Dannach wird der Key auch noch in "/ |
< | < | ||
Line 86: | Line 88: | ||
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=" | ZONE=" | ||
TIMEOUT=60 | TIMEOUT=60 | ||
Line 128: | 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 152: | Line 157: | ||
| | ||
+ | // | ||
| | ||
if ($mysqli-> | if ($mysqli-> | ||
Line 164: | Line 170: | ||
| | ||
+ | //Bis hier und NICHT WEITER, kann auskommentiert werden! | ||
echo " | echo " | ||
Line 171: | 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 182: | 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.ch 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 blackgate.org | # dig @127.0.0.1 blackgate.org | ||
- | # dig @www.meinroot.ch blackgate.org | + | # dig @ns.meinroot.ch blackgate.org |
- | # dig @ns1.first-ns.de blackgate.org | + | # dig @ns.hostpoint.ch |
- | # dig @robotns2.second-ns.de blackgate.org | + | # 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.ch/ | + | Update-URL: https://ns.meinroot.ch/ |
Domainname: blackgate.org | Domainname: blackgate.org | ||
- | 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:// |