Dinamikus IP -> DynDNS: avagy ingyenes dinamikus domainszolgáltatás beállítása linuxon.

Általában véve otthoni felhasználásra a dinamikus ip kiosztás (a dsl szolgáltatók nagyrésze ilyen) önmagában megfelelő.

Előfordulhat azonban, hogy valamiféleképpen be kell állítanunk magunknak egy fix címet, annak ellenére, hogy a kiosztott ipcímünk gyakran (általában naponta) változik. Ennek több oka is lehet: futtathatunk a saját gépünkön kis privát weboldalt, ami így mindig fix címen elérhető, de sok egyéb problémára is megoldást jelenthet.

Én most megpróbálom bemutatni, hogy Ubuntu Linux alatt hogy tudjuk azt elérni, hogy egyszeri konfigurálással állandó, ingyenes domian néven legyen a számítógépünk elérhető.

Először regisztrálnunk kell magunknak egy ingyenes domain nevet. Erre több szolgálató is létezik, most nézzük a DynDNS.com oldalt.

Itt regisztrálj, kövesd az utasításokat, és válassz egy domain nevet magadnak. Elég egyszerű, nem lesz problémád vele.

Ha megvagy, telepítsd a rendszeredre a "ddclient" nevű dyndns updater klienst:

sudo apt-get install ddclient

A telepítő fel fogja tenni a szükséges kérdéseket, úgy mint:

  • A szolgáltatást nyújtó weboldal (http://dyndns.com)
  • A regisztrált és használni kívánt domain név
  • Az oldalon regisztrált felhasználóneved
  • A felhasználónevedhez tartozó jelszó
  • A használt hálózati eszköz (interface). (Ez nálam az eth0, de rendszerenként változhat. Ellenőrizni az ifconfig parancs kiadásával tudod konzolon.)

Ha ezeket az adataokat helyesen adod meg telepítés közben, akkor a szolgáltatás működni fog. Én mégis azt javaslom, hogy miután megadtad ezeket, mégse ezt használd. A dyndns.com oldalon adott egy lehetőség, miszerint ők egy form kitöltésével a kezedbe adnak egy kész konfigurációt. Ez sokkal működőképesebb.

Az említett oldal ide kattintva elérhető. (Persze a használatához be kell jelentkezned.)

Itt meg kell adnod, hogy melyik regisztrált domiannevedhez (ha több is van) kell a konfiguráció, majd ki kell választani, hogy milyen updater klienst használsz. Esetünkben a ddclient mellé kell a pipát tenni, majd rá kell bökni a "Generate" feliratú gombra.

Miután megkapuk a fájlt, nézzük át mit tartalmaz. Láthatjuk benne az adatainkat, egyedül a jelszó részt kell átírni:

password=##YOUR PASSWORD##

itt az egyenlőség jel után kell behelyettesítenünk a saját jelszavunkat.

Itt az ideje kicserélni a konfigot. Az első és legfontosabb lépés egy biztonsági mentés létrehozása az eredeti fájlról:

sudo cp /etc/ddclient.conf /etc/ddclient.conf.ment

Majd az eredeti fájl szerksztése. Először töröljünk mindent a fájlból:

cat /dev/null > /etc/ddclient.conf

(Ezt csak root-ként tudjuk megtenni, sudo-val próbálkozva kapunk egy szép hozzáférés megtagadva hibaüzenetet. Így válunk roottá: sudo -s. Igen így, nem a sokak által hibásan használt sudo su parancsal, ami ugyan működik, de a sudoval semmi értelme nincs.)

Majd a generált konfiguráció beillesztése a fájlba, jelen esetben grafikus szerekesztőt használva a könnyebség kedvéért:

sudo gedit /etc/ddclient.conf

A szerkesztővel megnyitott fájlba másoljuk be a konfigurációt és javítsuk a jelszót.

Ha kész, mentsük el a fájlt és zárjuk be a szövegszerkesztőt. Majd indísuk el a programot:

sudo ddclient

Ellenőrizzük, hogy megfelelően működik-e:

tail /var/log/daemon.log | grep ddclient

Hasonlót kell neked is látni a kiadott parancs után:

Apr 30 13:44:56 forbidden ddclient[3415]: SUCCESS: updating example.dyndns.com: good: IP address set to 145.145.155.155

(Természetesen az example.dydns.com és az ipcím helyén a saját adataidat kell látnod, ha nem így lenne, ellenőrizd le mégegyszer a konfigurációt.)

Mostantól a dolog működik automatikusan, nem kell többet hozzányúlnod.

OK, de mi a helyzet, ha router mögött, vagy egy hálózatban vagyok?

A fent vázolt dolog ekkor is működik, ám egy apró változtatást azért eszközölni kell. A választott domainneve(ke)t hozzá kell rendelni a gépünk által használt belső ipcímhez. Ezt az /etc/hosts fájl szerkesztésével érheted el:

sudo gedit /etc/hosts

Majd módosítsuk a fájlt az alábbiak szerint:

[...]
127.0.0.1 localhost.localdomain localhost
127.0.1.1 hostname example.dyndns.com
192.168.0.2 example.dyndns.com
[...]

Ahol a "hostname" a rendszered hostneve, ehhez nem kell nyúlnod, már ki lesz töltve, ezután kell az example.dydns.com helyére a saját regisztrált domainnevedet beilleszteni, majd a következő sorba a 192.168.0.2 helyére a saját belső ipcímedet, az example.dyndns.com helyére pedig a regisztrált domainnevedet kell beírni, azt amit az előző sorban is megadtál.

Ha készen vagy, mentsd el a fájlt, majd zárd be a szövegszerkesztőt. Egy dolog maradt hátra, a változások életbeléptetéséhez újra kell indítani a hálózatot, amit a következő parancsal tehetsz meg:

sudo /etc/init.d/networking restart

Ha hibát, vagy nem megfelelő működést tapasztaltok a leírás nyomán, itt jelezzétek, köszi.

Comments

SZia

Nagyon profi a leírás, de valamiért neekem akkor se ment.

a jelszóváltoztatás után a szerkesztőt elmentve, elakarnám indítani a ddclient-et és nem csinál semmi.

Gondolom terminálból kell futtatni mindent.

amikor vissza akarom ellenőrizni ,hogy minden faja e, akkor ezt kapom.:

Jun  8 11:40:59 -desktop ddclient[4556]: WARNING:  file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
Jun  8 11:40:59 -desktop ddclient[4556]: WARNING:  skipping update of szappan.go.dyndns.org from <nothing> to 84.3.5.8.
Jun  8 11:40:59 -desktop ddclient[4556]: WARNING:   last updated <never> but last attempt on Mon Jun  8 11:40:18 2009 failed.
Jun  8 11:40:59 -desktop ddclient[4556]: WARNING:   Wait at least 5 minutes between update attempts.
Jun  8 11:45:53 -desktop ddclient[3759]: FAILED:   updating szappan.go.dyndns.org: badauth: Bad authorization (username or password)
Jun  8 11:46:09 -desktop ddclient[3769]: WARNING:  file /var/cache/ddclient/ddclient.cache, line 3: Invalid Value for keyword 'ip' = ''
Jun  8 11:46:09 -desktop ddclient[3769]: WARNING:  skipping update of szappan.go.dyndns.org from <nothing> to 84.3.5.8.
Jun  8 11:46:09 -desktop ddclient[3769]: WARNING:   last updated <never> but last attempt on Mon Jun  8 11:45:52 2009 failed.
Jun  8 11:46:09 -desktop ddclient[3769]: WARNING:   Wait at least 5 minutes between update attempts.
Jun  8 11:51:00 -desktop ddclient[4556]: FAILED:   updating szappan.go.dyndns.org: badauth: Bad authorization (username or password)

 

Nem pedig ezt.:

Apr 30 13:44:56 forbidden ddclient[3415]: SUCCESS: updating example.dyndns.com: good: IP address set to 145.145.155.155

(persze haszonlót)

OK, de mi a helyzet, ha router mögött, vagy egy hálózatban vagyok?

Én éppen router mögött vagyok, de ezeket a beállításokat is megcsináltam.

a Kérdés egyszerű

Nem tudom ,hogy működik e?

Légyszives segíts

 

Előre is NAGYON köszönöm

Üdvözlettel.Roland

 

sumo's picture

Szia.

Így elsőre pár javaslat:

A ddclient programot terminálból kell indítani, root jog kell hozzá, használj sudo-t.

Ha a konfigurációd megfelelő, akkor csak egyszer kell elindítani, a ddclient daemonként fut a továbbaikban, automatikusan teszi a dolgát.

Ellenőrizd még egyszer a konfigurációs fájlt: jó-e a felhasználónév és a jelszó.

Én is router mögött vagyok, semmi hókuszpókusz nem szükséges, működnie kell.

A könnyebség kedvéért ez a konfig fájlt, amit használok:

cat /etc/ddclient.conf

## ddclient configuration file
daemon=600                  # check every 600 seconds
syslog=yes                  # log update msgs to syslog
mail-failure=email@cim.hu # Mail failed updates to user
pid=/var/run/ddclient.pid   # record PID in file.

## Detect IP with our CheckIP server
use=web, web=checkip.dyndns.com/, web-skip='IP Address'

## DynDNS username and password here
login=felhasznaloneved
password=jelszavad

## Default options
protocol=dyndns2
server=members.dyndns.org

## Dynamic DNS hosts
szappan.go.dyndns.org

Nézd át megint a dolgokat, mennie kell.

Köszi a választ, eddig már rég eljutottam.......

nálam ezt írja ki.. a

ddclient conf

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

pid=/var/run/ddclient.pid
protocol=dyndns2
use=if, if=eth0
server=members.dyndns.org
login=NEVEM
password='PASS'
NEVEM.go.dyndns.org

.bocsi a stílusért, de belefáradtam, másfél napja szenvedek, egyfeszt, és nem találok olyan embert aki tudná a bajom.

 

Jun  9 15:11:12 szappan-desktop ddclient[2729]: WARNING:  caught SIGTERM; exiting
Jun  9 15:11:32 szappan-desktop ddclient[15269]: WARNING:  caught SIGTERM; exiting
Jun  9 15:19:35 szappan-desktop ddclient[15509]: WARNING:  caught SIGTERM; exiting

 

CyB's picture

Hát nekem a sumo és a szappan féle config nem egyezik meg. Nem lehet ez a gond? :)

(sajnos én a router dyndnsét használom, ezért érdemben egyelőre nem tudok hozzászólni)

...szinte biztos ,hogy a routerbe valami port-on nem megyát. (vagy ez lehet nagy hülyeség is volt)

..egyszerűen már nemtudok mire gondolni...

a leellenőrző parancsra, néha kiírja a terminálba, hogy WARNING.......................................

néha meg nem ír semmit.

pl nálam a sudo ddclient-re nem csinál semmit

 

 

ui.:mintha 2* már láttam volna, hogy SUCCESSFUL....

 

CyB's picture

A routeredben alapból az összes kifelé irányuló kapcsolat engedve van, kivéve ha ezt te letiltottad. Egyébként a dyndns cuccos azt hiszem default 80as portot használ, vagyis ha az tiltva van akkor ide sem tudsz írni a honlapra :)

Világos..

akkor ezt legalább nem lehet elrontani:)

Azt nem tudod véletlen ,hogy mivel ellenőrizzem, hogy működik e?

Nekem is itthoni routerem van, lehet annélkül könnyebb lenne, de apum miatt muszáj,mert a másik szobából wifizik..

Tudom nem ide tartozik..

Ha újrarakom a linuxot, és a  /home partíciót meghagyom, akkor a ddclient beállítások elvesznek,vagy megmarad?

Igazság szerint már annnyira belekavarodtam ,hogy arra gondoltam, a legjobb lenne újrarakni a rendszert..

..és mindent kezdeni előről..

lehet szegény ubuntum-nak se ártana:):S

 

sumo's picture

a külön /home partíció mindig hasznos. de ettől még a ddclient beállítások nem maradnak meg, mert az /etc alatt vannak.

a linux nem windows. és fordítva. ne telepítsd újra a rendszert, felesleges. csak ellenőrizd le az /etc/ddclient.conf fájlt, hogy úgy legyen, ahogyan írtam. az első hozzászólásomban bemásoltam az enyémet. azt másold le, írd bele a jelszavadat és a login nevedet és menni fog.

ja igen: a sudo ddclient parancs kiadása nem jár semmi látható erdeménnyel. ez így természetes, ne várj mást. a megfelelő működést a logban tudod ellenőrizni.

hi

 

Köszi mindenképp megpróbálom, de látom ,hogy te leszel az emberem.:)

Végre valami reménysugár a megoldásra.

a log az hol található?

Msn címed van? PLEASE

thx

sumo's picture

cat /var/log/daemon.log | grep ddclient

valamint használd a ddclient initscriptjét:

indítás:

sudo /etc/init.d/ddclient start

megállítás:

sudo /etc/init.d/ddclient stop

státusz ellenőrzés (fut-e, vagy nem):

sudo /etc/init.d/ddclient status

nincs msn-em bocsi.

re

 

 

 

Igen, köszi, ezeket már tudtam, de közbe el is vesztette a jelentőségét az egész.

2 teljes nap, nem éri meg..

Mindezek után, nagyon szépen köszönöm mindenkinek a segítséget.

Üdv. roland

 

Csak nem hagyott nyugodni a dolog.

:)

újrakezdtem az egészet, és most eddig eljutottam:

 

szappan@szappan-desktop:~$ cat /var/log/daemon.log | grep ddclient
Jun 10 08:43:44 szappan-desktop ddclient[2289]: SUCCESS:  updating HOSTNAME: good: IP address set to 192.168.1.172
Jun 10 08:46:09 szappan-desktop ddclient[7387]: FAILED:   updating HOSTNAME: badauth: Bad authorization (username or password)
Jun 10 08:48:44 szappan-desktop ddclient[2289]: WARNING:  skipping update of HOSTNAME from 192.168.1.172 to 84.3.17.228.

 

Most jó ez így vagy még mindig nem?

még valami:)

Azt írtad ,ha router mögül van valaki akkor még itt kell állítgatni valamit.

nézz már rá légyszives ,hogy így jó e?

 

127.0.0.1    localhost.localdomain localhost
127.0.1.1    szappan-desktop HOSTNAME
192.168.1.172 HOSTNAME

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

 

Köszönöm.

Sziasztok!

 

Nem tudom hegy mennyire aktuális még ez a dolog de leírom az én tapasztalataimat.

 

Nekem hasonló problémám volt, mindent végigcsináltam a leírás alapján de nem működött. Nekem a router nem engedte a működést.

bár igaz hogy a 80 as port engedve van de az én routeremm az úgy működik hogy csak azokat az információkat engedi be ami az én kérésemre érkezik, az ethernet keretben benne van az az információ hogy ki volt kezdeményező, éppen azért hogy a 80 as porton ne tudjak bejutni idegenek a gépbe.

Namármost ha én beírtam a gépem böngészőjébe a címet szépen láttam az oldalamat, de a szomszéd gépről már nem ment. És ahogy átraktam a gépemet DMZónába onnantól faxán működik.

 

 

Sziasztok!

Tudom már lerágott csont, de nekem még mindig nem működik a ddclient progi Debian alatt.

Ha elindítom a progi fut. A ps -def parancsal kiírja meddig "alszik" a következő működésig.

Mindent megcsináltam amit itt leírtatok. generáltam .conf filet. Átírtam a jelszót, bemásoltam a megfelelő helyre megy ddclient start/stop/restart parancs.

Mégis a deamond.log-ban konzekvensen a következő hibaüzenetet kapom:

Sep 16 19:22:26 dyndns ddclient[2516]: WARNING: caught SIGTERM; exiting

Próbálkoztam a router demilitarizált zónájával is, az eredmény ugyan ez a hibaüzenet.

Mit lámázok el?         Segítsetek please!   Laci

sumo's picture

szia.

a legutóbbi helyzet szerint nálam ezzel a konfigurációval működik helyesen:

protocol=dyndns2
use=web, web=dyndns #  web-skip='IP Address'
server=members.dyndns.org
login=felhasznalonev
password=jelszo
regisztralt.domain.com

az /etc/ddclient.conf tartalma összeseny ennyi.

ha a ddclient-et a --v kapcsolóval futtatod, akkor nagyjából kiderülhet, hogy hol a hiba:

sumo@forbidden:~$ sudo ddclient --v
CONNECT:  checkip.dyndns.org
CONNECTED:  using HTTP
SENDING:  GET / HTTP/1.0
SENDING:   Host: checkip.dyndns.org
SENDING:   User-Agent: ddclient/3.8.0
SENDING:   Connection: close
SENDING:   
RECEIVE:  HTTP/1.1 200 OK
RECEIVE:  Content-Type: text/html
RECEIVE:  Server: DynDNS-CheckIP/1.0
RECEIVE:  Connection: close
RECEIVE:  Cache-Control: no-cache
RECEIVE:  Pragma: no-cache                                                                                                                  
RECEIVE:  Content-Length: 105                                                                                                               
RECEIVE:                                                                                                                                    
RECEIVE:  <html><head><title>Current IP Check</title></head><body>Current IP Address: 12.34.56.789</body></html>                           
SUCCESS:  regisztralt.domain.com: skipped: IP address was already set to 12.34.56.789.                                                    
sumo@forbidden:~$

üdv

Szia!

Köszi a leírtakat. megcsináltam amit írtál. Nekem ez került a log-ba. Szinte betűről betűre ugyan az mint amit küldtél, csak azok a #015-ök mások a sorok végén. Ez jelenthet valamit? Becopyzom ide is, hátha neked többet mond. Sajnos nekem nem segített :-( Ott a legutolsó sor az ami nem tetszik. Azt nem írtam az előző levelemben, hogy router mögött vagyok.

Sep 17 20:02:11 dyndns ddclient[2133]: CONNECT: checkip.dyndns.com
Sep 17 20:02:11 dyndns ddclient[2133]: CONNECTED: using HTTP
Sep 17 20:02:11 dyndns ddclient[2133]: SENDING: GET / HTTP/1.0
Sep 17 20:02:11 dyndns ddclient[2133]: SENDING: Host: checkip.dyndns.com
Sep 17 20:02:11 dyndns ddclient[2133]: SENDING: User-Agent: ddclient/3.7.3
Sep 17 20:02:11 dyndns ddclient[2133]: SENDING: Connection: close
Sep 17 20:02:11 dyndns ddclient[2133]: SENDING:
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: HTTP/1.1 200 OK#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Content-Type: text/html#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Server: DynDNS-CheckIP/1.0#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Connection: close#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Cache-Control: no-cache#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Pragma: no-cache#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: Content-Length: 105#015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: #015
Sep 17 20:02:11 dyndns ddclient[2133]: RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: 94.21.146.101</body></html>#015
Sep 17 20:02:12 dyndns ddclient[2133]: SUCCESS: laciftp.homelinux.org: skipped: IP address was already set to 94.21.146.101.
Sep 17 20:03:28 dyndns ddclient[2133]: WARNING: caught SIGTERM; exiting

sumo's picture

router nálam is van, ez nem probléma.

viszont elsőre nem tudom mit jelentenek azok a sorok végén, utána kéne nézni.

ettől függetlenül úgy fest, hogy a frissítés maga hiba nélkül lezajlik.

Szia!

Tényleg nem aharok visszaélni a segítő szándékoddal, de kérlek arról még írj pár sort, hogy ez az utolsó sor a logban mit akar nekem  üzenni. Erre gondolok: WARNING: caught SIGTERM; exiting

Köszi mégegyszer!     Laci

CyB's picture

Ebből nekem az tűnik ki, hogy nem jó a hostnév amit beirtál a config fájlba, vagy a felhasználó/jelszó páros...

Már vagy ezerszer ellenőriztem, és sajnos jól van beírva..

 

Neked sincs msn-ed?

ez a 3. teljes nap, hogy ezzel szenvedek...:SSSSSSSSSSSSSSSSSSSSS

sumo's picture

Szia.

Írd át a konfig fájlodat. Nem jó, valszínűleg azért nem működik.

Ott van fentebb, az első hozzászólásomban, hogy hogyan is kellene kinéznie.

A tiéd az eredeti, telepítés közben létrejött fájl. Már a leírásban is írtam, hogy ez nem lesz jó.

In the spirit of Digital Freedom you can use and quote any content found here for no cost but by mentioning the source and the url for this site. With all of this, the maintainers of the homepage keep their copyright for the materials here. [Contact us]
© Elite Hub, 2002-2012 - Powered by Drupal - Valid XHTML