Van nalunk egy DHCP szerver meg DNS is, meg nyilvantartas a gepeinkrol, MAC address-ekrol. Csak hogy ez a 3 dolog sehogy nincs osszekotve. Pedig igeny az volna ra. ;)
Minimalisan annyit kellene megoldani, hogy ha a DHCP-n feltunik egy host, akkor ez az esemeny generaljon egy DNS update-et, az adott hostnevre (vagyis az ujonnan kiosztott IP keruljon be A rekordkent a host nevevel). Ez ugy e kicsit mas mint a klasszikus dinamikus DNS update, mert itt nem a kliensnek kell kernie az update-t hanem a DHCP szervernek! (Vagy a DHCP szerveren tortent esemenybol a valaminek.) Azert nem a kliens update-el, mert akkor azt meg kene oldanom az osszes (sokfele) kliensen, raadasul telefonokon is... szoval ez nem nagyon jarhato.
Eggyel nagyobb leptekben gondolkodva az lenne a szep, ha lenne egy adatbazisom (amim van) a gepekrol, amibol generalodna a DHCP meg a DNS config, plusz a fent leirt DHCP->DNS update tovabbra is szukseges.
A neten keresgelve azt talaltam, hogy nekem egy IPAM (IP address management) rendszer kell, de egyreszt ezekbol rengeteg kulonfele van es meg csak a toredekenek neztem utana hogy mit tud, masreszt meg ezek a legtobb nagy agyunkak tunik az en problemamhoz kepest.
Szoval ki mit hasznal(na) erre? Ha konkret IPAM rendszerrel szerzett tapasztalatrol tud irni valaki annak kulon orulnek.
Az idealis megoldas (fontossagi sorrendben):
* hackeles mentes (vagyis kesz termekekbol all, nem altalam irt scriptekbol)
* Linuxon fut
* open source (ez nem szigoru)
-------------------------------------------------------------
update (2014.070.11 15:51)
Na, az okosok itt kitalaltak, hogy az Active Directory (amink mar van) meg az arra epulo Windows DNS meg DHCP pont fogja tudni amit kell... Nekem vannak ketsegeim, de majd meglatjuk, ezt nem en fogom csinalni. Lehet, hogy addig is osszerakom amit Fisher linkelt (koszi), hogy ha az AD megse mukodne olyan jol, akkor tudjak demozni egy masik megoldast.
- 4987 megtekintés
Hozzászólások
dnsmasq vagy isc dhcpd + bind.
Mindkettőt használom, egyiket otthon, a másikat bent a gyárban.
Azt viszont csak most látom, hogy mintha a dhcpd nem tudna mysql-ből dolgozni, így ha az kell, akkor arra írni kell egy scriptet, ami legyártja a statikus ip-hez a konfigot.
- A hozzászóláshoz be kell jelentkezni
A isc dhcpd + bind paros szimpatikus lenne, de abban hogy oldod meg, hogy egy kliens bejelentkezesekor (vagyis DHCP-n cimet ker/kap) legye DNS update is? (statikus IP-> MAC hozzarendelest nem (minden gephez) szeretnek).
- A hozzászóláshoz be kell jelentkezni
Kb. így csináltam meg évekkel ezelőtt, nem teljesen rémlik, mert azóta hozzá se kellett nyúlni :D
- A hozzászóláshoz be kell jelentkezni
Ja, hogy a ISC DHCP-nek van erre beepitett eszkoze? Ez kiraly.
- A hozzászóláshoz be kell jelentkezni
De aztan rajottem, hogy a DHCP confot csak generalnom kell majd scriptbol... amit eppen meg tudnek tenni, de hackelesnek minosul. Jobb lenne egy DHCP szerver ami a valid MAC-ecet adatbazisbol olvassa...
- A hozzászóláshoz be kell jelentkezni
Az isc dhcpd tud mindenféle eventeket és ezekre az eseményekre csinálni dolgokat. Ezt felhasználva és a dns adatokat mysql -ben tárolva meg tudod valósítani amit itt leírtál. Én bind helyett powerdns -t használnék, mivel az tud mysql backendel működni.
Pár link:
http://tomoconnor.eu/blogish/isc-dhcp-and-powerdns/#.U7_Ci_l_t48
http://invalidmagic.wordpress.com/2010/03/27/magic-dhcp-stuff-isc-dynam…
És persze az oldalakon lévő lionkeken végig ballagva...
Azt még hozzá tenném, hogy a nem céges kütyüknek én külön hálózatot adnék és ott nem csinálnék ddns -t.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
"mivel az tud mysql backendel működni."
Az mennyivel jobb a jelen esetben, ahol valószínűleg pár zóna és max. párezer host van?
Amúgy meg:
"Then all I had to do was write a bit of python that would interact with the database, and update the records table."
Illetve ahogy nézem, ezekben a példákban csak annyi van, hogy a lease-eket tárolja db-ben, ami remek, de nem az kell.
- A hozzászóláshoz be kell jelentkezni
Mivel az isc-dhcp mindenfele eventet ismer és ezekre az eseményekre le tud futtatni egy-egy scriptet, könnyedén ki lehet vitelezni egy olyan megoldást, ahol a dhcp -vel kiosztott ip cimet beirjuk egy db -be (természetesen olyan adat struktúrával, amit a powerdns szeret), igy a hálózatba bejelentkezett gép azonnal a dns -ben is benne van. Mivel nem zónafileokban vannak a hostok, ezért nincs szükség külön procedúrára a host validálásához és a dns update -eléséhez. Ezt egy process, vagy akár sql trigger is elvégezheti
Természetesen ezt elvégezheted az isc-dhcp beépitett eszközeivel, de akkor is szükséges az ellenőrzés. (Legalábbis arról volt szó, hogy kell.)
A linkeket is az event kezelés miatt tettem be.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
Nem értem...
"Mivel nem zónafileokban vannak a hostok, ezért nincs szükség külön procedúrára a host validálásához"
és
"Természetesen ezt elvégezheted az isc-dhcp beépitett eszközeivel, de akkor is szükséges az ellenőrzés"
Vagy a kettőnek semmi köze egymáshoz? Mondjuk külön-külön se értem.
A probléma az, hogy csak az adott MAC-hoz szabad IP-t adni (azt hogy egy hülyeség már tisztáztuk korábban, de ezt kell), és ezt, mármint hogy csak egy valid MAC lista kapjon címeket, ez a megoldás se teszi lehetővé.
http://hup.hu/node/133819?comments_per_page=9999#comment-1756324
- A hozzászóláshoz be kell jelentkezni
Na fussunk neki még egyszer :) :
1. Csak valid MAC -hez adunk gépnevet: valahol kell tartani a valid MAC address -eket
2. Meg kell nézni, hogy az a MAC aki IP -t kér, benne szerepel-e a nyilvántartásunkban (arról volt szó, erről van adathalmaz)
3. Ha benne van valahogy be kell tuszkolni a dns -be a gépnevet, ami szerintünk ehhez a MAC -hez tartozik
4. Namost ha dnsupdate -el a dhpc server módositgatja a dns -t, akkor egy process amikor validálok egy másik amikor a dnsupdate megtörténik
Ha sql -ben van az adathalmaz a MAC address -ekel és a dns backend akkor egy processt meg lehet spórolni. Igen tudom, hogy ez csak elmélet és még legalább ezer szempontot kell figyelembe venni.
----
올드보이
http://molnaristvan.eu/
- A hozzászóláshoz be kell jelentkezni
1. Igen, benne vannak a mysql DB-ben.
2. Igen, erre írtam, hogy lehet generálni egy dhcpd konfigot.
3-4. Igen, de az ISC dhcpd nem a dnsupdate-t (ami nsupdate) hívogatja, hanem saját maga beszélget a bind-del, nincs extra processz.
Amit te írtál megoldás, az szintén nem nyújt megoldást a 2. pontra, legalábbis nem scriptelés nélkül, és a db-ben tároláshoz is scripteket kell akasztani a horgokra, ezért nem értem, hogy mi az előnye ennek.
- A hozzászóláshoz be kell jelentkezni
Ha jól értem, rendes dinamikus DHCP-t szeretnél használni, és azt várod, hogy a DHCP szerver tudja a gép nevét, és írja be a DNS-be.
Ez elméletileg is max. kettő esetben tud működni:
- elfogadod, hogy a gép neve egy generált valami, pl. a mac addresst, vagy annak valami hashelt verziót tartalmazza, esetleg random krixkrax,
- csak Windows-t használsz, és megoldod, hogy a gépeknek a netbios hostneve jól legyen beállítva.
A második feltétel jól láthatóan nem passzol az elvárásaidhoz, így ha mégse generált neveket szeretnél látni, akkor bizony előre fel kell venni az összes gépet, mac - hostnév párosításban, innentől kezdve pedig a feladat megváltozik, és nem a DHCP-t kell adjusztálni, hogy rakja tele a DNS-t, hanem a mac - hostnév párosításokhoz kell szépen IP címet is allokálni (tehát statikus DHCP-d lesz), és abból feltölteni a DNS-t is meg a DHCP konfigját is.
- A hozzászóláshoz be kell jelentkezni
1) a DNS-be A rekordkent bejegyzett mac address pont jo lenne, hiszen adatbazisom ugyis van, abbol a DNS-be mar beletehetek egy gepnev --CNAME--> mac address recordot is.
2) az 1-es nekem pont eleg de ha megsem akkor sem csak Windows-zal meg netbios-szal mukodne, hiszen a kliensek altalaban benyognek egy hostnevet is a DHCP kereshez (egyebkent ezt security okbol vetnem el)
- A hozzászóláshoz be kell jelentkezni
1) Ha van adatbázisod, akkor nem tart semeddig se, hogy abból dolgozzanak a daemonok (mind a DNS, mind a DHCP) - vagy direktben (már amelyik tud ilyet, ugye), vagy scripttel generálva a konfig fájlokat.
2) A kliensek akkor nyögnek be hostnevet, ha egyáltalán tudják azt. Linuxon max. akkor van hostnév, ha valaki beállította, de még akkor sem vagyok benne biztos, hogy megmondja alapból. De egy telefonnak ugyan milyen hostneve lehetne? A dolog security oldala pedig végképp necces.
- A hozzászóláshoz be kell jelentkezni
1) Fisher fenti valaszan elindulva kezd is kirajzolodni nekem egy megoldas, csak pont az a bajom, hogy a configot generalnom kell majd... Letezik olyan DHCP szerver ami valami backend-en kepes ellenorizni, hogy az adott MAC ervenyes-e? Esetleg mi a hozza bejegyzendo hostnev? A vicces az, hogy a backend akar a DNS szerver is lehetne. :) (Pl a mac address-re van egy txt record a hostnevvel.)
2) ahogy fent irtam ezt en is security miatt vetnem el.
- A hozzászóláshoz be kell jelentkezni
Nem tudok róla. De nem teljesen világos, hogy mit szeretnél, mert ha biztonságról van szó, akkor ez kevés. semmi nem tiltja a klienseknek, hogy felvegyenek egy tetszés szerinti címet (legfeljebb ütközni fog), tehát jön a képbe a port security-től kezdve elég sok dolog.
Viszont ilyen konfigot generálni, pl. mysql táblából nem nagy puki, ha valaki - nem úgy mint én - ért az sql-hez, talán még különösebb scriptelés nélkül megoldja úgy, hogy kb. konyhakész konfigot dob ki a mysql query. Új host meg talán nem olyan sűrűn jön, hogy ne lehessen ezt minden alkalommal lefuttatni (vagy pl. óránként).
Azt lehet csinálni esetleg, hogy az érvénytelen MAC-ek egy olyan tartományból kapnak címet, ami nincs route-olva sehová, így max egymást tudják bántani. Már csak azért is, mert a kliensek (legalábbis a win tuti) előbb-utóbb feladják hogy a DHCP-től kapjanak címet, és kitalálnak maguknak egyet.
- A hozzászóláshoz be kell jelentkezni
Csak regisztralt MAC cimek lehetnek a halozatunkban. Ez lehet, hogy hulyeseg (nem biztonsagos, viszotn maceras), de ez a kovetelmeny jelenleg, ezen nem tudok valtoztatni. Lehet, hogy kesobb lesz mas, de most ez van.
Tehat azt szeretnem, hogy a DHCP szerver csak ezekenk a MAC addreseknek valaszoljon, nekik viszont dinamikusan osszon cimet (es persze az is rendben van, hog a nem regisztraltak is kapjanak cimet, csak egy masik IP tartomanybol, de ez nem lenyeges pont most). Aztan pedig beregisztralja oket a DNS-nel.
A konfig generalas valoban nem bonyolult dolog, es ahogy latom jelenleg ez az egyetlen jarhato ut... A baj az, hogy itt a kesz megoldasok a nyerok es ha valaki talal egy out of the box mukodo cuccot akkor az lesz hasznalva (akkor is ha sok mas szempontbol szar es sokba kerul), en meg a Garazs Balazs leszek ha scripttel akarok megoldani valamit... Na de remelem ez meg atmegy, foleg ugy hogy teljes egeszet lefedo out of the box megoldas szerintem nem lesz.
- A hozzászóláshoz be kell jelentkezni
"Csak regisztralt MAC cimek lehetnek a halozatunkban"
Najó, de ez biztosítja valami? Mert - azon túl hogy a MAC vígan cserélhető, klónozható - ha nem, akkor tényleg semmit se ér, csak legfeljebb úgy hangzik, mintha.
Bár ez már mellékszál és -vágány, nem akarom erre elvinni az egészet, csak érdekel, hogy hány láncszem erős a láncból :D
- A hozzászóláshoz be kell jelentkezni
Mondom, ez a kovetelmeny, akkor is ha hulyeseg.
- A hozzászóláshoz be kell jelentkezni
Nálam a linuxok és az androidos telefonok is működnek így. Sőt, ha be van állítva egy szép hostnév a telefonon, akkor azzal veszi fel a dns-be (de ehhez szerintem általában rootolni kell).
Persze környezettől függ, ha egy kollégium vagy hasonló, ahová boldog-boldogtalan behurcol mindenféle nyomorék nevű gépet az gáz, de ha kontrollált környezet, akkor remek minden.
- A hozzászóláshoz be kell jelentkezni
Az a gond, hogy még Windows esetén se nagyon működőképes az a gondolat, hogy majd a kliens megmondja, hogy mi az ő neve, legalábbis ha nem teljesen kontrollált környezetről beszélünk - és nagyon sok helyen bizony a júzernek van admin joga - ha máshol nem, hát a laptopján. Innentől kezdve ezeket a hostneveket beengedni a DNS-be, hát enyhén szólva is necces.
- A hozzászóláshoz be kell jelentkezni
Most ugy nez ki AD lesz (nem en csinalom), update fent.
- A hozzászóláshoz be kell jelentkezni
My 2 cents: ha ezt tényleg csak konfigolás szinten akarod megcsinálni, azt is meg lehet - LDAP back-enddel. Az isc-dhcpd (https://kb.isc.org/article/AA-00333) és a bind9 dlz-vel (http://bind-dlz.sourceforge.net/ldap_example.html) is ismeri - gyakorlatilag közös nevező. Ha még replikációval is megfejeled az LDAP-ot, és csinálsz két dhcp szervert és két nameserver-t, akkor van egy hibatűrő rendszered. [Szerk.: kezdem elveszteni a fonalat, lehet nincs írható ldap dlz driver, de a Fedora/RedHat-féle FreeIPA-ban használják a bind-dyndb-ldap plug-int, ami írható]
Ha kísérletezgetni akarsz, ha jól rémlik egy openSUSE-zal Yast-ból össze is lehet kattintgatni egy ilyet (a dinamikus DNS nem biztos, az LDAP back-endes DHCP/DNS ha jól emlékszem működik...)
BlackY
--
"en is amikor bejovok dolgozni, nem egy pc-t [..] kapcsolok be, hanem a mainframe-et..." (sj)
- A hozzászóláshoz be kell jelentkezni