Szívás - /etc/resolv.conf: search limits

Azoknak akik esetleg hasonló cipőbe kerülnek, hátha még hasznos lesz az infó:

Sajna sikerült egy olyan helyzetbe kerülnöm, hogy a cégen belül jó néhány DNS tartomány van, amit azért szeretek shortname-el ( DNS suffix nélkül ) elérni.. Gondoltam nem lesz itt gond, fogom magam, felveszem a DNS suffixeket a resolv.conf-ban (hasonlóan, mint ahogy azt mondjuk Windows alatt tenné az ember ), aztán megy az szépen majd..

Az első meglepetés viszont ez után jött: A felvett suffixokat a rendszer részben lexarta... Ez kb annyit jelent, hogy nslookup-al fel tudtam oldani az összes suffixal rendelkező domaint, ping viszont közölte, hogy azt a hostnevet ő nem találja..
Kis körbejárás után azt hittem, hogy a megoldást az /etc/nsswitch.conf szerkesztése hozza, ám be kellett lássam, hogy az is zsákutca ( a hosts alatt a bejegyzések fel voltak véve ).
Második körben azt hittem az avahi kever be, de hiába adtam hozzá ~/.config/avahi/browse-domains-hoz a saját kis domain-jeimet, az avahi-browse hiába listázta őket, attól még baxott rájuk ugyan úgy nagy ívben.
Újabb kör, majd rájöttem hol van a kutya elásva: "The search list is currently limited to six domains with a total of 256 characters.". Éljen.. Szóval alapból így volt az egész megkonstruálva..

Szóval ahogy nézem a jelenlegi variációk:
- Játszok még az avahi-val, és megpróbálom belőni, hogy valahogy még is lássa a domainjeimet.
- Fogom magam, leszedem a bind forrását, majd a lib/bind/include/resolv.h-ban átírom a limiteket, és újra forgatom ( nem hiszem, hogy jó vicc lenne )
- Xarok az egészre, és használom a /etc/hosts-ot, és felveszek kb 400 servert a listába, amit aztán karban tartok..

Esetleg van valakinek más ötlete ( local DNS-cache nem játszik )?

Hozzászólások

nemirtal rendszert, de debian/ubuntu alatt tok konnyu: leszeded a csomag forrast, modositod amit kell, beadsz egy uj changelog bejegyzest: eredetiverzio-0huncraft1 verzioval, buildeled, es felrakod. ha kijott javitas a csomaghoz, akkor ugybol ez a moka, ami kb 10 perc... (amugy vannak megoldasok, ennek a gyorsitasara)

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ezzel a módszerrel tisztában vagyok, de pont az miatt nem szeretném ezt a módszert választani, mert minden egyes csomagfrissítésnél újra kell játszani az egészet... Ami meg enyhén nem szimpi módszer, tekintve, hogy én végleges megoldást szeretnék találni (céges környezetben nem vicces amikor 1 frissítés után az ember nem tud dolgozni normálisan )
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

bash_completion hostname-re, aztan csak Tab (legalabbis ssh-nal teljesen jo, de nyilvan mashoz is mukodik... browserre nincs otletem)

Sajna nem csak oda kell, hanem máshova is ( böngésző pont nem annyira jellemző, de más szolgáltatások meg igen )..
Bár ahogy nézem a /etc/hosts-al járok eddig a legjobban, bár ott meg azzal lesz a bajom, ha egy új szerver jön majd a képbe, én meg majd nézhetem, hogy miért nem találja a szervert..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Az /etc/resolv.conf max. 6-ot irhatsz be, egy sorban kell lennie, ha tobb search van akkor csak az egyik sorban levot hiszi el.
A 6, ha jol remlik MaSutt is limit.

Neked hany van ?

Amit nem lehet megirni assemblyben, azt nem lehet megirni.

Kb 30 egy sorban (ami meg MáSutt tökéletesen megy ) :)))) Amúgy tisztában vagyok vele, hogy 1 sorba kell legyen, de nem is ez a probléma.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

én beraknék egy külön zónát a dns szerverbe és azt raknám tele cname rekordokkal azokra a szerverekre, amik kellenek...

Aha.. márha a DNS szerverek(et) én kezelném :))) Sajna nem így van :)) Plusz a felvázolt problémára nem workaroundot szeretnék találni, hanem megoldást :)) De látom én már, hogy a /etc/hosts lesz még is az én barátom ( avahival nem nagyon mentem sokra sajna :s )
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Na jó.. kicsit átnéztem a bind9 ide vonatkozó forrását, és ahogy nézem 2 helyen kellene egyedül belenyúlnom:
- A 145. sorban a "#define MAXDNSRCH"-et felhúznom mondjuk olyan optimális ~40re
- A 172. sorban a "char defdname[256];"-et felnyomni olyan 512-re..
Mondjuk ahhoz lusta voltam, hogy megnézzem nem e foglal le valahol kevesebb területet mondjuk a bind a memóriában ami gebaxt okozhat, de úgy gondoltam, hogy 1x körben megpróbálom ezt, aztán ha nem megy akkor meghajlok a /etc/hosts hatalmassága elött..
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

Noh.. Megpróbálkoztam ezzel is.. Hát mint a mondás is tartja "Elméletileg az elmélet megegyezik a gyakorlattal, gyakorlatilag..." Na szóval sikerült egy olyanba belefutnom, hogy a bind9 esetében lehet, hogy ez működne, de sajna ez a változó a gépen nem a bind9-host csomagban van letárolva, hanem mint kiderült a glibc-ben, ami már eléggé megváltoztatja a leányzó fekvését, főleg ezek után:
https://bugzilla.redhat.com/show_bug.cgi?id=168253

Szóval attól félek akkor a forrás piszkálás most elmarad..

Avahi-val is próbálkoztam, de ott amit be lehet lőni az az, hogy milyen domaineket disztributáljon ki az esetleges érdeklődő kliensek felé, szóval ez is felejtős.

Viszont a /etc/hosts-ot még mindig nem szeretném manuálisan hegeszteni ( főként az esetlegesen új domainek miatt ), így lehet még is engedek, és megpróbálkozok a local DNS cache-inggel.. Úgy hogy akkor a következő kör még is a dnsmasq felé vezet attól tartok :s

____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..

LD_PRELOAD? csinalsz egy megfelelo .so fajl: hookolsz a gethostbyname (meg a franctudja meg melyik fuggvenyekre), megprobalod a kapott domain feloldani, ha nemsikerult, akkor vegigprobalod a sajat domainekkel. ha valamelyikre sikerult, akkor visszadod azt.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Eddig ez a legjobb 5let,de ez is ott vérzik el, hogy ez csak általam hívott proginál menne: A Lotus Notes nevű borzalomnál mondjuk esélyem se lenne,holott pont annál lenne ez a legszükségesebb funkció, mivel az hívogatja állandóan a különböző domainen belüli szerverek notes adatbázisait...SSH/dig/nslookup/ping esetén tény, hogy használható lenne, de sajna ez így még mindig kevés.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Ülj le és kuss legyen!"..