ExeCRabLE
31.10.11, 20:17
Hi !
Ich bin kein Fan von fremden DynDNS-Diensten und auch kein von "Bash/PHP" Lösungen. Ich habe einen eigenen NameServer und habe dazu eine eigene Subdomain angelegt, die ich dann mit dem folgenden Skript turnusmäßig aktualisieren - wichtig ist die erst Anlage der SUbdomain!
Beispiel für eine Subdomain in der Zonedatei
testdomain IN A 1.1.1.1
Cronjob
#!/bin/bash
GREEN='\e[0;32m'
RED='\e[0;31m'
NC='\e[0m'
# ssh connect
USER="<user>"
HOST="<ip>"
# domain data
BIND_DB="/etc/bind/<domain>.db"
SUBDOMAIN="<subdomain>"
# ip
OWNIP=`ssh -q ${USER}@${HOST} "/usr/bin/env | grep SSH_CLIENT | cut -d \" \" -f1 | cut -d \"=\" -f2"`
# set new ip
if ssh -q ${USER}@${HOST} "sed -i 's/${SUBDOMAIN}\s.*$/${SUBDOMAIN} IN A "${OWNIP}"/g' ${BIND_DB}"; then
echo -e "Set IP${GREEN} ok${NC}";else echo -e "Set IP${RED} failed${NC}"
fi
if ssh -q ${USER}@${HOST} "rndc reload > /dev/null"; then
echo -e "Reload Zone${GREEN} ok${NC}";else echo -e "Reload Zone${RED} failed${NC}"
fi
Bitte seit vorsichtig bei der Anwendung und macht auf jeden Fall eine Sicherung eurer Zonedatei. Das Skript funktioniert bei mir, was aber auf gar keinen Fall für euch bedeuten muss.
Gruß
Exe
Ich bin kein Fan von fremden DynDNS-Diensten und auch kein von "Bash/PHP" Lösungen. Ich habe einen eigenen NameServer und habe dazu eine eigene Subdomain angelegt, die ich dann mit dem folgenden Skript turnusmäßig aktualisieren - wichtig ist die erst Anlage der SUbdomain!
Beispiel für eine Subdomain in der Zonedatei
testdomain IN A 1.1.1.1
Cronjob
#!/bin/bash
GREEN='\e[0;32m'
RED='\e[0;31m'
NC='\e[0m'
# ssh connect
USER="<user>"
HOST="<ip>"
# domain data
BIND_DB="/etc/bind/<domain>.db"
SUBDOMAIN="<subdomain>"
# ip
OWNIP=`ssh -q ${USER}@${HOST} "/usr/bin/env | grep SSH_CLIENT | cut -d \" \" -f1 | cut -d \"=\" -f2"`
# set new ip
if ssh -q ${USER}@${HOST} "sed -i 's/${SUBDOMAIN}\s.*$/${SUBDOMAIN} IN A "${OWNIP}"/g' ${BIND_DB}"; then
echo -e "Set IP${GREEN} ok${NC}";else echo -e "Set IP${RED} failed${NC}"
fi
if ssh -q ${USER}@${HOST} "rndc reload > /dev/null"; then
echo -e "Reload Zone${GREEN} ok${NC}";else echo -e "Reload Zone${RED} failed${NC}"
fi
Bitte seit vorsichtig bei der Anwendung und macht auf jeden Fall eine Sicherung eurer Zonedatei. Das Skript funktioniert bei mir, was aber auf gar keinen Fall für euch bedeuten muss.
Gruß
Exe