Dinamikus DNS használata DDClient programmal

A legtöbb szolgáltató nem fix IP címet ad, hanem dinamikusat. Ez azt jelenti, hogy időről időre megváltozik az IP címed. Hogy el tudd érni a gépedet távolról, ahhoz meg kellene a fix IP cím. Vagy legalábbis ismerni kéne, hogy mi éppen az aktuális IP címed amin eléred az otthoni gépedet. Persze vehetsz FIX IP címes üzleti előfizetést is, ha akarsz. Hát én nem fogok. :) 

Bonyolódik a helyzet, ha otthon egy szervert üzemeltetsz és tartozik hozzá domain is (pl akármi.hu), amit szeretnél mások számára is elérhetővé tenni. A domain szolgáltatódnál beállíthatod, hogy éppen hová milyen IP címre mutasson a domain. Sajnos minden IP cím változás után aktualizálni kell az adatokat. Az adatok frissítése a DNS-ben pedig sok időt vesz igénybe.

Erre találták ki a routerekben azt a funkciót, ami általában DDNS (Dynamic DNS) név alatt találhatsz. Ennek az a lényege, hogy regisztrálsz egy fizetős, vagy ingyenes szolgáltatónál egy másik domain címet pl akármi.másik.com és a routeredet beállítod, hogy az akármi.másik.com-os domain szolgáltatónál frissítse az IP címedet. Így az akármi.másik.com címhez mindig az aktuális IP címed fog tartozni. Ez a legtöbb esetben elegendő. Ha el akarod érni az otthoni szerveredet, akkor beírod egy parancssorba, hogy ping akármi.másik.com és máris láthatod a hozzá tartozó IP címet, amin keresztül már el tudod érni a gépedet. Ez a megoldás otthonra már elegendő. Sőt! Kicsit többre is, ha téged kielégít a akarmi.másik.hu domainnév, hiszen ez is elegendő egy egyszerű weboldal üzemeltetéséhez.

Csakhogy ez kevés ahhoz, hogy ha neked van egy hivatalosan megvásárolt domain címed, amit szeretnél elérni és azt szeretnéd, hogy mások is elérjék.

Ha te azt szeretnéd, hogy a hivatalosan megvásárolt akármi.hu címed legyen elérhető bárki számára akkor bűvészkedni kell. Viszonylag könnyű megoldani. Fel kell vegyél az akármi.hu domain szolgáltatódnál egy CNAME rekordot ami az akármi.másik.com domainre mutat. Ha ez megtörtént, akkor ha valaki meghívja az akármi.hu címet, akkor tovább lesz küldve a kérése a másik.akármi.com címre, ahol már ismert az IP címed és voálá megtörténik a névfeloldás, elérik a honlapodat. A levelezéshez szükséges MX rekorddal hasonló a helyzet. A CNAME bűvészkedést nem írom le ennél részletesebben, mert a beállítások szolgáltatónként eltérhetnek, így nincs értelme kifejteni. Nézz utána a szolgáltatódnál, meg a DNS beállítással kapcsolatos leírásokban, hogy hogyan is működik a dolog!

A router gyártók már régen felismerték a problémát, ezért jobb esetben beépítettek egy csomó DDNS szolgáltatót a routerbe. Általában annyi a dolgod, hogy regisztrálsz egy ingyenes domain címet valamelyik DDNS szolgáltatónál, (mint fentebb írom) aztán a szükséges adatokat megadod a routeredben a megfelelő helyen és már kész is. Egy időben a legnépszerűbb ingyenes szolgáltató a DynDNS volt. Aztán a cég átavanzsált fizetőssé, a router gyártók meg jól elfelejtkeztek róla, hogy egyéb alternatívák is léteznek. Előállt az a felemás helyzet, hogy a router beállításai között többnyire csak olyan szolgáltatót lehet kiválasztani amely szolgáltatása fizetős.

Szerencsére a routeremben volt egy lehetőség ami a NO-IP szolgáltatására hivatkozott. Ez faszán működik is. Csakhogy havonta lejár a domainév és mindig manuálisan kell megújítani. Ha nem akarod, hogy lejárjon, akkor venni kell egyet ott helyben és évente meghosszabbítgatni. Áááááá! Pont ezt akarom elkerülni, mert irtózom a vásárlás gondolatától is. Kicsit unom, hogy mindenhol fizetni kell.

Szóval nem sok választási lehetőség marad a router konfigurációs lehetőségei miatt. Csendesen megjegyezném, hogy nemrég kiderült, hogy az Internet szolgáltatómnál (akit nem nevezek nevén de U val kezdődik és 3 betűs. Ki fogod találni.) gombokért lehetne igényelni egy fasza gigás routert. 2400 HUB (hungarianbuznák) körül kihozzák házhoz. Ha elromlik cserélik. Véletlen egy rokonomnak is van ilyen és jól körbeszaglásztam. Mélyen megdöbbentett amit tapasztaltam. Elképesztő, hogy kihozzák házhoz, és mindenféle beállítás nélkül egy 8 karakteres (HAHAHA! Amiből az első kettő kitalálható. HIHIHI! Marad 6 karakter a szomszéd Pistikének amit fel kell törni. Bazza!!! Kb 10 perc alatt meg is töri a hálózatot.) jelszóval és alapértelmezett admin-admin felhasználónév-jelszó párossal tesznek ki hozzád. Ha már feltörik a hálózatodat 10 perc alatt, akkor legalább ne kelljen gondolkodnia a router feltörésén. Csóri 65+ rokonom hogy a majomba tudná kitalálni, miért nem tud netezni, amikor a szomszéd Pistike rajta keresztül nyomja a torrentet? Agyrém.

Na! Kicsit elkalandoztam. Szóval ezt a jóféle gigás routert úgy rakják ki hozzád ahogy van, és van benne DDNS szolgáltató. Ja! 1 darab. Mily meglepő módon csak a DynDNS fizetős szolgáltatását választhatod. Szóval e leírás azoknak is segíthet, akiknél ilyen routert tett le szolgáltatójuk.

E hosszas bevezető után csapjunk a lecsóba!

Figyelem! A leírás Ubuntu Linux 12.04 LTS szerver operációs rendszerhez lett készítve!

A problémánkon egy apró program tud segíteni. Ennek neve DDClient. Első lépésként regisztrálj egy domain nevet egy ingyenes szolgáltatónál. Rátaláltam a Dnsdynamic. org oldalra. Teljesen ingyenesen tudsz regisztrálni két ingyenes domain címet, ami pont megfelel a célnak. A példában az érthetőség kedvéért az akármi.másik.com nevet fogom rá használni. Ha van vásárold domain neved erre az akármi.másik.com névre kell majd a CNAME rekordot létrehoznod. A vásárolt domain neve a példában akármi.hu lesz.

DDClient telepítése

Telepítsük a programot.

sudo apt-get install ddclient

A telepítés során paramétereket kell megadni. A DDClient Konfigurálása ablakban az Other lehetőséget kell kiválasztanod.

A Dynamic DNS server-nek az akármi.másik.com domain szolgáltató nevét kell megadni. Ez esetünkben: www.dnsdynamic.org Nem nagy csoda, hiszen ez a cím kezeli a dinamikus IP címedet.

A protokollnál a DYNDNS2 szbványt kell kiválasztani.

A username résznél add meg a www.dnsdynamic.org regisztrációnál megadott e-mail címet.

A password-ra is a www.dnsdynamic.org oldalon megadott jelszót kell megadni.

A network interface alatt a hellyes válaszhoz bűvészkedni kell egy kicsit. Nyiss egy másik terminál ablakot és a add ki az ifconfig parancsot. 

Azt a részt kell keresni ahol az inet addr résznél érvényes IP cím van megadva. Annak az interfésznek a nevére van szükség. Pl eth0. Figylej oda, hogy a lo interfész neked nem lesz jó. Ha wifi, vagy más kapcsolaton keresztül kapcsolódsz, akkor lehet más az interfész neve. Pl wlan0.

Jó eséllyel interfésznek az eth0-t kell megadnod.

 A DynDNS fully qualified domain names részhez írd be az akármi.másik.hu domain nevet. Ez az amit a dnsdynamic.org oldalon regisztráltál.

 

DDClient konfigurálása 

Már elvégezted a beállítások oroszlánrészét. A konfiguráció ennek dacára nem teljes, ezért kicsit még konfigurálni kell a DDClient konfigurációs állományában. Használd a kedvenc szövegszerkesztőd. Itt a VIM-et fogom használni, de használhatsz Nanót, vagy bármi mást is.

sudo vim /etc/ddclient.conf

use=if, if=eth1 sort kommenteld ki.

#use=if, if=eth1

Írd alá. Vagy a helyére.

use=web, web=myip.dnsdynamic.org, web-skip=

 

A szöveg elejére be érdemes még beírni pár sort attól függően, hogy mit szeretnél.

# A frissítési időköz. Ennyi másodpercenként fogja az IP címet szinkronizálni a szolgáltatóval.
daemon=600
# Bejegyzést készít a /var/log/syslog alá.
syslog=yes
# Levelet küld a root-nak a frissítések eredményéről.
mail=root
# A hibaüzenetek mennek a root-nak.
mail-failure=root
# PID paraméterek.
pid=/var/run/ddclient.pid
# SSL-t használjon a szinkronizációra.
ssl=yes

 

Minta konfiguráció

Egy teljes konfiguráció kb így néz ki:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
daemon=600
syslog=yes

mail=root
mail-failure=root
pid=/var/run/ddclient.pid
ssl=yes

protocol=dyndns2
#use=if, if=eth1
use=web, web=myip.dnsdynamic.org, web-skip=
server=www.dnsdynamic.org
login=neved@akármi.hu
password='Jelszó'
#use=ip, ip=1.2.3.4
akármi.másik.com

 

Szervizek újraindítása és hibakezelés

Mentsd el a változtatásokat és indítsd újra a szervizt.

sudo /etc/init.d/ddclient restart

Ezzel meg is volna a beállítás. Ha rendetlenkedik a DDClinet, akkor email üzenetet küld a root-nak. Sajna nekem nem ment minden simán. Kellett egy újraindítás is, és kicsit bűvészkedni kellett hozzá. Van egy sor a konfigurációban amit nem fejtettem ki és ki van kommentezve. Íme:

#use=ip, ip=1.2.3.4

Mindjárt elmagyarázom. Csak előtte egy kis kiegészítés következik, hogy értsd a magyarázatot. A DDClient úgy működik, hogy első lépésben meghatározza az IP címedet. Ezt úgy teszi, hogy meghívja a http://myip.dnsdynamic.org/ oldalt. Ha beírod ugyanezt a böngésződbe, akkor megkapod az aktuális IP címedet. Ez valójában a use=web paraméter a konfigurációban.

Az use=ip sorban viszont te mondod meg a szolgáltatódnak, hogy mi az aktuális IP címed. Nekem úgy indult el a konfiguráció, hogy először kikommenteltem a use=web sort és kivettem a kommentet a #use=ip, ip=1.2.3.4 sor elől.

 

A DDClient újraindítása után a szolgáltató oldalán bejelentkezve a akármi.másik.com domain mellett a 1.2.3.4 IP címet láttam.

sudo /etc/init.d/ddclient restart 

Ez semmiképpen nem jó. Visszaraktam a kommentet az use=ip sor elé és kivettem a kommentet az use=web sor elől. És újra lefuttattam a DDClient újraindításához szükséges parancsot és máris megfelelően működött.

sudo /etc/init.d/ddclient restart

A felsőszintű DNS szolgáltatóknál a domain és a hozzá tartozó IP cím adatok frissítéséhez időre van szükség. Esetenként pár perc, de mire a teljes Interneten frissülnek a DNS adatok, az szélsőséges esetben akár 1 nap is lehet.

 

Ellenőrzés 

Ellenőrizd a beállításokat! Az alábbi parancsok lehetnek hasznodra. A használatukhoz nézd át a man oldalukat!

A ping paranccsal lekérdezheted a domain ip címét.

ping akármi.hu
ping akármi.másik.hu

A curl parancs segítségével is kaphatsz információkat az oldaladról

curl akármi.hu
curl akármi.másik.hu

A dig parancs is hasznodra lehet.

dig akármi.hu
dig akármi.másik.hu

 

Ellenőrzés kívülről

Ha kívülről akarod ellenőrizni a beállításokat, akkor nem kell átkéredzkedned a szomszédba Pistike gépére (Felesleges mert úgyis a Te Nettedet használja.) és nem is kell feltörni Kovácsék Wifijét (Pistikétől elég elkérni a jelszót.). Online is megteheted. Csak néhány példa. Egy egyszerű Google kereséssel rengeteg hasonló oldalt találhatsz.

Példák a teljesség igénye nélkül.

Curl

http://onlinecurl.com/

Dig. Itt még az MX rekordot is le tudod kérdezni.

http://digwebinterface.com/

Ping

http://ping.eu/

Amit figyelned kell:

  1. Az akármi.hu lekérdezésre a szolgáltatód válasza kell megérkezzen.
  2. A másik.akármi.com lekérdezésére a Dnsdynamic.com kell válaszoljon aminek a végén az itthoni dinamikus IP címed van. Diggel lekérdezve kell lássad a CNAME rekordot is!

Összefoglalva.

A www.akármi.hu Diggel lekérdezve valami hasonlót kellene visszaadjon:

www.akarmi.hu@8.8.4.4 (Default):
www.akarmi.hu. 3600 IN CNAME akarmi.masik.com.
akarmi.masik.com. 60 IN A x.x.x.x (Otthoni címed)

Pinggel is lekérdezheted a címeket. A névfeloldásnak meg kell történnie és látnod kell a címhez tartozó IP címeket is.  

ping akármi.hu = Szolgáltatód címe.
ping akármi.másik.com = DDNS szolgáltatód címén keresztül az otthoni IP címed.

A curl segítségével pedig a weblapodat tudod lekérdezni.

 

Bízom benne, hogy a leírásom segítségével meg tudsz spórolni egy kis lóvét, amiből tudsz venni Pistikének egy nyalókát. :P