Ero sivun ”DDNS päivitysohjelmat” versioiden välillä
(Tämä versio merkittiin käännettäväksi) |
|||
Rivi 1: | Rivi 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
+ | <!--T:1--> | ||
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. [http://www.dy.fi/ 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. | 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. [http://www.dy.fi/ 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. | ||
+ | <!--T:2--> | ||
Muita palveluja on [http://dydns.org dydns.org] ja [http://no-ip.org no-ip.org]. | Muita palveluja on [http://dydns.org dydns.org] ja [http://no-ip.org no-ip.org]. | ||
− | == Käyttöönotto == | + | == Käyttöönotto == <!--T:3--> |
− | === Päivitys UNIX järjestemissä wgetillä === | + | === Päivitys UNIX järjestemissä wgetillä === <!--T:4--> |
+ | <!--T:5--> | ||
1. Avaa crontab | 1. Avaa crontab | ||
− | sudo nano /etc/crontab | + | <!--T:6--> |
+ | sudo nano /etc/crontab | ||
+ | <!--T:7--> | ||
Lisää seuraava rivi sivulle | 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 | + | <!--T:8--> |
+ | 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 | ||
+ | <!--T:9--> | ||
Tallenna tiedosto ja nyt pitäisi toimia automaattinen DDNS päivitys. Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai. | Tallenna tiedosto ja nyt pitäisi toimia automaattinen DDNS päivitys. Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai. | ||
+ | <!--T:10--> | ||
Seuraavalla komennolla voit tarkistaa toimiiko varmasti. Aja komento suoraan terminaalissa. | 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 | + | <!--T:11--> |
+ | 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 === | + | === Päivitys UNIX järjestemissä curlilla === <!--T:12--> |
+ | <!--T:13--> | ||
1. Asenna curl pakettihallinnasta | 1. Asenna curl pakettihallinnasta | ||
− | apt-get install curl | + | <!--T:14--> |
+ | apt-get install curl | ||
+ | <!--T:15--> | ||
2. Avaa crontab | 2. Avaa crontab | ||
− | nano /etc/crontab | + | <!--T:16--> |
+ | nano /etc/crontab | ||
+ | <!--T:17--> | ||
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. | 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 | + | <!--T:18--> |
+ | 45 3 * * 1,5 root curl -D - --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi | ||
+ | <!--T:19--> | ||
Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai. | Esimerkissä päivitys tapahtuu varttia 3.45 joka maanantai ja perjantai. | ||
+ | <!--T:20--> | ||
Toisessa esimerkissä päivitettään 10 minuutin välein | 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 | + | <!--T:21--> |
+ | */10 * * * * root curl -D --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi | ||
+ | <!--T:22--> | ||
Muuta seuraavat tiedot: | Muuta seuraavat tiedot: | ||
+ | <!--T:23--> | ||
useraccount = käyttäjänimi | useraccount = käyttäjänimi | ||
+ | <!--T:24--> | ||
password = salasana | password = salasana | ||
+ | <!--T:25--> | ||
hostname.dy.fi = Omasi isäntänimesi, jonka olet varannut dy.fi palvelussa. | hostname.dy.fi = Omasi isäntänimesi, jonka olet varannut dy.fi palvelussa. | ||
+ | <!--T:26--> | ||
Ajaa tämä esimerkiksi testiksi, niin voin testata toimiiko DDNS päivitys. Korvaa useraccount ja password dynaamisen dns palvelun tunnuksella ja salasanalla. | 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 | + | <!--T:27--> |
+ | curl -D - --user useraccount:password http://www.dy.fi/nic/update?hostname=hostname.dy.fi | ||
+ | <!--T:28--> | ||
Tuloksena tulisi tulostua | Tuloksena tulisi tulostua | ||
− | good [ip-osoitteesi] | + | <!--T:29--> |
+ | good [ip-osoitteesi] | ||
+ | <!--T:30--> | ||
Esimerkki tarkistetaan onko IP-osoite muuttunut ja tämän jälkeen päivitetään jos muutoksia. Kopioi ja tallenna dyndns.sh: | Esimerkki tarkistetaan onko IP-osoite muuttunut ja tämän jälkeen päivitetään jos muutoksia. Kopioi ja tallenna dyndns.sh: | ||
− | #!/bin/bash | + | <!--T:31--> |
+ | #!/bin/bash | ||
USERNAME="dyndnsusername" | USERNAME="dyndnsusername" | ||
Rivi 89: | Rivi 117: | ||
fi | fi | ||
− | === Päivitysohjelma Windowssille === | + | === Päivitysohjelma Windowssille === <!--T:32--> |
+ | <!--T:33--> | ||
Lataa ja asenna päivitysohjelma http://www.randomnoun.com/wp/2013/08/19/a-dynamic-dns-client-for-windows/ | Lataa ja asenna päivitysohjelma http://www.randomnoun.com/wp/2013/08/19/a-dynamic-dns-client-for-windows/ | ||
+ | <!--T:34--> | ||
Asennusohjelmassa kysytään dynaamisen palvelimen osoitteita ja käyttäjätunnuksista. Voit muokata myöhemmin konfigurointi tiedoston avulla. | Asennusohjelmassa kysytään dynaamisen palvelimen osoitteita ja käyttäjätunnuksista. Voit muokata myöhemmin konfigurointi tiedoston avulla. | ||
+ | <!--T:35--> | ||
Esimerkki konfigurointi tiedostosta (Konfigurointi tiedosto löytyy %SystemDrive%\Program Files (x86)\ddclient hakemistosta tai SystemDrive&\Program File\ddclient hakemistosta): | Esimerkki konfigurointi tiedostosta (Konfigurointi tiedosto löytyy %SystemDrive%\Program Files (x86)\ddclient hakemistosta tai SystemDrive&\Program File\ddclient hakemistosta): | ||
− | # ddclient.conf | + | <!--T:36--> |
+ | # ddclient.conf | ||
# | # | ||
daemon=5m | daemon=5m | ||
Rivi 106: | Rivi 138: | ||
ssl=no | ssl=no | ||
− | === Päivitys scripti RouterOS === | + | === Päivitys scripti RouterOS === <!--T:37--> |
+ | <!--T:38--> | ||
''Seuraava scripti on testattu RouterOS versiolla 6.15.'' Muille versiolle: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS | ''Seuraava scripti on testattu RouterOS versiolla 6.15.'' Muille versiolle: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS | ||
+ | <!--T:39--> | ||
Muokkaa alla oleva scripti itsellesi sopivaksi. Avaa RouterOS valikosta System -> Scripts. Luo uusi skripti ja kopioi alla oleva siihen. | Muokkaa alla oleva scripti itsellesi sopivaksi. Avaa RouterOS valikosta System -> Scripts. Luo uusi skripti ja kopioi alla oleva siihen. | ||
− | :global ddnsuser "theddnsusername" | + | <!--T:40--> |
+ | :global ddnsuser "theddnsusername" | ||
:global ddnspass "theddnspassword" | :global ddnspass "theddnspassword" | ||
:global theinterface "interfacename" | :global theinterface "interfacename" | ||
Rivi 144: | Rivi 179: | ||
+ | <!--T:41--> | ||
ddnsuser = dynaamisen DNS palvelun käyttäjätili, esim. dy.fi palvelussa sähköposti-osoitteesi | ddnsuser = dynaamisen DNS palvelun käyttäjätili, esim. dy.fi palvelussa sähköposti-osoitteesi | ||
+ | <!--T:42--> | ||
ddnspass = käyttäjätilisi salasana | ddnspass = käyttäjätilisi salasana | ||
+ | <!--T:43--> | ||
theinterface = Liitäntä joka on yhteydessä ulkoverkkoon ja josta otetaan IP-osoite joka lähetetään dynaamisen dns palvelulle. | theinterface = Liitäntä joka on yhteydessä ulkoverkkoon ja josta otetaan IP-osoite joka lähetetään dynaamisen dns palvelulle. | ||
+ | <!--T:44--> | ||
ddnshost = Dynaamisen dns palvelun verkko-osoite, joka päivitetään, esim. domain.dy.fi. | ddnshost = Dynaamisen dns palvelun verkko-osoite, joka päivitetään, esim. domain.dy.fi. | ||
− | === Päivitys RouterOS yli NAT === | + | === Päivitys RouterOS yli NAT === <!--T:45--> |
+ | <!--T:46--> | ||
''Testattu RouterOS 6.15 versiossa'' | ''Testattu RouterOS 6.15 versiossa'' | ||
− | # Set needed variables | + | <!--T:47--> |
+ | # Set needed variables | ||
:local username "theddnsusername" | :local username "theddnsusername" | ||
:local password "theddnspassword" | :local password "theddnspassword" | ||
Rivi 198: | Rivi 239: | ||
} | } | ||
− | == Woimalle asetukset == | + | == Woimalle asetukset == <!--T:48--> |
+ | <!--T:49--> | ||
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ä. | 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 -4 --user username:password http://4.dyn.woima.fi/update?domain.com | + | <!--T:50--> |
+ | curl -D -4 --user username:password http://4.dyn.woima.fi/update?domain.com | ||
− | == Aiheeseen liittyvää == | + | == Aiheeseen liittyvää == <!--T:51--> |
+ | <!--T:52--> | ||
[[Crontab]] | [[Crontab]] | ||
− | == Lähteet == | + | == Lähteet == <!--T:53--> |
+ | <!--T:54--> | ||
http://wiki.ubuntu-fi.org/Dynaaminen_DNS | http://wiki.ubuntu-fi.org/Dynaaminen_DNS | ||
+ | <!--T:55--> | ||
http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS | http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS | ||
</translate> | </translate> |
Versio 21. tammikuuta 2015 kello 11.57
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://dy.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.
Päivitys RouterOS yli NAT
Testattu RouterOS 6.15 versiossa
# Set needed variables :local username "theddnsusername" :local password "theddnspassword" :local hostname "blabla.dyndns.org" :global dyndnsForce :global previousIP # print some debug info :log info ("UpdateDynDNS: username = $username") :log info ("UpdateDynDNS: hostname = $hostname") :log info ("UpdateDynDNS: previousIP = $previousIP") # get the current IP address from the internet (in case of double-nat) /tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html" :local result [/file get dyndns.checkip.html contents] # parse the current IP result :local resultLen [:len $result] :local startLoc [:find $result ": " -1] :set startLoc ($startLoc + 2) :local endLoc [:find $result "</body>" -1] :local currentIP [:pick $result $startLoc $endLoc] :log info "UpdateDynDNS: currentIP = $currentIP" # Remove the # on next line to force an update every single time - useful for debugging, but you could end up getting blacklisted by DynDNS! #:set dyndnsForce true # Determine if dyndns update is needed # more dyndns updater request details available at http://www.dyndns.com/developers/specs/syntax.html :if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={ :set dyndnsForce false :set previousIP $currentIP /tool fetch user=$username password=$password mode=http address="dyn.fi" host="dy.fi" src-path="/nic/update\?hostname=$hostname&myip=$currentIP" dst-path="/dyndns.txt" :local result [/file get dyndns.txt contents] :log info ("UpdateDynDNS: Dyndns update needed") :log info ("UpdateDynDNS: Dyndns Update Result: ".$result) :put ("Dyndns Update Result: ".$result) } else={ :log info ("UpdateDynDNS: No dyndns update needed") }
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 -4 --user username:password http://4.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