Multicast DNS, demon mdnsd, mquery

Michal.Kurka na kapsa.club.cz Michal.Kurka na kapsa.club.cz
Sobota Duben 10 13:45:03 CEST 2004


Dobry den.
    Do lokalni site potrebuji umistit linuxovy router a oddelit tak pracovni
stanice MacIntosh od stanic s Windows rozdelenim na dva sitove segmenty.
Je pozadovano routovat pouze provoz protokolu IP, coz je trivialni
zalezitost.
    Segment s Windows vsak obsahuje DNS-server, ktery dela primarni DNS pro
lokalni domenu (zonu) s nestastne zvolenym nazvem "domena.local". Stanice
MacIntosh potrebuji kontaktovat server v segmentu Windows. Tento server ma
domenove jmeno "server.domena.local".
    MacIntoshi maji nastavenou IP-adresu DNS-serveru. Kdyz MacIntosh ma
zjistit adresu treba pro "www.seznam.cz", spravne se jde zeptat DNS-serveru
na klasicky port 53/udp. Pokud se vsak ma ptat na "server.domena.local",
posle multicast dotaz (na IP 224.0.0.x) na port 5353/udp. Jako MacIntoshovy
laik jsem se dozvedel, ze je to zakomponovana vlastnost - jakmile ma byt
dotaz na domenu koncici na ".local", nepouzije se klasicky DNS-dotaz 53/udp,
ale multicast 5353/udp.
    Bohuzel prejmenovani lokalni domeny je velmi problematicke vzhledem k
jinym vazbam na toto jmeno. Ani vytvoreni druhe lokalni domeny nepomuze.
    Potreboval bych, aby linuxovy router zachytil multicastovy DNS-dotaz
tykajici se "domena.local", sam se zeptal DNS-serveru a pak poslal ziskanou
odpoved zpet MacIntoshove stanici.
    Nasel jsem linuxoveho demona "mdnsd" (http://dotlocal.org/mdnsd).
Uspesne jsem jej zkompiloval a ziskal dve binarky "mquery" a "mhttp".
Bohuzel dokumentace neni zadna. Kratky help od "mquery" radi pouzit
prikaz 'mquery 12 _http._tcp.local.'. Co vsak znamena ono cislo 12 a zda
_http._tcp.local je vhodne pro muj zamer, nevim.
    Demona "mquery" jsem uspesne spustil. Na multicastovy dotaz (IPv4)
zareaguje vzdy nejakou odpovedi protokolem IPv6, kterou vsak MacIntosh
neakceptuje. Nicmene tato odpoved stezi obsahuje pozadovanou IP-adresu,
protoze router neprovadi zadny dotaz na 53/udp. Navic je zvlastni, jak se
muze generovat IPv6 odpoved, kdyz ji v kernelu nemam zakompilovanou. Ale
podporu multicastu zakompilovanou mam.
    Pokud by nekdo vedel treba o nejakem URL, kde se lze dozvedet vice, budu
moc rad.

S pozdravem
-- 
Michal Kurka - Mysak
spravce serveru 'kapsa.club.cz'
e-mail: michal.kurka na kapsa.club.cz




Další informace o konferenci Linux