Ero sivun ”DDNS päivitysohjelmat” versioiden välillä
Rivi 59: | Rivi 59: | ||
good [ip-osoitteesi] | good [ip-osoitteesi] | ||
− | Esimerkki tarkistetaan onko IP-osoite muuttunut ja tämän jälkeen päivitetään jos muutoksia: | + | Esimerkki tarkistetaan onko IP-osoite muuttunut ja tämän jälkeen päivitetään jos muutoksia. Kopioi ja tallenna dyndns.sh: |
− | |||
− | |||
+ | #!/bin/bash | ||
+ | |||
USERNAME="dyndnsusername" | USERNAME="dyndnsusername" | ||
PASSWORD="dyndnspassword" | PASSWORD="dyndnspassword" | ||
Rivi 78: | Rivi 78: | ||
fi | fi | ||
#end of lockfile check | #end of lockfile check | ||
− | + | ||
if [ "$IP" != "$LAST_IP" ]; then | if [ "$IP" != "$LAST_IP" ]; then | ||
echo "Current IP: $IP" | echo "Current IP: $IP" |
Versio 22. joulukuuta 2014 kello 08.12
Dynaaminen DNS on kätevä tapa mahdollistaa dns nimen (esim. helenius.dy.fi / datatekniikka.fi) dynaamisissa IP-osoitteissa. Kun IP-osoite muuttuu niin voit automaattisoida IP-osoitteiden muutokset DNS palvelimiin. Normaalisti sinun tulisi tehdä tämä manuaalisesti. Dy.fi on suomalainen palvelu ja toimii dynaamisen dns palvelun ylläpitäjänä. Myös https://woima.fi/dyndns on alkanut tarjoamaan dynaamisia DNS osoitteita myös omille domaineilleen.
Muita palveluja on dydns.org ja no-ip.org.
Sisällysluettelo
Käyttöönotto
Päivitys UNIX järjestemissä wgetillä
1. Avaa crontab
sudo nano /etc/crontab
Lisää seuraava rivi sivulle
45 3 * * 1,5 wget --delete-after --no-check-certificate --no-proxy --user=käyttäjätunnus --password=salasana https://www.dy.fi/nic/update?hostname=omaosoite.dy.fi
Tallenna tiedosto ja nyt pitäisi toimia automaattinen DDNS päivitys. Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai.
Seuraavalla komennolla voit tarkistaa toimiiko varmasti. Aja komento suoraan terminaalissa.
wget --delete-after --no-check-certificate --no-proxy --user=käyttäjätunnus --password=salasana https://www.dy.fi/nic/update?hostname=omaosoite.dy.fi
Päivitys UNIX järjestemissä curlilla
1. Asenna curl pakettihallinnasta
apt-get install curl
2. Avaa crontab
nano /etc/crontab
3. Lisää tämä rivi muokaten tietoja palveluntarjoajasi mukaan ennen # merkkiä lopusta. Korvaa useraccount ja password dyndns palvelusi käyttäjänimellä ja salasanalla. Muuta hostname.dy.fi vastaamaan isäntänimeäsi.
45 3 * * 1,5 root curl -D - --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi
Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai.
Toisessa esimerkissä päivitettään 10 minuutin välein
*/10 * * * * root curl -D --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi
Muuta seuraavat tiedot:
useraccount = käyttäjänimi
password = salasana
hostname.dy.fi = Omasi isäntänimesi, jonka olet varannut dy.fi palvelussa.
Ajaa tämä esimerkiksi testiksi, niin voin testata toimiiko DDNS päivitys. Korvaa useraccount ja password dynaamisen dns palvelun tunnuksella ja salasanalla.
curl -D - --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi
Tuloksena tulisi tulostua
good [ip-osoitteesi]
Esimerkki tarkistetaan onko IP-osoite muuttunut ja tämän jälkeen päivitetään jos muutoksia. Kopioi ja tallenna dyndns.sh:
#!/bin/bash USERNAME="dyndnsusername" PASSWORD="dyndnspassword" HOSTNAME="yourdomain" IP=`curl -s http://checkip.dy.fi/ | grep -o '\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}'` ABUSE_LOCK_FILE="/tmp/dyndns.abuse" LAST_IP_FILE="/tmp/lastip" LAST_IP=`cat $LAST_IP_FILE` #lockfile check, lockfile is only used if a abuse result appears if [ -e "$ABUSE_LOCK_FILE" ]; then echo "Dyndns abuse lockfile exisits: $ABUSE_LOCK_FILE" exit 1 fi #end of lockfile check if [ "$IP" != "$LAST_IP" ]; then echo "Current IP: $IP" RESULT=`curl -D --user $USERNAME:$PASSWORD "http://dyn.woima.fi/nic/update?hostname=$HOSTNAME&myip=$IP" | grep -o -E "good|nochg|abuse|badauth|notfqdn|nohost|abuse|dnserr"` echo "Dyndns.org says: $RESULT!" else echo "IP is still the same: $LAST_IP" fi
Päivitysohjelma Windowssille
Lataa ja asenna päivitysohjelma http://www.randomnoun.com/wp/2013/08/19/a-dynamic-dns-client-for-windows/
Asennusohjelmassa kysytään dynaamisen palvelimen osoitteita ja käyttäjätunnuksista. Voit muokata myöhemmin konfigurointi tiedoston avulla.
Esimerkki konfigurointi tiedostosta (Konfigurointi tiedosto löytyy &SystemDrive&\Program Files (x86)\ddclient hakemistosta tai SystemDrive&\Program File\ddclient hakemistosta):
# ddclient.conf # daemon=5m use=web web=checkip.dy.fi server=www.dy.fi protocol=dyndns2 login=exampeuser, password=Qwerty1 dyn1.example.com ssl=no
Päivitys scripti RouterOS
Seuraava scripti on testattu RouterOS versiolla 6.15. Muille versiolle: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
Muokkaa alla oleva scripti itsellesi sopivaksi. Avaa RouterOS valikosta System -> Scripts. Luo uusi skripti ja kopioi alla oleva siihen.
:global ddnsuser "theddnsusername" :global ddnspass "theddnspassword" :global theinterface "interfacename" :global ddnshost blabla.dyndns.org :global ipddns [:resolve $ddnshost]; :global ipfresh [ /ip address get [/ip address find interface=$theinterface ] address ] :if ([ :typeof $ipfresh ] = nil ) do={ :log info ("DynDNS: No ip address on $theinterface .") } else={ :for i from=( [:len $ipfresh] - 1) to=0 do={ :if ( [:pick $ipfresh $i] = "/") do={ :set ipfresh [:pick $ipfresh 0 $i]; } } :if ($ipddns != $ipfresh) do={ :log info ("DynDNS: IP-DynDNS = $ipddns") :log info ("DynDNS: IP-Fresh = $ipfresh") :log info "DynDNS: Update IP needed, Sending UPDATE...!" :global str "/nic/update\?hostname=$ddnshost&myip=$ipfresh" /tool fetch address=dy.fi host=dy.fi src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=/ :delay 1 :global str [/file find name="$ddnshost"]; /file remove $str :global ipddns $ipfresh :log info "DynDNS: IP updated to $ipfresh!" } else={ :log info "DynDNS: dont need changes"; } }
ddnsuser = dynaamisen DNS palvelun käyttäjätili, esim. dy.fi palvelussa sähköposti-osoitteesi
ddnspass = käyttäjätilisi salasana
theinterface = Liitäntä joka on yhteydessä ulkoverkkoon ja josta otetaan IP-osoite joka lähetetään dynaamisen dns palvelulle.
ddnshost = Dynaamisen dns palvelun verkko-osoite, joka päivitetään, esim. domain.dy.fi.
Woimalle asetukset
Woimalle perusasetukset ovat melkein samanlaiset kuin dy.fi palvelulla. Muuta vain username ja password vastaamaan dynaamisen dns palvelun käyttäjänimeä ja salasanaa. Muuta domain.com vastaamaan isäntänimeä.
curl -D --user username:password http:/dyn.woima.fi/update?domain.com
Aiheeseen liittyvää
Lähteet
http://wiki.ubuntu-fi.org/Dynaaminen_DNS
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS