Másodlagos DNS, automatikusan

Estét Urak!

Lehet-e olyat csinálni, hogy BIND (vagy valami más?) automatiksan átvegye konfigot elsődleges DNS-től, ne kelljen ehhez konfig fájlokat szerkesztgetni?
1,) beállítom NS1-et
2,) futtatok regchecket pl domain.hu -n vagy ripe-on
3,) ha még nincs konfig NS2-n, akkor automatikusan húzza át NS1-ről

Van vagy 3-4 LAMP szerver, ezekhez nem szeretnék további 3-4 DNS2 szervert - ezt szerintem egy "közös" gép is ki tudná szolgálni nekik, ugyanakkor hosszú távon az sem járható, hogy minden egyes alkalommal manuálisan vigyem fel az új domaint NS2-re is. Köszi!

Hozzászólások

LDAP lehet, hogy nem, de MySQL backend-el megy szépen. Évekig használtam 6-8 évvel ezelőtt - azóta csak kifinomultabb lett a MySQL master-slave szinkronja.

Annyi, hogy legtöbb disztribúciónál a DLZ opció nincs beleforgatva a Bind csomagba, ezért forrásból kell fordítani.

-------------------------------^v-----------------------------------
"Probléma esetén nyomják meg a piros gombot és nyugodjanak békében!"

Vagy lehet mondjuk generálni adatbázisból mindegyik konfig fájlt.

PowerDNS tudja, supermaster funkciója révén, kb sose kell piszkálni. Legalábbis SQL backenddel biztosan.

Fedora 22, Thinkpad x220

Bár egészen nem tiszta mit szeretnél, de nekem leginkább DNS-Proxy-nak tűnik amit akarsz és akkor PDNSD a barátod. Ha bele vannak confolva a azok a dns-ek amiket használni akarsz, akkor megcsinlja amit szeretnél.

----
올드보이

Látod a smiley-t a sor végén? :)
Viccet félretéve: Ha ő kezeli NS1-et, akkor le tudja húzni az zónafájlt ssh-n és ki tudja cserélni benne a megfelelő sorokat NS2-n, majd betölti a zónát. Nem szép ,de működik. Hasonló módon kezelni kell a domain törlését is.
Másik megoldás, ami nem volt szimpatius neked az pedig az ,hogy ansible scriptekkel kezeli a DNS-t. Ha jön egy új domain, akkor beírja konfig fájlba, a role legenerálja a master és a slave zónafáljokat templateből. Konfiggal megoldható a törlés is. Homogén egyforma és kezelhető. Ezért persze tenni kell az elején.
Ha NS1-et át kell tenni PowerDNS-re, az nem 2 perc 50-100 domain esetén(nem tudom menyit kezel), de sok domain esetén nem éri meg.
Ha nem ő kezeli NS1-et, akkor már nehezebb a helyzet.

Nem tudom mennyit javult a PowerDNS, de mikor én nézegettem és használtam, nem igazán volt nyerő számomra. A "másodlagos" DNS szerveren mindig kézzel kellett lehúzni a domaineket a "master"-ről. Erre is az van, hogy kinek mi vált be :)
A script az egy hasznos dolog, amit fentebb írtak.

akkor az nem ma volt ugyanis 1.99.9 es verzió changelogja szerint:

'Supermaster' support for automatic provisioning from masters. See Supermaster automatic provisioning of slaves.

1.99.9 verzió meg 1x éve jelent meg :>

A script hasznos dolog akkor, ha nem akarjuk feltalálni újra a spanyol viaszt.

Fedora 22, Thinkpad x220

Pont az az egyik lényeg, hogy az ns1-hez nem kell hozzányúlni (csak annyira nyilván, hogy engedni kell a transfert az ns2 felé), lehet a mostani akármi is (nálam pl. bind). Csak ns2-re beállít egy PowerDNS-t superslave-vel és csókolom. Bármi az ns1, ha valami módosul a zónában, küld egy szabványos notify-t egyébként is az ns2-nek, ha azon ilyen pdns fut akkor ha eddig nem ismerte azt a zónát, leszedni az egészet.

Írj egy programot ami a master dns config master zónáiból generál egy slave dns configot. Utána írj egy script-et ami bejelentkezik a slave dns-ekre, feltölti az új konfigot és restart-olja a slave dns-t.

Erre script-et írni (ha hasonlítanak a zónák) nem lehet több egy óránál.

Évek óta használom powerdns superslave funkcióját erre, többezer domainnel.
Semmi bajon nem volt vele még.

tinydns: egy cron job (vagy barmi mas) rsync-kel atkuldi a data.cdb-t, es kesz vagy...

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Lehet, hogy nem értem, hogy _pontosan_ mit akarsz, de miért nem jó az adott gépet a többi NS másodlagosának beállítani?
Olyan bonyolult megírni egy slave konfigot? Kb. 5 sor...

zone "akarmi.hu" {
	type slave;
	masters {hopp.itt.egy.ip;};
	file "valami.hu";
};

És akkor még fel is áldoztam a szépség oltárán egy csomó entert.
--
PtY - www.onlinedemo.hu, www.westeros.hu

meg mielott nagyon atmennel retardaltba, elobb tan fel kene elevenitened a topikindito feladatleirasat:

"3,) ha még nincs konfig NS2-n, akkor automatikusan húzza át NS1-ről"

ha uj zonankent csak 1x is meg kell csinalnod a bepotyogest (es mondjuk az rndc reconfig-ot), akkor a te megoldasod nem felel meg a kiirasnak. De annyiban igazad van, hogy a te 5 domaines demodnal ez aligha bottleneck...

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Szóval számos kockázatot vet fel.

ha a te eszkoztaradban csak a bind szerepel, akkor valoban lehet aggodni. De en fentebb a tinydns-rol beszeltem, ami mogott egy kicsit intelligensebb dizajn van, mint a bind mogott. Az elobbinel minden dns adat egy data.cdb nevu file-ba van (egyszeruen fogalmazva) compile-olva. Igy gyerekjatek a zonak tartalmat a masodlagos ns-re atkuldeni, az rsync hatekonyan megoldja. Es mehet ssh folott is, amit szenne szekurizalhatsz. Nalam a gyakorlatban ez ugy nez ki, hogy az adott zonafile-t letrehozom/szerkesztem, majd 'make' (=data.cdb ujrageneralasa + rsync), es kesz vagyunk. Szoval egy hozzaerto kezeben talan nincs is annyi kockazat, mint azt te gondolod...

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

akkor szajbaragosan:

Ha kérdezek tőle egy zónát, ami még nincs rajta, honnan húzza le, minek is kell az rsync?

"minden dns adat egy data.cdb nevu file-ba van (egyszeruen fogalmazva) compile-olva. Igy gyerekjatek a zonak tartalmat a masodlagos ns-re atkuldeni, az rsync hatekonyan megoldja"

Ha valahonnan küldök neki egy notify-t, akkor letükrözi authoritative?

nincs notify, mert nem kell (vo. "egy kicsit intelligensebb dizajn")

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Látom, hogy a kérdést sem érted:

Ha kérdeznek az ns2-től egy zónát, ami _nincs_rajta_éppen_, akkor hogy jön ide az, hogy az ns1 mit/hogyan _küld_ át?
Az ok, hogy az rsync-kel lehet időzítetten ide-oda szinkronizálgatni, de a kérdésfelvetésben pont az volt a lényeg, hogy ez _automatikusan_ (értsd: on demand) történjen, nem pedig időzítve.

A notify-os dolog szerintem sokkal inkább megközelítené a valóságot: http://hup.hu/node/142646#comment-1908693
Ez azonban meg komolyabb biztonsági kockázatokat okoz, és ennek a beállításai érdekeltek volna. (tudom, ezt nem Te írtad, de a kérdés sem célzottan csak Neked szólt).

--
PtY - www.onlinedemo.hu, www.westeros.hu

par zona mar atment a kezemen, de meg nem sikerult beleszaladnom abba, hogy "_nincs_rajta_éppen_" egy zona. Eleve anelkul a regcheck-en at sem megy (ennyiben rosszul irta a poszter a lepeseket, mert nem 1-2-3, hanem 1-3-2 a helyes sorrend).

Az ok, hogy az rsync-kel lehet időzítetten ide-oda szinkronizálgatni, de a kérdésfelvetésben pont az volt a lényeg, hogy ez _automatikusan_ (értsd: on demand) történjen, nem pedig időzítve.

mert az idozitett es az automatikus egymast kizaro fogalmak, es ami idozitett, az nem lehet automatikus. Aha, ertelek. De nem figyelsz, kisbaratom:

"Nalam a gyakorlatban ez ugy nez ki, hogy az adott zonafile-t letrehozom/szerkesztem, majd 'make' (=data.cdb ujrageneralasa + rsync), es kesz vagyunk."

Ez eleg on demand neked?

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

par zona mar atment a kezemen, de meg nem sikerult beleszaladnom abba, hogy "_nincs_rajta_éppen_" egy zona. Eleve anelkul a regcheck-en at sem megy (ennyiben rosszul irta a poszter a lepeseket, mert nem 1-2-3, hanem 1-3-2 a helyes sorrend).

- Javaslom a nyitó poszt elolvasását (ott le vannak írva a követelmények)

mert az idozitett es az automatikus egymast kizaro fogalmak, es ami idozitett, az nem lehet automatikus. Aha, ertelek. De nem figyelsz, kisbaratom:

- Javaslom a nyitó poszt elolvasását (ott le vannak írva a követelmények) - és nincs irreleváns, hogy nálad mi van, ha köszönőviszonyban sincs a követelményekkel.

De segítek, hogy ne koptasd az egered:

1,) beállítom NS1-et
2,) futtatok regchecket pl domain.hu -n vagy ripe-on
3,) ha még nincs konfig NS2-n, akkor automatikusan húzza át NS1-ről

Nem tudom, hogy sikerül-e megérteni a mechanizmust, de ha nem, akkor inkább engedd el...
--
PtY - www.onlinedemo.hu, www.westeros.hu

hogy ez _automatikusan_ (értsd: on demand)

Szerintem ez itt a félreértés tárgya: nem attól lesz automatikus, mert on demand. A felvetett "jó" megoldás is automatikus lehet, ehhez annyi kell csak, hogy az ns1 változtatásához szükséges admin beavatkozáson kívül semmi mást ne kelljen tennie az üzemeltetőnek, a változtatás automatikusan kerüljön át az ns2-re. Erre több jó megoldás is létezik, de az általad szimpatikusnak tartott on demand megoldások szerintem pl. nem jók semmire se.

Csak próbálom tartani magam a kiíráshoz :)
Erre egyedül a más belinkelt poszt adott (jó?) választ.

Pont, ahogyan a sima, mezei másodlagos dns beállítása el lett vetve (ne gépeljen annyit az a szegény user), pont annyira tér el a többi rsync-es megoldás is a kiírástól. Tehát, ha az a megoldás nem jó, mert, akkor ez sem, mert.
Úgyhogy ragaszkodjunk a kiíráshoz.
--
PtY - www.onlinedemo.hu, www.westeros.hu

LOL, fafeju vagy, rajtad kivul mindenkinek lejott, hogy a topikindito egyszeruen elszabta a sorrendet. A felvetett megoldasom pontosan azt tudja, amit akar a kerdezo, a te 2x bepotyogos felvetesed meg szimplan fail, ennyi. De megertelek, biztos szar erzes feldolgozni, hogy hulyeseget beszeltel, de manapsag mar szakemberek is segiteni tudnak a lelki beked helyreallitasaban - tudod, akik jobban kepben vannak dns ugyileg :-))

--
"nem tárgyszerűen nézem a dolgot, hanem a vádló szerepéből. Sok bosszúságot okoztak, örülnék ha megbüntetnék őket - tudom gyarló dolog, de hát nem vagyok tökéletes." (BehringerZoltan)

Hali!

Bind 9.9 alatt az alábbi módon használom a masteren:
rndc -s SALVEIP addzone domain.hu '{type slave; file "domain.hu"; masterfile-format text; masters {MASTERIP;};};'

A slave configba pedig kell egy ilyen:
allow-new-zones yes;
# Plusz ültesd ki és védd meg az rndc-t.

Üdv
Fecza