Mainos / Advertisement:

Ero sivun ”DDNS päivitysohjelmat” versioiden välillä

Kohteesta Taisto
Siirry navigaatioon Siirry hakuun
(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

Muut kielet:
suomi

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.

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ää

Crontab

Lähteet

http://wiki.ubuntu-fi.org/Dynaaminen_DNS

http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS

Mainos / Advertisement: