Portál AbcLinuxu, 30. dubna 2025 15:46
Klasika, v rámci Active Directory provozovaný dhcp server v clusterovém režimu active-pasive. Vyndal se jeden IP telefon ze skladu a problém. Kolega říkal, že prý nechce načíst IP adresu, je prý asi vadný. Nepodařilo se mu ho zprovoznit, takže mi jej dal k diagnostice.
Než jsem se k němu dostal, vzal si ho jiný kolega, který pokračoval v řešení problému. Po nějaké době to vypadalo, že má zmíněný telefon neblahý vliv na kolegovo zdraví. Ujal jsem se tedy telefonu já. Beztak musel na jazykový kurz.
Prvotní informace od prvního kolegy byly trochu mylné. Druhý kolega už upřesnil, že chybu vyhazoval dhcp server už při přidávání mac adresy. Objevovaly se hlášky jako:
Zjistil jsem, že problém se týká jen konkrétní MAC adresy, DHCP prostě odmítal přidat MAC adresu do rezervací. Zkouknul jsem, zda MAC adresa už není někde v rezervacích. Zkouknul jsem oba nody dhcp serveru. Nikde nic.
Jelikož grafické klikátko je pořádný kus sračkopsa, tak jsem chtěl mít jistotu a přešel jsem do command line. Vyexportoval jsem si nastavení jednoho i druhého node do souboru takto (na každém node zvlášť):
Export-DhcpServer -ComputerName dhcp1-srv -File ${env:TMP}\DHCP-Export.txt -Force -Leases Export-DhcpServer -ComputerName dhcp2-srv -File ${env:TMP}\DHCP-Export.txt -Force -Leases
K mému zklamání jsem nebyl slepý a MAC adresy jsem v rezervacích nenašel, jen v Allow Listu. Takže ne, chyba v nastavení není.
Nebylo toho málo. Ostatně, co se dá konkrétního kontrolovat na hlášce "Reject Reason Unknown".
Po pár hodinách to vypadalo, že tento problém chce ovlivnit i mé zdraví :).
Ano, řešení jsem nakonec našel. Už jsem byl v předchozích krocích blízko, jen jsem se rozhodl použít moderní technologii z roku 2006, kterým je PowerShell. A to byla prosím ta osudová chyba. Export nastavení ještě starší technologií :
netsh dhcp server dump > c:\\texfile.txt
Odhalil ve vygenerovaném souboru toto:
Dhcp Server \\dhcp1-srv.corp.devaine.cz Scope 192.168.95.0 Add reservedip 192.168.95.33 00285d702340 "Phone00185DB483C7.corp.devaine.cz" "Poznamka" "BOTH"
To svinský grafický klikátko i powershell ukazovaly u rezervace "192.168.95.33" MAC adresu 00185DB483C7, ale ve skutečnosti byla v hloubi duše nastavená adresa 00285d702340, tj adresa problémového telefonu. Tj. skutečně už byla MAC adresa již použita u jiného záznamu, jen všechno lhalo.
Takto vypadal výpis powershellu:
... <Reservation> <Name>Phone00185DB483C7.corp.devaine.cz</Name> <IPAddress>192.168.95.33</IPAddress> <ClientId>00-18-5d-b4-83-c7</ClientId> <Type>Both</Type> <Description>Poznamka</Description> <OptionValues> <OptionValue> <OptionId>81</OptionId> <Value>5</Value> <VendorClass /> <UserClass /> </OptionValue> </OptionValues> </Reservation> ...
To by jednoho donutilo k pláči :-/.
Fakt už mě ta sračka začíná jebat. Nepoužitelné ovládání to má sto let bez vývoje (2022 server jsem ještě neviděl), takže reporting je utrpení (leda si na to napsat skripty v powershellu). Logy a jiné hlášky to má tragický, něco to loguje do Windows Eventu, něco do systémového adresáře Windows. Tohle nechápu. Připadá mi to jako jejich Radius server. Nevím, jak nyní (protože jsem se té kejdy zbavil a používám Freeradius), ale dřív to logovalo binárně a člověk, aby se něco dozvěděl, musel koupit 3rd sw, který to rozklíčoval. Řešení jakékoli pitomosti je pak na sto let. A abychom to měli komplet, tak kdo neví, že Windows dns server má nějaký blacklist (ignoruje překlad některých záznamů, i když jsou nastavený), tak nechť se podívá na "dnscmd /info /enableglobalqueryblocklist".
Zdar Max
PS: sorry, ale musel jsem si vylít srdce
Tiskni
Sdílej:
Až na to, že ta třetí se moc nepoužívá, protože je obsolete a některé věci tam v ní zlobí.Mohl bys na to napsat blog post ci se nejak rozepsat? Ja prozatim nikdy nemel problem. Take ani nevim, ze to je obsolete. Zjevne mi ujizdi vlak (i kdyz jak pisu vyse, tak v praxi to stale vnimam jako zdaleka nejlepsi moznost - PS je pro me pouze nastroj, ktery si spoustim vesmes jako Python na Linuxu - tedy nedelam v tom bezne narozdil od Bashe a pouzivam to jenom diky "curated advanced libraries/introspection").
Proto je třeba mnohem spolehlivější dělat migraci databáze přes powershell.Prosim dej co nejvice info o te spolehlivosti do toho blog postu o obsolescense a zlobeni `cmd.exe` nastroju. Fakt mi asi ujizdi vlak a tohle by me snad nakoplo. Diky moc!
Jednak jsem se tomu ve většině času věnoval mimo pracovní dobu.Myslím že se sebou necháváš stále vydrbávat. Vůbec bych se nedivil, kdyby ten „masivní upgrade mzdy“ včetně přesčasů byl ze 40 na 60.
Jednak jsem se tomu ve většině času věnoval mimo pracovní dobucoz je pto korporaci jeste drazsi nebo potusujete zakonik prace a ty ze sebe delas vola?
ip link set address
. Nebo si pořiď něco s novým Androidem. Ten má náhodné mutace MAC ve výchozím nastavení jako ochranu před sledováním.
udržovat nějakej 10 roků starodávnej windows je taky vlastně jakože takovej workaround :D
No, ber to takto. Máš zaplacené licence Windows Server v rámci celého virtualizačního clusteru, takže si nemůžeš jentak halabala udělat upgrade.Předřečníci asi mysleli upgrade na Debian.
to sou imho samý duvody je poslat dopryč :D co je jako ta uplně supr vyhoda kterou ty ms věci maj voproti třeba tomu vobyč debianu :O :O
Pokud máš cluster ze 6 serverů, každý 32 core 64 threadů, tak musíš nakoupit 12x Windows Server Datacente
jakože každej server potřebuje 2 windows licence :D
Windows Servery nejsou už dávno licencovaný na CPU/Scoket, ale na počty jader , a prodávají se po 16x core, proto potřebuješ jakoby dvě licence, tjl 2x16 core. A k tomu postupně směřují všichni, protože by jinak s narůstajícím výkonem serverů ostrouhali, že.
nj ale co když máš jakoby hrozně moc ale slabejch jader :O :D tě vlastě navíc tlačej eště do ňákýho specifickýho hw by se ti ta licence nejvíc vyplatila :O :O
Ty MS věci mají aplikace, které běží jen na MS věcech
ttttssss skutečnej linuxák by to jako risk :D :D
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.