Dynamic DNS jest usługą pozwalającą na używanie nazwy domenowej bez stałego adresu IP. Jeżeli dostawca udostępnia tzw. adres publiczny, konfiguracja sprowadza się do wybrania odpowiedniego serwisu świadczącego usługi DDNS, rejestracji i odpowiedniego skonfigurowania klienta DDNS.
Należy zainstalować program updatedd
opkg install updatedd
oraz jeden z modułów w zależności od wybranego serwisu:
Konfiguracja sprowadza się do odpowiednich ustawień w pliku /etc/config/updatedd lub przy pomocy uci.
Przykładowa konfiguracja dla serwisy dyndns.org:
uci set updatedd.cfg1.service=dyndns uci set updatedd.cfg1.username=<nazwa użytkownika> uci set updatedd.cfg1.password=<hasło użytkownika> uci set updatedd.cfg1.host=<nazwa_hosta.dyndns.org> uci set updatedd.cfg1.update=1 uci commit updatedd
Zmiany w DDNS powinny być wykonywanie przy każdym ponownym podniesieniu interfejsu wan.
Instalujemy klienta który będzie nam przypisywał IP które się zmieni do nazwy domeny.
ipkg install ez-ipupdate
Wstępna konfiguracja zaczyna się od założenia sobie konta np na dyndns.pl lub dyn.pl
Edytujemy plik /etc/ez-ipupdate.conf i zmieniamy
service-type=zoneedit user=myname:mypassword host=mydomain.com
na dane otrzymanie w serwisie obsługującym dyndns. Dla dyndns.org będzie to:
service-type=dyndns user=user:haslo host=nazwa.dyndns.org
Gdzie user:haslo to nasze dane w serwisie, host to pełna nazwa z domeną.
Następnie tworzymy skrypt startowy naszego ez-ipupdate.conf
vim /etc/init.d/S80ez-ipupdate
A w nim umieszczamy poniższy kod
#!/bin/sh
#ip-ezupdate requires the interface on the command line in daemon mode
INT=ppp0 ### ustawiamy ten na którym mamy zmienne IP i chcemy żeby do niego była przypisana nasza domena.
BIN=ez-ipupdate
CONF=/etc/$BIN.conf
RUN_D=/var/run
PID_F=$RUN_D/$BIN.pid
[ -f $CONF ] || exit
case $1 in
start)
mkdir -p $RUN_D
$BIN -d -i $INT -c $CONF
;;
stop)
[ -f $PID_F ] && kill -9 $(cat $PID_F)
;;
*)
echo "usage: $0 (start|stop)"
exit 1
esac
exit $?
Dajemy prawa wykonywalności
chmod +x /etc/init.d/S80ez-ipupdate
Aby skrypt aktualizował sam domene należy dodać go do crona
crontab -e
*/5 * * * * /usr/sbin/ez-ipupdate -c /etc/ez-ipupdate.conf &