Kirjoittaja Aihe: RegMyIP dynaaminen DNS (DDNS) Client  (Luettu 15002 kertaa)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
RegMyIP dynaaminen DNS (DDNS) Client
« : 23.02.15 - klo:15.51 »
Johdanto --- Mikä on DDNS ?

Ajatellaan että sinulla on kone joka on julkisessa Internetissä kiinni (eli ei siis palomuurin/NATin tms. reitittimen takana).  koneesi saa silloin automaattisesti jonkin ip-osoitteen operaattoriltasi.   Löydät koneesi tuolla ip-osoitteella olit missä hyvänsä mutta vain niin kauan kuin tuo osoite säilyy.  Tavallista on että osoite eivät ole pysyvä (ellei erikseen lisähintaan osta sellaista) vaan osoite voi vaihtua vaikka se joskus pysyy aika pitkäänkin samana.   Ongelma onkin millä löytää koneensa jos osoite vaihtuu yht'äkkiä ja olet jonkin verran kaukana koneestasi. 
Tuohon asiaan on kehitetty ratkaisuksi DDNS:  Rekisteröidään koneelle jokin pysyvä nimi johon tuo ip-osoite liitetään. Tuon rekisteröinnin voi käydä tekemässä webbiselaimella ja ilmaisia palveluja on useita.  Suomalaisista tunnetuin on "dy.fi".
Kun nimi on rekisteröity asennetaan koneeseen DDNS-Client eli ohjelma joka viestittää tuonne palveluun automaattisesti oman ip-osoitteensa.   Jos osoite vaihtuu niin kone päivittää itse osoitteensa tuonne palveluun.  Nytpä löytyy kone aina nimellä vaikka ip-osoite vaihtelisisi.   Tuo nimi on yleensä muotoa  <itse_keksitty_osa>.dy.fi  eli vaikkapa "late.lammas.dy.fi".

 
DDNS Client -ohjelmista
Nämä ovat enimmäkseen palvelukohtaisia erilaisia skriptejä.  Kokeilin useitakin mutta kirjoitin lopulta oman joka on sekä helppokäyttöinen että ominaisuuksiltaan riittävä tuohon tehtävään.  Kirjoitin sen niin että sitä voi ajaa sekä komentoriviltä (testi- ja aloitusvaihe) että crontab: ssa ajastettuna (varsinainen käyttö).  Ajastusvälinä crontab: ssa olen itse käyttänyt 10 minuuttia.  Tuo aika tulee siitä että ohjelma kysyy ajoittain "mikä minun osoitteeni on" palvelimelta ja jotkut ulkomaalaiset palveluntarjoajat eivät pidä tiuhemmasta kyselystä.  Ohjelma kysyy myös "oikeasta" dns-palvelusta ja vertaa paikallisesti säilöttyyn aiempaan osoitteeseen jolloin on mahdollista tunnistaa jos osoite on muutettu ohjelman ulkopuolelta.

Tässäpä tämä uutuus joka ollut itselläni käytössä jo jonkin aikaa:  RegMyIP DDNS-client.   Tuo rekisteröi julkisen osoitteen koneestasi (tai halutessasi palomuuristakin) DDNS-palvelimelle.

http://www.homelinuxpc.com/download/regmyip


RegMyIP: n käyttö lyhyesti:

- Asenna "curl" -ohjelma
Koodia: [Valitse]
sudo apt-get install curl
- Tee jokin hakemisto, vaikka /ddnsclient jonne laitat RegMyIP: n ja anna ajo-oikeus sille
- Tee asetukset.  RegMyIP sisältää sisäänrakennettuna osan jolla sille tehdään asetustiedostot.  Asetukset syntyvät kun ajat:

Koodia: [Valitse]
./regmyip dyfi --configure
Aja molemmat osat asetusohjelmassa missä annetaan domainisi nimet, tunnus ja salasana.  Nuo pystyt vaihtamaan halutessasi yksinkertaisesti ajamalla asetusohjelman uudestaan.  Salasanasi salakirjoitetaan niin että siitä ei ole ulkopuoliselle hyötyä.  Salasana ei edes toimi jos sen vie eri koneelle.

- Testaa toiminta käynnistämällä:
Koodia: [Valitse]
regmyip dyfi
Näet näytöllä tapahtumat mukaanlukien ddns-palvelimen vastauksen rekisteröintipyyntöön.  Huomaa että saat palvelimen vasteen vain yhden kerran jos rekisteröinti onnistui.  Muuten tulee vain ilmoitus että muutoksia ei ollut.  Tuo on tahallinen "palvelin-spammin" esto. Voit halutessasi tarkastaa lokitiedostoista tapahtumia.

- Lisää crontab: iin kaksi riviä niin että skripti ajetaan 10 minuutin välein ja uudelleen käynnistyksessä:

Koodia: [Valitse]
@reboot         sleep 60; <täysi_polku>/regmyip dyfi --log_all
*/10 * * * *    <täysi_polku>/regmyip dyfi
Tuo "sleep 60" on varmistamassa että kaikki ehtii käynnistyä ennen kuin päivitys tehdään. 

RegMyIP sisältää automaattisen virkistystoiminnon, 5 päivän kuluttua ohjelma lähettää automaattisesti rekisteröinnin ylläpitämiseksi päivityksen vaikka muutoksia ei olisi tapahtunut.  Tuo "log_all" antaa täyden loggauksen mikä on hyvä uudelleenkäynnistyksen yhteydessä mutta muuten et varmaankaan halua sitä.

Itse olen tehnyt edellä olevien asennusvaiheiden lisäksi oman tunnuksen "ddnclient"  tms. jolla ajetaan ja laittanut skriptin paikkaan jonne on tuolla tunnuksella oikeudet ja vastaavasti tuolla tunnuksella ei ole muualle oikeuksia.

RegMyIP tukee kahden palvelutarjoajan menetelmiä ja vastekoodeja:   dy.fi  ja DnsExit
Molempia rekisteröintejä voi toki käyttää samalla koneella samaan aikaan,  tuon DnsExit: in kautta itse ohjaan .com ja .org domaineja.

Molemmat toimintatavat on testattu ja käytössä itselläni useissa paikoissa. Bugi- ja kehityskommentit ovat silti tervetulleita.
 
« Viimeksi muokattu: 26.02.15 - klo:11.47 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #1 : 24.02.15 - klo:21.07 »
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #2 : 24.02.15 - klo:21.16 »
Hep!
http://www.homelinuxpc.com/download/regmyip
linkki ei toimi?!  :-[

Tipahti 100M linja alta, vaihdoin tulemaan varakoneelta 1M ADSL... Muutoksen domainiin tein RegMyIP: llä, päivittyi minuutissa.
Lataus on nyt hidas mutta yritetään pärjätä huomiseen.

Edit 25.2.2015
Oli VDSL2-modemi lopettanut toimintansa kokonaan. Sain vaihdettua tuon ja nyt on pääpalvelin takaisin käytössä.
« Viimeksi muokattu: 25.02.15 - klo:16.45 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #3 : 21.10.17 - klo:00.40 »
Uusi versio v2.5 esillä.  Korjasin tilanteen, jossa on kaksi default gw määritystä.  Tein myös toistuvan konfiguraatiomuutoksen hieman helpommaksi sisäänrakennetussa konfiguraatioeditorissa.     

http://www.homelinuxpc.com/download/regmyip

Tämä skripti on tarkoitettu crontabissa ajettavaksi. Konffaus ja alkutestaus tehdään päätteessä.

Esimerkki tapauksesta dy.fi.

1) Rekisteröidy dy.fi käyttäjäksi ja tee sinne jokin nimi.   Hyvä idea lienee tehdä nimi esimerkiksi  muodossa  <joku_nimi_laitteellesi>. <oma_nimi_tai_tunnus>.dy.fi.   Jos sinulla on vaikka Huawein laite ja nimesi on Matti Meikäläinen niin tuosta saisi vaikka  "huawei.mattimeikalainen.dy.fi". Tai palvelin "fs1.mattimaikalainen.dy.fi", jne. 

2) Tee jokin kansio jonne laitat skriptin, vaikka "ddnsclient" ja aja konffaus ja testi siellä.  Helppiteksti tulee kun ajaa ilman parametreja tai jos antaa --help tai -h perään.

3) Aja konffaukset, molemmat osat:
 
Koodia: [Valitse]
./regmyip dyfi --configure
Konffauksen tuloksena syntyy kansioon dyfi.conf ja dyfi.id tiedostot.   Käyttäjätunnus ja salasana ovat sen jälkeen kryptattuina tiedostossa dyfi.id.  Ne toimivat vain koneella, jossa konffaus on ajettu eli konffaus pitää ajaa sillä koneella, jossa koodia käytetään.  Muutokset kannattaa tehdä ajamalla konffausosio, ei editoimalla suoraan dyfi.conf tiedostoa. 

Jos haluat rekisteröidä julkisen ip-osoitteen omaavan koneesi niin valitse konffauksessa Y kohdassa "Deny Private Route".  Jos sen sijaan olet sisäverkossa (esim. wlan-reitittimesi takana) ja haluat rekisteröidä reitittimen ulkoisen ip-osoitteen, niin valitse N tuossa kohdassa.  Tämä valinta on välttämätön/hyödyllinen koneessa, jossa on kaksi verkkokorttia eli toinen ulkoverkossa ja toinen sisäverkossa.  Samoin sitä voi hyödyntää reitittimen rekisteröintiin, riippumatta osaako reititin tuota itse.
Identifikaatioksi tuonne kannattaa laittaa oma nimesi ja puhelinnumerosi eli esim.  tyyliin "matti.meikäläinen_040_12345678".

4) Testaa päätteessä.  Käyttämällä --log_all tai -l se kertoo kaikki tapahtumat päätteeseen ja myös palvelimen vastaukset, joka helpottaa oleellisesti ongelman selvitystä jos jotain on ristissä.  Vasteista näkee, onko tunnuksesi/salasanasi oikein dy.fi palvelimella ja onko host määritetty sinne oikein.

Koodia: [Valitse]
./regmyip dyfi --log-all
5) Kun kaikki pyörii ok, on aika laittaa se crontabiin ajoon vaikkapa 10 minuutin syklillä.   Client ei lähetä palvelimelle rekisteröintejä muuta kuin silloin kun ip on muuttunut. Poikkeus on viiden päivän syksillä automaattisesti tehtävä ylläpitopäivitys rekisteröintiin.
Kannattaa antaa koko polku crontabissa.  Viestien vähentämiseksi merkintöjä lokiin dyfi.log syntyy vain, kun jotain muuttuu silloin kun ei käytetä --log_all vipua komennon perässä.

6) Client toimii myös dnsexit.com palvelun kanssa ja osaa lähettää monidomain rekisteröinnin yhdellä viestillä.

Skripti vaatii, että curl on asennettu.

Iloa testaukseen ja ei enää katoilevia koneita, kun julkinen ip vaihtuu  :)

Mikään ei estä käyttämästä dy.fi  -loppua hieman pidempiaikaisenakin domainina.  Nimiä saa tosin tuon alle vain 5 kpl per sähköpostiosoite (joka on tunnuksesi sinne).
« Viimeksi muokattu: 21.10.17 - klo:00.55 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #4 : 22.02.18 - klo:22.04 »
Hetznerin virtuaalikoneella gw osoittaa yksityiseen osoitteeseen mutta koneen ip on julkisessa osoitteessa:
Koodia: [Valitse]
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.31.1.1      0.0.0.0         UG    0      0        0 eth0
172.31.1.1      0.0.0.0         255.255.255.255 UH    0      0        0 eth0
Tein pienen päivityksen "regmyip" DDNS-client skriptiin tuon takia että se tunnistaa oikein sisäverkkotilanteen (NAT).
Täältä löytyy (korvasin vanhemman version):

http://www.homelinuxpc.com/download/regmyip
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #5 : 16.09.20 - klo:15.57 »
OpenSSL alkoi antaa virhettä

Lainaus
*** WARNING : deprecated key derivation used.
Using -iter or -pbkdf2 would be better.

mutta toimi silti.

Ratkaisu oli täällä:
https://unix.stackexchange.com/questions/507131/openssl-1-1-1b-warning-using-iter-or-pbkdf2-would-be-better-while-decrypting

Päivitin tuon asian "regmyip" -DDNSclienttiin.

dy.fi on kätevä silloin kun laitteella ei ole omaa domainia, josta sen löytäisi nimen perusteella. 
"regmyip" skriptiä pystyy halutessaan myös "väärinkäyttämään"  rekisteröimään reitittimen ulkoisen osoitteen ajamalla sitä crontabilla millä tahansa sisäverkon koneella tuohon tarkoitukseen konffattuna.
 
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

masa2

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #6 : 02.11.20 - klo:20.24 »
Kaivoin romulaatikosta vanhan Pi model B:n ja laitoin uusimman Rasbianin siihen, käänsin Hiawathan joka toimii ja nyt aloin askaroimaan tätä Regmyip:tä.

Konffaus toimii ihan ok, mutta testaus ei, alla hakemiston oikeudet:

-rw-r--r-- 1 pi   pi     494 Nov  2 19:24 dyfi.conf
-rw-r--r-- 1 pi   pi     155 Nov  2 19:13 dyfi.id
-rw-r--r-- 1 pi   pi     351 Nov  2 19:24 init.log
-rwxrwxrwx 1 root root 36860 Sep 16 15:41 regmyip

pi@hiawatha:~/dir_regmyip $ regmyip dyfi
-bash:  No such file or directory

Ihan newbie olen tässäkin Linux asiassa...

Curl on asennettu, mutta mitenkäs tuo regmypi pitäisi ajaa?

Tungin aloittelijana tuon regmyip:n hakemistoon /home/pi/dir_regmyip/




« Viimeksi muokattu: 02.11.20 - klo:21.21 kirjoittanut masa2 »

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #7 : 02.11.20 - klo:21.17 »
En ole käyttänyt dynaamisia domaineja, mutta veikkaisin, että kyseinen koodinpätkä pitäisi ajaa cronilla aina tietyin väliajoin. (Ehkä kerran viikkoon tai jotain sinne päin.)

masa2

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #8 : 02.11.20 - klo:21.25 »
Joo, eli en ole päässyt tuohon croniin asti vaan tuon asennusohjeen testaukseen eli kun conf tiedosto on tehty niin käsittääkseni komennolla : "regmyip dyfi" pitäisi  joku kuittaus dy.fi palvelun onnistuneest loginista näkyä? Nyt tuntuisi siltä ettei tapahdu yhtään mitään...


kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #9 : 02.11.20 - klo:21.30 »
Joo, eli en ole päässyt tuohon croniin asti vaan tuon asennusohjeen testaukseen eli kun conf tiedosto on tehty niin käsittääkseni komennolla : "regmyip dyfi" pitäisi  joku kuittaus dy.fi palvelun onnistuneest loginista näkyä? Nyt tuntuisi siltä ettei tapahdu yhtään mitään...

Ahaa...

En edelleenkään ole mikään dynaamisen ip:n asiantuntijana, mutta virhe kertoo, ettei ohjelmaa löydy.

Kyseinen käsky tulee ajaa raspissa, ja suoritus tapahtuneen jotenkin seuraavasti päätteellä...
Koodia: [Valitse]
pi@hiawatha:~/dir_regmyip $ ./regmyip dyfi

Eli lisää ./ - merkkijono käskyn eteen, niin komentorivi osaa ottaa vastaan oletushakemiston.

masa2

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #10 : 02.11.20 - klo:21.36 »
Yesssssss.... kiitoksia :-)

lÄHTI PELITTÄMÄÄN

kamara

  • Käyttäjä
  • Viestejä: 3031
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #11 : 02.11.20 - klo:21.42 »
Yesssssss.... kiitoksia :-)

lÄHTI PELITTÄMÄÄN

Hienoa !!!
Tämä toki hiveli "omaa egoani", kun osasin neuvoa asiassa, josta en mitään ymmärrä. 8)

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #12 : 23.10.21 - klo:00.50 »
Sitä voi ajaa crontab:in kautta, esimerkki alla omalta koneeltani. Korjaa tuohon polku oikeaksi, minne sitten oletkin laittanut sen skriptin:

Koodia: [Valitse]
@reboot      sleep 60; /home/arto/ddnsclient/regmyip dyfi -l
*/10 * * * * /home/arto/ddnsclient/regmyip dyfi
Eka rivi ajaa sen, jos kone käynnistetään uudestaan.  Toinen rivi ajaa sitä 10 min. välein.  Tiheällä ajamisella ei ole mitään haittaa, koodi estää pommittamasta palvelinta uudistuspyynnöillä silloin kun mitään ei ole muuttunut.
Kun sykli on 10 minuuttia, voi kone olla hukassa enintään tuon ajan ip-osoitteen vaihtuessa. Tuo "-l" eli pieni L-kirjain korottaa loggausta.  Muuten se loggaa tapahtumat lokitiedostoon vain, kun jotain muuttuu tai on jokin ongelma, esim. verkkoyhteys poikki.

Sieltä löytyy myös lyhyt helppi ja toki sitä voi ajaa komentoriviltä kokeiluvaiheessa ennen kuin laittaa crontabiin, näkee palvelimen vasteet kyselyihin/uudistuspyyntöihin, ym. :
Koodia: [Valitse]
/home/arto/ddnsclient/regmyip --help

RegMyIP --- easy and secure DDNS Client for crontab

Usage:     regmyip  <service_provider>  -c | --configure
           regmyip  <service_provider>  -l | --log_all
           regmyip  -h | --help

           <service_provider> = dyfi | dnsexit
           
How-to:    Save in any directory, chmod +x regmyip, run
              "regmyip <service_provider> -c"
           to configure and create a line to your crontab to run it
           at reboot and each 10 minutes:
         
           @reboot  sleep 60; <path>/regmyip dyfi --log_all
           */10 * * * * <path>/regmyip dyfi

Security:  User information is encrypted during configuration using
           a key which is also encrypted. ID file is valid only on
           computer where it has been created.


Se osaa toimia kahden DDNS-palveluntarjoajan kanssa eli dyfi.fi ja dnsexit.com
DnsExit:in kanssa se osaa tehdä yhdellä viestillä monidomainuudistuksen, dyfi:ssä ei ole sitä ominaisuutta.
« Viimeksi muokattu: 23.10.21 - klo:01.03 kirjoittanut ajaaskel »
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

Mistofelees

  • Käyttäjä
  • Viestejä: 661
    • Profiili
Vs: RegMyIP dynaaminen DNS (DDNS) Client
« Vastaus #13 : 23.11.21 - klo:02.45 »
Itsellä DDNS:n korvasi monet vuodet oma scripti, joka lähetti minulle sähköpostissa kodin uuden IP:n, jos ISP päätti muuttaa sitä.
Vieläkin se on varajärjestelmänä, mutta käytän silti pääosin kuitu-reitittimen valmistajan tarjoamaa DDNS:ää.
Oma http-sivusto on reitittimen DMZ:lla, josta ei ole pääsyä taloon sisälle. Taloon pääsee vain ssh:lla ja siinäkin on fail2ban koputtelijoiden kiusana.