Up: Unterschied zwischen den Versionen
Aus Vosp.info
HK (Diskussion | Beiträge) (→Script) |
Root (Diskussion | Beiträge) (→Zusammenfassung) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
== Zusammenfassung == | == Zusammenfassung == | ||
Dynamisches DNS wird dann benötigt, wenn ein per dsl angebundener Server aus dem Internet erreichbar sein soll.<br> | Dynamisches DNS wird dann benötigt, wenn ein per dsl angebundener Server aus dem Internet erreichbar sein soll.<br> | ||
− | Verschiende Dienstleister bieten dyndns-Dienste an, doch auch mit Linux-Bordmitteln lässt sich das machen. | + | Verschiende Dienstleister bieten dyndns-Dienste an, doch auch mit Linux-Bordmitteln lässt sich das machen.<br> |
+ | <span style="color:red">Das ganze taugt nicht wirklich. Pro Tag war nicht unter eine Downtime von einer halben Stunde zu kommen.</span> | ||
== Vorraussetzungen == | == Vorraussetzungen == | ||
Zeile 7: | Zeile 8: | ||
* Zwei bind9 Nameserver | * Zwei bind9 Nameserver | ||
− | == Script == | + | == Datein == |
+ | |||
+ | === Keyfile === | ||
+ | |||
+ | === Template === | ||
+ | Das Template wird vim Script eingelesen. ###NEW_IP### wird durch die ermittelte WAN-IP ersetzt. | ||
+ | <source lang="bash"> | ||
+ | server <Authoritativer_Nameserver> | ||
+ | zone <Zone> | ||
+ | update delete <domain> A | ||
+ | update add <domain> 86400 A ###NEW_IP### | ||
+ | show | ||
+ | send | ||
+ | answer | ||
+ | </source> | ||
+ | |||
+ | === Script === | ||
<source lang="bash"> | <source lang="bash"> | ||
Zeile 15: | Zeile 32: | ||
# GPL3 | # GPL3 | ||
+ | # es kann jeder Dienst genutzt werden, der die WAN-IP eines DSL-Anschlusses ermittelt. | ||
WAN_IP=$(curl ident.me 2> /dev/null ) | WAN_IP=$(curl ident.me 2> /dev/null ) | ||
WAN_DB=/var/local/ns-wan.d/db.wan | WAN_DB=/var/local/ns-wan.d/db.wan | ||
− | TEMPLATE= | + | TEMPLATE=<domain>-update |
NS_OUT=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX) | NS_OUT=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX) | ||
− | KEY_FILE= | + | KEY_FILE=<domain>.private |
TEMP_FILE=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX) | TEMP_FILE=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX) | ||
Aktuelle Version vom 25. Oktober 2013, 14:16 Uhr
Inhaltsverzeichnis
Zusammenfassung
Dynamisches DNS wird dann benötigt, wenn ein per dsl angebundener Server aus dem Internet erreichbar sein soll.
Verschiende Dienstleister bieten dyndns-Dienste an, doch auch mit Linux-Bordmitteln lässt sich das machen.
Das ganze taugt nicht wirklich. Pro Tag war nicht unter eine Downtime von einer halben Stunde zu kommen.
Vorraussetzungen
- Die Nameserver einer Domain müssen sich ändern lassen
- Zwei bind9 Nameserver
Datein
Keyfile
Template
Das Template wird vim Script eingelesen. ###NEW_IP### wird durch die ermittelte WAN-IP ersetzt.
server <Authoritativer_Nameserver>
zone <Zone>
update delete <domain> A
update add <domain> 86400 A ###NEW_IP###
show
send
answer
Script
#!/bin/sh
##########################
# Config
# GPL3
# es kann jeder Dienst genutzt werden, der die WAN-IP eines DSL-Anschlusses ermittelt.
WAN_IP=$(curl ident.me 2> /dev/null )
WAN_DB=/var/local/ns-wan.d/db.wan
TEMPLATE=<domain>-update
NS_OUT=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX)
KEY_FILE=<domain>.private
TEMP_FILE=$(mktemp nsup.XXXXXXXXXXXXXXXXXXXXXXXXXX)
#########################################
# Code
# Test the comands
if [ ! -f /usr/bin/nsupdate ]
then
echo "nsupdate fehlt"
fi
if [ ! -f $WAN_DB ]
then
echo 0 > $WAN_DB
fi
if [ ! $(cat $WAN_DB) = $WAN_IP ]
then
echo $WAN_IP > $WAN_DB
sed "s/###NEW_IP###/$WAN_IP/g" $TEMPLATE > $TEMP_FILE
nsupdate -k $KEY_FILE $TEMP_FILE 2>&1 1> $NS_OUT
echo "$(grep status $NS_OUT|cut -d: -f3|cut -d, -f1)"
else
echo "$WAN_IP hasn not changed"
cat $WAN_DB
fi
rm $TEMP_FILE
rm $NS_OUT
exit 0