Tales from the Machine Room


Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Login/Register

Nessuno aggiorna mai i seriali!

Sto' finendo di di dare gli ultimi ritocchini al nuovo server di posta, di cui ho gia' detto precedentemente, quando una telefonata di un CL a caso spezza la mia concentrazione.

IO - Cosa?
CL - Hallo, non riceviamo piu' i messaggi di benvenuto del vostro mailscan.
IO - Non ricevete piu' i che cosa?
CL - I messaggi di benvenuto.

Dopo aver perso un tempo colossale cercando di capire che cosa sta' dicendo questo riesco a farmi un'idea del problema. Allora, noi abbiamo questa stupenda interfaccia del menga, per evitare problemi (tipo, gente che imposta cose alla ca$$o e poi si lamenta con noi), ogni volta che si fa una modifica alle impostazioni chi ha fatto la modifica, quando e cosa sono loggati e poi una bella maillina e' mandata in conoscenza del "amministratore" dell'account modificato.

Tale 'feature' secondo me e' sempre stata una grandissima rottura di zebedei, ed io ovviamente ho diligentemente detto a Mr.Procmail di infilare tale spazzatura dove gli compete: in /dev/null.

Ma a quanto pare adesso tali mail non vengono piu' inviate e qualcuno se ne dispera. Vabbe', vediamo un po' che succede va'.

Faccio login nel server e controllo il maillog. Tutto bene, le mail vengono spedite. Ovviamente, attraverso lo stesso mailscan...

Vado a guardare nel log del mailscan e noto che le mail vengono rifiutate perche' "domain does not resolve".

??? Come sarebbe a dire "domain does not resolve"?

Alura, una piccola spiegazione, per consentire ai load balancer di fare il loro lavoro, il dominio su cui gira il famigerato mailscanner e' gestito da 4 DNS che sono divisi in due datacenter e sono anche loro loadbalancerati.

Quando ho reinstallato i vari server per svecchiare le versioni del software ho anche aggiornato il sistema, facendo in modo che il dominio venga gestito dalla stessa interfaccia con cui vengono gestiti gli altri domini, inserendo i dati nello stesso database, dal quale vengono estratti da un megascriptone (eredita' del mio ex-collega H che invento piu' o meno l'intero accrocchione), e poi il buon Mr. Named viene riavviato se ci sono delle modifiche.

Solo che, adesso che controllo, mi accorgo che un dig -t mx dominio.net mi risponde che l'mx del dominio e' mail.dominio.net.dominio.net.

C'e' un "dominio.net" di troppo. Ed il che significa (per l'intricata logica del DNS) che nel file della zona c'e' un '.' di troppo poco.

Un controllino allo script e scovo il bug. Strano che nessuno se ne sia mai accorto. Comunque nessun problema. Aggiorno lo script, copio su tutti e quattro i server DNS, faccio un cambiamento sul DNS tramite l'interfaccia ed aspetto che il server si aggiorni. Dopo 10 minuti controllo e nel log trovo "no changes".

????? COME SAREBBE A DIRE 'NO CHANGES' ????

Allora, questa chiavica di interfaccia quando si aggiorna un dominio cambia il campo "last_modified"... Ed il campo "Serial" e "version" allora che ci stanno a fare?

A questo punto ho capito che mi aspetta una bella sessione di debugging.

Dopo un'oretta circa passata a maledire H ed a cercare di capire come ca$$o funziona sto' coso riesco a trovare e decifrare la "logica" (o presunta tale) dell'arnese: l'interfaccia aggiorna solo il campo "last modified", lo script verifica se il campo "last modified" e' maggiore o uguale del timestamp sul file della zone e se lo e' ricrea il file aggiornando nel contempo i campi Serial e Version che sono usati per comporre il "numero seriale" all'interno del file delle zone. Se il file non esiste viene creato ed i due campi sono aggiornati nello stesso modo.

Solo che, per qualche strano accrocchiamento, di tanto in tanto il coso maledetto canna a processare il timestamp, ergo, non si accorge che il file e' da aggiornare e non fa' un tubo...

Ma dico io... non era molto piu' semplice aggiornare sempre il numero seriale (autoincrementante va', ve lo concedo) e confrontare quello direttamente con il seriale nel file e se diversi ricreare il file?

E come al solito nessuno aggiorna mai i seriali.

Un'altra mezza giornata spesa a debuggare roba che non ha mai funzionato e nessuno se ne e' mai accorto.

Davide
22/03/2010 08:00

Previous Next

Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.

12 messages this document does not accept new posts
argaarbeh peṛ.. By argaar - posted 22/03/2010 09:01
..ora funziona, e tutti [sarcastico on] te ne saranno grati...[sarcastico off]

--
argaar


EnricoC... e nessuno se ne mai accorto.... By EnricoC - posted 22/03/2010 10:11

... e quindi nessuno si accorgerà mai delle modifiche!
Poco ma sicuro!

Il consiglio è ... datti una pacca sulla spalla da solo, con me funziona!

buon luned́

--
EnricoC


DPYE al posto di named... By DPY - posted 22/03/2010 10:53

Mai provato a valutare un dns server alternativo tipo il pdns?

Noi ci stiamo facendo un pensierino, sulla carta funziona e c'è chi lo usa, ma a me pare tanto un accrocchietto, anche troppo semplice. Qualche esperienza in merito?

--
DPY


Davide Bianchi@ DPY By Davide Bianchi - posted 22/03/2010 11:13

> Mai provato a valutare un dns server alternativo tipo il pdns?

No. Bind funziona e lo so.

--
Davide Bianchi


kacheQualcuno ti ha fatto notare un problema nel tuo sistema By kache - posted 22/03/2010 11:31

In questa situazione una persona esterna ti ha fatto notare un problema [b]nel tuo sistema[/b] e tu l'hai risolto.
Di conseguenza, non dovresti essere arrabbiato con te stesso perché hai dovuto fartelo dire da qualcun altro, invece che notarlo da solo?

--
Poor little student...


Davide Bianchi@ kache By Davide Bianchi - posted 22/03/2010 11:46

> Di conseguenza, non dovresti essere arrabbiato con te stesso perché hai dovuto fartelo dire da qualcun altro, invece che notarlo da solo?

Se io mi ritenessi infallibile probabilmente si', ma dato che so benissimo che io faccio tante cazzate come chiunque altro, non vedo perche'.

--
Davide Bianchi


PozzameSM By Pozzame - posted 22/03/2010 14:11

Ti sei messo il cappello di ScriptMan?
O hai fatto tutto "in borghese"? :\)

--
Pozzame


Davide Bianchi@ Pozzame By Davide Bianchi - posted 22/03/2010 14:19

> O hai fatto tutto "in borghese"? :\)

"undercover"

--
Davide Bianchi


BoldlyGoneNessuno aggiorna mai niente By BoldlyGone - posted 23/03/2010 17:21

a me quello che incuriosisce è il dopo, quando hai sistemato la diecimilamilionesima cosa che è stata lasciata li a fare i funghi non ti viene da incazzarti a morte?
Te lo chiedo perché qualcosa mi dice che o tu sei troppo buono o io sono troppo cattivo! (o entrambe)

--
BoldlyGone


Davide Bianchi@ BoldlyGone By Davide Bianchi - posted 24/03/2010 09:06

> cosa che è stata lasciata li a fare i funghi non ti viene da incazzarti a morte?

No perche' io lo so che gli errori si commettono (li commetto anche io), mi limito a sorprendermi perche' nessuno se ne e' mai accorto.

--
Davide Bianchi


FameDaBoss By Fame - posted 29/03/2010 15:08

Invidia...
Ma come, il tuo Boss torna dalle ferie ed è perfettamente informato sulla situazione patrimoniale dei clienti?
Perché invece i miei capi non sanno mai una fava né di quel che faccio io né di quel che fanno loro?

--
--


Davide Bianchi@ Fame By Davide Bianchi - posted 29/03/2010 15:10

> Ma come, il tuo Boss torna dalle ferie ed è perfettamente informato sulla situazione patrimoniale dei clienti?

Potrei far notare che sarebbe il suo lavoro...

--
Davide Bianchi


12 messages this document does not accept new posts

Previous Next


This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.


This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.

This site isn't optimized for vision with any specific browser, nor it requires special fonts or resolution.
You're free to see it as you wish.

Web Interoperability Pleadge Support This Project
Powered By Gojira