Hogyan állítsunk be másodlagos névszervert, ha csak egy IP-címmel rendelkezünk

botond küldte be 2018. 04. 26., cs - 11:27 időpontban

Tartalom

 

Bevezető

Ebben a leírásban mutatom be, hogyan tudunk "beüzemelni" egy új domain nevet saját szerverünkön, ha csak egy darab IP-címmel rendelkezünk. A beüzemelés alatt itt a domain név névszerver alapú átirányítását értem, amikor az egész DNS zónát magunk kezeljük a szerverünkön.

Adott tehát egy dedikált szerver és hozzá egy darab fix IP-cím. Ezen szeretnénk weboldalakat üzemeltetni domain neveink átirányításával, amivel első ránézésre nem is lenne semmi baj. Feltelepítünk valamilyen szervert (erről másik cikkben írok), majd ráirányítjuk a domain nevet. Csakhogy itt van egy kis gond. A domain nevek szabályos működéséhez legalább kettő névszerver szükséges, amik nem lehetnek ugyanazon a hálózaton. Tehát nemcsak hogy nem használhatjuk ugyanazt az egy szem IP-címünket, hanem a két névszerver nem lehet ugyanabban a /24 címtartományban sem. Ellenkező esetben a Regcheck domain ellenőrző rendszer hibát fog dobni. Mit tegyünk ilyenkor? Hogyan indítsuk el új weboldalunkat saját szerverünkön? Szerencsére van erre tökéletes megoldás. 

Amikor ennek a szervernek elkezdtem az üzemeltetését, pontosan ezzel szembesültem, mikor el akartam indítani rajta az első weboldalam. Akkor még abszolút kezdőként megizzasztott a feladat, mert egy másik szolgáltatónál lejáró VPS szerverről kellett átköltöztetnem a weboldalt erre a szerverre, ahol már az első havi díj is ki lett fizetve. Így tehát az óra ketyegett, 1-2 napon belül kellett egy megoldás erre a problémára, amire egyáltalán nem is számítottam. Ekkor már az ISPConfigos tökéletes szerverkörnyezetet feltelepítettem a rendelkezésre álló leírások alapján, de ott álltam a problémával amit gyorsan meg kellett oldanom. Szerencsére időben megtaláltam a megoldást, és azóta már több weboldal is működik hibátlanul ezen a szerveren, ennek a módszernek a segítségével – így már mondhatom, hogy ebben rutinos vagyok.

Itt mutatom be lépésről lépésre hogy ennek a weboldalnak a domain-jét hogyan üzemelem be ezen a szerveren. Bár időrendben előbb a szerver feltelepítését kellett volna leírnom, de már időszerűvé vált az oldal "megnyitása". És ha már úgy is meg kell ezt csinálnom, akkor készítek belőle egy leírást. Másfelől pedig később már teljesen mindegy lesz, hogy melyik cikk készült el előbb.

A leírás feltételezi, hogy vagy a Debian 8 (Jessie) tökéletes szerver vagy pedig a Debian 9 (Stretch) tökéletes szerver fel van telepítve, tehát az ingyenes ISPConfig kezelőpanel is rendelkezésre áll. Amint elkészülők egy ilyen leírással, ide is belinkelem.

Természetesen ez a módszer működik más web hoszting kezelőpanel esetén is, ahol lehet a DNS zónákat kezelni.

 

 

A kezdet

Vannak regisztrátorok, akik a frissen regisztrált domaineket parkoltatják valamilyen saját promóciós felületükön, reklámokat jelenítenek meg, és van olyan is hogy nincs sehova irányítva a cím. Az én esetemben az utóbbi a helyzet, tehát eddig még nincs sehova irányítva a linuxportal.info cím. A regcheck ilyenkor a következő kimenetet adja:

A(z) linuxportal.info domain nem felel meg. Kérjük javítsa a konfigurációt.
Az egyes hibák részletes leírása itt található.
Kérjük, ha bármi megjegyzése van, írjon a hostmaster@.....hu címre.
Az ellenőrző procedúra outputja: 
............................................................................... 
M-GREET -I- [linuxportal.info] Domi version 20170905 at 2018-04-25.00:27 
M-STAR -I- [linuxportal.info] NS parameter not given, getting it from DNS 
M-PRIF -E- [linuxportal.info] Cannot get domain data ( )    Magyarázat 
...............................................................................

 

DNS zóna létrehozása

Legelőször létre kell hoznunk a szerveren a DNS zónát. Ehhez lépjünk be a webhosting control panelünkbe adminként (én az ISPConfiggal mutatom be), és hozzunk létre egy DNS zónát a domain név és a webtárhely számára:

ISPConfig - DNS - DNS zónák

Itt kattintsunk az "Add new DNS Zone with Wizard" feliratú gombra. Ekkor előjön a DNS zóna varázsló:

ISPConfig - DNS - Új DNS zóna létrehozása

Itt töltsük ki a mezőket az alábbi módon:

  • Template: Hagyjuk alapértelmezetten
  • Server: Válasszuk ki a szerverünket a legördülőből.
  • Client: Ha a cél webtárhelyet egy ügyfél alá hoztuk létre, akkor itt állítsuk be a megfelelő ügyfelet. De ha az adott ügyfél felhasználójával lépünk be, akkor ez automatikusan beállítódik.
  • Domain: Adjuk meg az új domain nevünket (www nélkül). Nálam ez a linuxportal.info.
  • IP cím: A mezőre kattintáskor a rendszer felajánlja a szerver IP-címét, válasszuk ki.
  • NS 1: Itt állítsuk be így: ns1.<domain>.<tld>. (nálam: ns1.linuxportal.info)
  • NS 2: Itt adjuk meg az ns2.<domain>.<tld> -t. 
  • Email: Itt a webmaster@domainnev.tld -t szokás megadni. Erre később ügyeljünk, hogy létre is kell majd hozni a fiókot.
  • DKIM: Ez fixen be van állítva, így nincs vele teendő
  • Sign zone (DNSSEC): Ha a domain nevünkhöz vásároltunk DNSSEC-et, akkor jelöljük be

Ha minden megvan, mentsük az űrlapot. Ezután az ISPConfig beteszi az időzítőjébe a műveletet, fent megjelenik a piros kör, benne egy 8-as számmal (8 művelet a várólistában: 1 zóna fájl és benne 7 automatikusan létrehozott rekord). Tehát a következő cron ciklusban (percenként fut le) létrehozza a zónát és benne az alap rekordokat. Várjuk meg amíg eltűnik a piros kör. Eddig tehát megvan a DNS zónánk, egyelőre még nincs vele teendő.

 

Másodlagos DNS szolgáltatás igénybevétele

Most jön ennek a leírásnak a kulcsfontosságú része, az ingyenes másodlagos DNS szolgáltatás igénybevétele.

Sok szolgáltató is van erre célra, én annak idején a BuddyNS nevű oldalra találtam rá és mindegyik itt lévő domainemnél ezt használom.

 

Amit érdemes tudni róluk, hogy havonta 300.000 DNS lekérést biztosítanak ingyenesen fiókonként. Egy fiókban bármennyi zónát létrehozhatunk. Ezek a lekérések nem egyenértékűek a weboldal oldalletöltéseivel, hanem amikor a DNS szerverek frissítik a zónáikat, vagy éppen valamiért nem érhető el az elsődleges DNS szerver, akkor történik még lekérés tőlük. A másik kis forgalmú oldalaimnál (darabonként) olyan havi 45-60 ezer lekérést mér a rendszer (a 300 ezres limitből), tehát még bőven beleférek. Viszont célszerű minden újabb domainnél újból beregisztrálni pont emiatt, hogy ne adódjanak össze, hanem ki tudjuk használni a fiókonkénti ingyenes keretet.

 

Röviden, a szolgáltatás működésének a lényege annyi, hogy a saját szerverünkön a DNS zónában engedélyezzük a zóna transzfer opciót, amivel lehetővé tesszük hogy a megadott IP-címekről ez a névszolgáltató lekérheti a DNS zónánkat. Ekkor az ő szerverük lemásolja a zónát, és beteszi a saját DNS szervereibe, amik a világ több pontján is el vannak helyezve. Így biztosítják a távoli másodlagos névszervert.

Kezdjünk is hozzá. Regisztráljunk be az oldalra az Activate now linkre kattintva a főoldalukon.

BuddyNS - Regisztráció

Az első mezőbe adjuk meg az email címünket, a másodikba a domain nevünket, a harmadikba pedig a szerverünk IP-címét. Ezután az ACTIVATE NOW gombra kattintva egyből meg is jött az email az üdvözlő szöveggel, és benne a kapott jelszóval. Lépjünk is be az új fiókunkba.

 

BuddyNS - Fiók

Jobb fent a ZONES menüre kattintva átkerülünk a zóna információs oldalra.

BuddyNS - Zóna adatok

Itt elsőre írja a hibákat, és egyben a teendőket, hogy mit kell végrehajtanunk a sikeres működéshez. Három hibát ír ki az oldal jobb felén lévő kis paneleken. Haladjunk végig a teendőkön.

 

 

1. hiba/teendő: Zóna kiolvasása sikertelen

"Could not fetch zone from <IP-címünk> See AXFR setup to fix this."

Ez annyit jelent, hogy nem fér hozzá a szerverünkön lévő zónához, így engedélyeznünk kell a zóna transzfert. Ide is belinkeltem a hibaüzenetben lévő linket, kattintsunk rá. Ekkor bejön egy "ENABLE AXFR TRANSFER TO BUDDYNS" című oldal, ahol bal oldalon fel vannak sorolva a különbözö kontrol panelekhez az integrációs megoldások. Itt ki kell választani a számunkra megfelelőt. Én az ISPConfig-ot használom, így ennek mutatom be a leírását, a többit nem próbáltam.

Az ISPConfig nincs rajta ezen a listán, ezért görgessünk lejjebb, és kattintsunk az Other menüpontra.

BuddyNS - Zóna transzfer adatok

Itt látunk sok IP-címet, amik között vannak IPv6-os címek is. Másoljuk ki ezeket a címeket, és pl. notepadban állítsuk őket össze egy vesszőkkel elválasztott sorba:

Frissítés (2019-03-25)!
Néhány napja a BuddyNS emailban értesített, hogy ez a névszerver lista megváltozik (infrastruktúra változtatások), így a frisseket használjuk.
Akik esetleg már a régi címekkel elkészítették a leírás alapján a beállításokat, azoknak el kell végezni ezt a módosítást.
A következő kép tehát már a friss címeket tartalmazza. A többi érintett képernyőképet már nem módosítom.

 BuddyNS - Frissített névszerverek listája (2019-03-25)

Ha a szerverünk nem rendelkezik IPv6-os címmel, akkor hagyjuk ki őket!

Lépjünk be az ISPConfigba. Itt menjünk a DNS főmenübe, utána válasszuk ki a megfelelő DNS zónát. Itt görgessünk kicsit lejjebb:

ISPConfig - Zóna transzfer beállítása

A képen látható módon másoljuk be ezt az összeállított sort az ISPConfig "Allow zone transfers to these IPs (comma separated list)" mezőjébe, majd mentsük le. Fent megjelenik a piros kör, várjuk meg amíg elvégzi a módosításokat.

Itt most engedélyeztük a BuddyNS szervereinek, hogy lekérhessék a DNS zónánkat. Menjünk vissza a BuddyNS oldalára, ahol a hibaüzeneteket láthattuk.

2. hiba/teendő: A zónánkban nincs deklarálva a BuddyNS névszervere

Hibaüzenet:
"Zone <domainnevünk> does not declare BuddyNS as a nameserver. Clients query BuddyNS only if the registry does, making delegation inconsistent. See NS setup to fix this."

Kattintsunk a hibaüzenetben lévő linkre, ami átvisz a névszerverek kiválasztásához:

BuddyNS - Névszerverek kiválasztása

Itt mutatja a rendelkezésre álló névszervereiket. Ha rákattintunk a lenti gombra, akkor ezek közül ajánlani fogja nekünk a legközelebbieket. Lejjebb görgetve a leírásokban 3 névszervert ajánl, hogy annyi az optimális. Ebből az első ugye a saját szerverünk, tehát innen kell még két közelebbi névszervert választani. Én a hollandot és a németet választom:

j.ns.buddyns.com
c.ns.buddyns.com

Menjünk vissza az ISPConfigba, és ott lépjünk be a DNS zónába, majd a panel tetején lévő Rekordok fülre. Itt láthatjuk az ISPConfig által automatikusan létrehozott rekordokat, ami jelenleg nálam így néz ki:

ISPConfig - DNS zóna - Rekordok

Ezeket a rekordokat kell kibővíteni pár újabb rekorddal, hogy utána így nézzen ki a zónánk:

-----------------------------------------------------------------------------------
TYPE	NAME						DATA							PRIORITY	TTL
-----------------------------------------------------------------------------------
A		mail.linuxportal.info.		178.238.222.66					0			3600	megvan
A		linuxportal.info.			178.238.222.66					0			3600	megvan
A		ns1.linuxportal.info.		178.238.222.66					0			3600
A		www							178.238.222.66					0			3600	megvan
MX		linuxportal.info.			mail.linuxportal.info.			10			3600	megvan
NS		linuxportal.info.			c.ns.buddyns.com.				0			3600
NS		linuxportal.info.			ns1.linuxportal.info.			0			3600	megvan
NS		linuxportal.info.			j.ns.buddyns.com.				0			3600
TXT		linuxportal.info.			v=spf1 mx a ~all				0			3600	megvan

Pirossal emeltem ki a hiányzó rekordokat, amiket még létre kell hozni, összesen négy darabot. Itt most nem készítek minden panelről képet, mert nagyon sok lenne. Tehát egészítsük ki a zónánkat a hiányzó rekordokkal. Természetesen mindenki a saját domain nevével és szerverének IP-címével. Ha a szervernek van IPv6-os címe, akkor van egy "AAAA" rekord is, ezt az ISPConfig ugyanúgy felajánlja bevitelkor. Amennyiben nincs IPv6-os címünk, akkor hagyjuk ki.

Itt ügyeljünk rá, hogy a rekord bevitelénél a Hosztnév mezőben a domain név után .-ot kell tenni. Tehát ahol a teljes domainünket adjuk meg, ott ponttal kell végződnie!
Továbbá az alapból létrehozott ns2 rekordot vagy töröljük, vagy ezt módosítsuk valamelyik buddyns-es névszerverre. Tehát a lényeg, hogy összesen 3 ns rekordnak kell lennie:
  • ns1.domainnevünk.tld.
  • c.ns.buddyns.com.
  • j.ns.buddyns.com.

Várjuk meg, amíg az ISPConfig elvégzi a kért műveleteket (piros kör). Ha mindennel megvagyunk, menjünk vissza a BuddyNS állapot oldalára, majd frissítsük F5-el:

BuddyNS - Zóna állapot

Így már sokkal jobban fest a dolog. Az előző hibát még kijelzi, de ez már csak a domain név átirányításával fog eltűnni az utolsó hibával együtt.

 

3. hiba/teendő: Domain átirányítása

Utolsó feladatként lépjünk be a domain nevünk regisztrátorának kezelőfelületére, majd ott irányítsuk át a domainünket névszerver átirányítással. Itt adjuk meg a három névszervert:

  • 1. névszerver: szerverünk IP-címe. Itt fontos, hogy a szerver IP-címét adjuk meg, ne az ns1.domainnév.tld-t, mivel még a domain nevünk ismeretlen a névszerverek számára.
  • 2. névszerver: c.ns.buddyns.com
  • 3. névszerver: j.ns.buddyns.com

Itt nem kell pontokat tenni a nevek végére.

Most pedig várni kell, amíg a netszolgáltatók névszerverei frissülnek, és átveszik az új adatokat. Ez szolgáltatónként változó. 1-2 óra között át szokott frissülni mindenhol. Közben figyelgethetjük a regchecket, ott fogjuk látni a munkánk eredményét.

 

 

Email fiókok létrehozása

Korábban a domain név átirányítása előtt lefutó ellenőrzési folyamat megakadt, hogyha nem rendelkeztünk egy postmaster@domain.tld nevű postafiókkal. Ez volt a szabály, tehát kellett egy ilyen postafióknak lennie.

Most a beállítások elvégzése közben ráakadtam egy cikkre, ahol írták hogy már nem szükséges a postmaster fiók megléte az átirányításhoz. Forrás.

Ezért ezt a lépést direkt a végére hagytam, mert kíváncsi voltam hogy tényleg működik-e az átirányítás a fiók nélkül. És valóban, az átirányítás sikeresen megtörtént. Tehát már nem szükséges a postmaster fiók. Sőt, még a DNS zónában megadott webmaster címet sem látom a regcheckben. Korábban ezeket is ki szokták írni.

Mindezt csak úgy érdekességképpen írtam le, ezzel a történettel ismét tanultam egy új dolgot.

 

Végeredmény

Végül befrissültek a DNS-ek, és bejön az oldal.

Az eredmények:

BuddyNS - Sikeres állapot

A BuddyNS felületén tehát így néz ki a hibátlan állapot.

És a regcheck pedig:

Domain ellenőrzés eredménye
Gratulálunk, a(z) linuxportal.info domain konfigurációjában nem talált hibát az ellenőrző procedúra.
Kérjük, ha bármi megjegyzése van írjon a hostmaster@....hu címre.
Az ellenőrző procedúra outputja: 
............................................................................... 
M-GREET -I- [linuxportal.info] Domi version 20170905 at 2018-04-26.10:43 
M-STAR -I- [linuxportal.info] NS parameter not given, getting it from DNS 
M-PNAM -I- [linuxportal.info] NS name: ns1.linuxportal.info 
M-PADD -I- [linuxportal.info] NS addr: 178.238.222.66 
M-ROK -I- [linuxportal.info] SOA parameters comply with RIPE 
M-NS -I- [linuxportal.info] A records for DNS servers: 
addr of NS ns1.linuxportal.info.: 178.238.222.66 
addr of NS c.ns.buddyns.com.: 88.198.106.11 
addr of NS j.ns.buddyns.com.: 185.34.136.178 
IPV6 addr of NS j.ns.buddyns.com.: 2A00:DCC7:D3FF:88B2:0:0:0:1 
IPV6 addr of NS c.ns.buddyns.com.: 2A01:4F8:D12:D01:0:0:10:4 
M-CSOA -I- [linuxportal.info] checking SOA at: ns1.linuxportal.info, 178.238.222.66 
M-CSOA -I- [linuxportal.info] checking SOA at: c.ns.buddyns.com, 88.198.106.11 
M-CSOA -I- [linuxportal.info] checking SOA at: j.ns.buddyns.com, 185.34.136.178 
M-TRNO -I- [linuxportal.info] skipping traceroute, servers on diff nets 178.238.222.66 88.198.106.11 
M-TRNO -I- [linuxportal.info] skipping traceroute, servers on diff nets 178.238.222.66 185.34.136.178 
M-NSC -I- [linuxportal.info] checking NS records ... 
M-SGET -I- [linuxportal.info] getting data from 88.198.106.11 c.ns.buddyns.com ... 
M-SGET -I- [linuxportal.info] getting data from 185.34.136.178 j.ns.buddyns.com ... 
M-OK -S- [linuxportal.info] All's well............ that ends well.................
...............................................................................

Ez is tökéletes.

 

Ennyi volna tehát a külső DNS szolgáltatással történő másodlagos névszerver beállítása.

 

A leírásban megjelent domain nevek, IP-címek, konfigurációs beállítások és egyéb információk bárki számára hozzáférhető nyilvános adatok, közzétételük nem sért semmilyen jogszabályt.