Windows DNS varázslat

 ( hnsz2002 | 2013. október 9., szerda - 17:25 )

Egy újabb érdekes jelenség - mint nálam mindig:

Volt egy kb. 30 gépből álló kis hálózat egy linux szerverrel, ami belső DNS és webszerver volt, és volt egy NAS, amin samba volt egy megosztással, meg persze egy router mint átjáró, az egész 192.168.0.0/24-es tartománnyal (a hiba szempontjából érdekes), a linuxos szervernek 192.168.0.99 volt a címe, és ez volt állítva elsődleges DNS-nek, illetve volt hogy hosts fájlba is irogattak bejegyzéseket ehhez az IP-hez. A DHCP-t a router adta.

Csináltam nekik samba4-es tartományt új szerverrel, egyúttal subnetet is váltottam 192.168.32.0/24-re, a routeren ki lett kapcsolva a DHCP, az új szerveren fut ez is már, van rajta DNS is persze. (Az új szerver címe 192.168.32.2 lett, a router 192.168.32.1-re lett állítva, a NAS 192.168.32.3, ami visszavonult backup célokra a szerverek számára, a régi szerverük 192.168.32.99 lett). Közben a régi szerverük is nulláról újra lett telepítve, ez is samba dc lett, természetesen ezen is fut DNS, meg van rajta megosztás, korábbi belső webszerver funkció, stb...

A kliensek szinte kizárólag win7, egy darab xp volt máig, van egy win8, két ubuntu, mindegyik tartományba léptetve. IP-t DHCP-n kapnak az új szervertől, DNS szerverek sorrendben 192.168.32.2, 192.168.32.99, 192.168.32.1.

A helyzet a következő: néha "megáll a hálózat" egy-egy gépen. Ennyit jeleznek mindig a userek.
Nagyon sokáig még megfogni sem tudtam a hibát, mert teljesen véletlenszerű időközönként és PC-ken jött, ráadásul vagy 7-8 vacak 5 meg 8 portos switchük van egymásba dugva, gondoltam azok a szarok és amiatt áll meg valami. Aztán összeállítottam nekik egy checklistet, hogy mit nézzenek meg, ha nem megy (helyszínre kimenni, megnézni sokszor nincs idő, mert ahogy jön úgy el is tűnik a hiba, mindig ilyen 1 és 15 perc közötti a kimaradás).

A checklist alapján a userek reportolták az eredményt, így a múlt héten sikerült megfogni a dolgot: Az történik, hogy elmegy az adott gépen a DNS. IP, subnet, gw, dns utótag rendben, a DNS-ből meg elmegy mindhárom szerver amit a DHCP oszt, valahonnan előszedi a régi 192.168.0.99-es címet, és ez az egy szerepel az adott kliensen a DNS szervernél. Nyilván ez már nincs, ez idő alatt nincs névfeloldás, megáll minden. Ez van hogy egyik pillanatról a másikra magától eltűnik, és visszajönnek a jó DNS-ek. Se ipconfig /renew, se hálózati kártya letiltás, se reboot, se semmi nem kell. 1 perc az egész. De van hogy 10-15 percig fennáll, és ipconfig release+renew sem segít. Teljesen véletlenszerűen jön elő a gépeken. Van hogy naponta többször, van hogy 1-1,5 hétig semmi probléma nincsen.

A DHCP szerver természetesen semmi ilyen címet nem oszt. Néztem már DHCP toolokat, semmilyen más idegen DHCP szervert nem talál, DISCOVER-ekre nem jön más válasz a jó szerveren kívül.
A gépek hosts fájlja is "üres", a standard bejegyzéseken kívül nincs már semmilyen statikusan felvett cím.

A kérdés baromi egyszerű: honnan a pékből szedi a windóz ezt a régi DNS-t? Mivel és hogy lehetne ezt a lehetetlen hibát megfogni? Ötlet esetleg?

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Tudom hogy hülye ötlet, de én rákeresnék a C: -n és a registry-ben a 192.168.0.99 string-re. Továbbá logolnám a DHCP csomagokat a szerveren és a kliensen is.

Kicsit brute forceként hangzik, de végül is, ha nem marad más...
--
The Community ENTerprise Operating System

A gépek hogyan kerültek át az új networkbe?
Teljesen új samba domain lett, vagy a régi lett importálva az új rendszerbe? Azaz: a régi samba domainből a gépek ki lettek léptetve, és az újba pedig be?
--
PtY - www.onlinedemo.hu

Régi samba domain nem volt. A 0.3-as NAS volt, amin volt egy közönséges share, plusz a régi szerver 0.99es címen, mint belső web szerver.
--
The Community ENTerprise Operating System

És megy még a régi nas? Van rajta wins?
--
PtY - www.onlinedemo.hu

Megy persze, a szerverek erre mentenek NFS-re. Viszont amennyire emlékszek, a samba le is lett állítva ezen. De ez a wins jó ötlet, megnézem.
Azt még elfelejtettem írni, hogy csak win7-en fordult elő a jelenség (eddig), bár ez bőven betudható az arányoknak és a véletlennek is...
--
The Community ENTerprise Operating System

Megnéztem, megy még a samba rajta, mert a múltkor az egyik PC-ről kellett backupot csinálni ide... wins support = yes volt a sambába, kivettem... Meg találtam ennek a hosts fájljába is még régi statikus bejegyzést. :)
Egynek jó volt... Eredményt majd talán az idő hoz... Egyéb ötlet? :)
--
The Community ENTerprise Operating System

Most nincs.
--
PtY - www.onlinedemo.hu

routerbe nem maradt rezervalt ip, mac, vagy valami hulyeseg?
--
zsebHUP-ot használok!

Ki lett benne kapcsolva a DHCP.
--
The Community ENTerprise Operating System

Nekem ez ugy hangzik, mintha nem kapna meg rendesen DHCP-rol a DNS-t, amikor lejar a lease, es ilyenkor fallback-el a regire. Lehet ez pl. attol, hogy bugzik a samba4, ami nem lenne tul meglepo, tekintve, hogy egy evtized ota fejlesztett major release nem tul reg kiadott verziojarol van szo. Ha a szemelyes velemenyem is erdekel, ilyet production kornyezetbe tenni kicsit meredek, kb. mint az uj WinServer verziok, az elso ev meg gyakran betateszt feeling.

A DHCP-nek meg a Sambanak kb. semmi köze egymáshoz, max annyi hogy ugyanazon a gépen futnak. Igazából maradhatott volna a router is DHCP szerver, csak így nekem egyszerűbb... Másrészt ha a lease lejár, akkor az IP-t meg mindent el kéne dobnia. Ráadásul ennek ellent mondd a nem determinisztikusság, ha a lease-zel lenne összefüggésben, akkor nagyjából szabályos időnként jönne elő.
Nincs semmi baj a samba4-gyel semmilyen környezetben, hibátlanul működik, semmilyen hibát nem tapasztaltam eddig sehol.
--
The Community ENTerprise Operating System

Nem maradhatott volna. w2k3 AD esetén (a samba4 ugye azt csinál) az AD servereknek egyben dns-nek is kell lenniük, különben a domainbe lépéshez.
--
PtY - www.onlinedemo.hu

DNS szervernek igen, DHCP-nek nem. Samba4 nem is tud DHCP szerver lenni.

BlackY

Miért gondoltam, hogy a dns-ről ír? :(
--
PtY - www.onlinedemo.hu

Nincs semmi baj a samba4-gyel semmilyen környezetben, hibátlanul működik, semmilyen hibát nem tapasztaltam eddig sehol.

Igen, latjuk. Vegul is nem errol szol ez a hibakereso topik. Akkor kimondom helyetted: a Windows a szar, punktum. Nyilvan eddig nem derult erre a bugravarazslatra feny, mert egy alig hasznalt rendszerrol van szo.

Igen, itt leirjak azt, amivel kezdtem (i.e. bugged/akadozo DHCPOFFER), es amire a kollega mar megszakertette, hogy jaj hat a szerver tokeletes, mert o leprobalta legalabb 5 idopillanatban, tehat nyilvan a nap masik 86395 idopillanataban is jo, meg amugy is le van ez mar tesztelve a hatalmas (?) gepparkjaban, ugyhogy kizart, hogy azzal legyen baj.

Azt ugye tudod, hogy a Samba nem tud (és nem is akar) DHCP szerverként viselkedni?

BlackY

Felteteleztem, hogy legalabb valamilyen szinten ossze van a ketto integralva. Ezek szerint nincs, ezt megertettem.

A sejtes az volt (es reszemrol tovabbra is az), hogy a problema a DHCPOFFER-rel van, i.e. nem mindig jut el a kliensig. Ha a samba4 es a DHCP kozott zero integracio van, akkor nyilvan nem a samba4 a fos, hanem a dhcpd. Vagy a halozat.

Az a kijelentes meg egesz egyszeruen hulyeseg, hogy ha nincs OFFER, akkor "mindent el kell dobni" (hogy tuti lehaljon minden forgalom egy esetleges hiba eseten), ez utoljara kb. a Windows 98 idejen volt igy.

Van persze, csak akkor sem az tolsó előttit fogja visszakérni, hanem az utolsót. Ha pedig letelik a max lease is, akkor pedig zeroconf van 169.254.0.0/16-os címmel.
--
PtY - www.onlinedemo.hu

Az az ISC dhcpd fut, ami szerintem a világon még 100 millió másik helyen...

"Az a kijelentes meg egesz egyszeruen hulyeseg, hogy ha nincs OFFER, akkor "mindent el kell dobni" (hogy tuti lehaljon minden forgalom egy esetleges hiba eseten), ez utoljara kb. a Windows 98 idejen volt igy."
Pedig ez így van: van a címbérlet, amihez tartozik egy érvényesség. A címbérletben van minimum egy cím+maszk, a többi mező mind opcionális (gateway, dns, ntp, kütyafüle meg 100 más opció lehet még), és ehhez az egészhez tartozik egy TTL. Ez az egész egy csomag a megadott és definiált értékekkel, nem úgy van, hogy jön egy cím+mask egy adott TTL-lel, aztán egy gateway egy másik TTL-lel, majd bepottyan még pár DNS is, szintén más TTL-lel.
A megújítás pedig emlékeim szerint úgy működik, még windowsban is, hogy a lejárati idő felénél (szerintem ez nincs az RFC-ben, csak ajánlás) a kliens már kéri a címbérlet meghosszabbítását. Ha sikerül akkor OK, ha nem, akkor 3/4-nél ismét megpróbálja. Ha sikerül OK, ha nem, akkor még a tényleges lejáratnál megpróbálja mégegyszer. És csak akkor dobja el a címet és jön az APIPA, ha ekkor sem sikerül elérnie a DHCP szervert a címbérlet meghosszabbítással, továbbá nincs másik DHCP szerver, ami akár teljesen más címet ajánlana. Azaz nem hal le attól és dob el mindent, ha egyszer nem elérhető a DHCP szerver akármilyen okból.
--
The Community ENTerprise Operating System

Akkor most massz ki az RFC-s alomvilagodbol, es kalapald meg a hulladek switch-eid.

de nincs apipa szóval nem ez van
--
Kristof

Samba valóban nincs benne, van helyette homlokracsapás mégis aktivan maradt régi dhcp szerverről, meg normális működésről (aktiv lease esetén akkor is felveszi, ha már nincs ott a dhcp szerver -> extrém hosszú lease esetén probléma) de bizonyitott bugról egy szó sincs benne.

Ez szerintem sem az a témakör lesz ahol ekkora bugot lehetne találni a winben.

Bug ott mint hálózati bug szerepelt.

Amúgy találkoztam már wtf-al Windows hálózatkezelés témakörben, bár többnyire akkor, amikor a rettenet bloatware driverek és connection managerek képbe kerültek.

BlackY

Windowsok esetén csak wtf-van. Elég bemenni és egy pillantást wetni a switchekre, amelyeken keresztül winek kommunikálnak. A dizsiben a stroboszkóp kityaf@sza hozzá képest.
--
PtY - www.onlinedemo.hu

Hibás 3rd party elemek által okozott hibákat én nem az os hibájának tartok.
Ugye egy nagyságrenddel több win üzemel a világban mint bármi más, elég komoly helyeken is, ezért nagyon pici a valószinűsége egy ekkora hibának, hogy ismeretlen legyen.

A hibás 3rd party elem bug-jai valóban nem az OS hibája, az már inkább, hogy egy időszakban (pre-SP3 XP) annyira rossz volt a hálózatkezelése (különösen WLAN), hogy kellettek ezek a szutykok, illetve az, hogy beengedik az ilyeneket (Win7-ben akár kapcsolat szinten is megadható, hogy kezelheti-e a 3rd party szutyok a kapcsolatot) és túl nagy szabadságot adnak nekik (néhány 3rd party szart még ha le is tiltasz az előző zárójeles opcióval, akkor is szépen visszaírja a saját beállításait).

ui.: Tudom, hogy ezeket a szarokat ki lehet kerülni (amihez össz-vissz csak meg kell kerülni a driver telepítőjét), a baj az, hogy léteznek :)

BlackY

Igazából továbbra sincs tippem se, de egyik fórumon írták, hogy ugyanezt megoldotta az, hogy:

subnet ... {
   pool {
     option domain-name
     option domain-name-servers
   }
}

helyett

subnet ... {
   option domain-name
   option domain-name-servers
   pool {

   }
}

alakot használtak (nem hiszem, mert szerintem a kettő ekvivalensnek kellene, hogy legyen, ha ugyanabból a pool-ból kapná a címet, de egy próbát megér)

BlackY

Szvsz ha egy poolod van, akkor a kettő pontosan ugyanaz.
A második annyival másabb, hogy ha a subnet több felé van szabdalva valamiért, pl. 10-50 meg 100-200, akkor csak egyszer kell megadnod a névszervert és domainnevet, mert valószínűleg ugyanaz lesz, nem mindkét poolban külön.
--
The Community ENTerprise Operating System

Szerintem is, de jobb tippem nincs; valamelyik fórum tanulsága szerint ez valakinek bejött, szvsz. egy próbát megér.

BlackY

Egyszer volt nekem is hasonló.
Egy rossz hálókártya okozta.

Sajnos amíg fostalicska switchek voltak, addig nem tudtam detektálni a hibát. Amint beizgattan a ciscokat egyből észrevettem hogy egy rakat error van azon az interfacén amin a rossz hálókártya lóg. Csere és minden megoldódott. Ráadásul felfedeztem sok kábelhibát is ,meg minden egyebet.

Az a baj ha ilyen unmanaged switchek vannak akkor kb az egész hálózat egy feketedoboz.
Nincs monitoring, nem látod kik csücsülnek az interfacékon, egyszóval semmit. Egy rémálom az ilyen. Csak nézel mint a sülthal. Valamit beszuszakolsz az egyik felén aztán várod mi jön ki a másikon :D

Én talán így csinálnám:
fellőnék az egyik ratyi gépre egy wiresharkot olyan filterrel ami csak a dns, samba, dhcp, arp kéréseket figyeli.
Amikor gebasz van akkor összenézném a szervered logjait a wiresharkal. Így legalább az kiderülne hogy mi merre megy és honnan jön a fake szerver címe.

Jeleznem, hogy pont ma volt szuksegem a tuzfalunkon DNS modositasra. Ott is minden aron a regi DNS-t akarta hasznalni a gep.

Na, vajon mi volt a hiba? Rossz DHCP konfighoz nyultam. Miutan kijavitottam, poccre ment a Windows klienseken. Ennyit errol.

Azért érdekelne az a konfig varázslat, ami konstans tartalom mellett hol jól működik napokig, hol el-elcseszi a gépek DNS beállítást...
--
PtY - www.onlinedemo.hu

+1
--
Kristof