Dopo le 3 del mattino, due sole categorie di persone sono al lavoro: le prostitute e i programmatori.

— Anonimo

Effetto farfalla

http://www.stenoweb.it/files/blog/stenofc.png Miiii, che sfaticata per una benemerita cazzata ! Naturalmente il titolo di "cazzata" è stato affibbiato dopo aver capito dove stava il problema. Maledetti log! A volte anzichè indirizzare verso il problema sembra che ti vogliano prendere per il c**o apposta. Signori e signore ecco come perdere la giornata ad inseguire un problema che si risolveva in pochi secondi.

Vacanze ? no grazie.

Natale, Capodanno, Pasqua, Ferragosto, tempo di vacanza per molti, ma per chi fà il nostro mestiere è tempo di pieno lavoro. Quale periodo dell'anno è più indicato per installazioni, migrazioni, riconfigurazioni di hardware e software se non quando tutti gli altri sono in ferie ?

Io non sono da meno e in questi giorni ho fatto una sfaticata (aggravata dall'assenza di riscaldamento, non vorrete mica che accendano i bruciatori per due gatti che lavorano ?) che consisteva in due cose fondalmentamente:

  1. Sostituzione di un server Fedora core 4 con Archlinux (e che altro potevo usare ?:)) per la posta aziendale e DNS/DHCP
  2. Cambio spazio indirizzamento dalla classe C 192.168.1.0 alla classe B 172.25.0.0 causa penuria di indirizzi liberi

Tutto bene sul fronte DNS

Allora, tecnicamente non era un lavoro particolarmente difficile, lungo sì (prima non c'era un server DHCP, e bisognava passare tutte le macchine, stampanti ecc..), ma il tempo non ci mancava.

Per la parte DNS e DHCP ho voluto usare DNSMASQ, anzichè la rinomata coppia BIND/DHCPD, per la sua facilità di gestione e amministrazione avendo "tutto in uno", e anche per vedere come si comporta su una rete con quasi 200 host "dinamici". Devo dire che non mi ha dato nessun problema per ora, ho solo dovuto metter mano alla configurazione che forse avete letto nella mia piccola guida (che ho modificato a proposito) per fare in modo che dnsmasq usi un file esterno come base per gli IP fissi anzichè il predefinito /etc/hosts. Veramente ottimo questo pacchetto, semplice da gestire e implementare.
A dirla tutta credo comunque che sarò contretto lo stesso a ripiegare su BIND in questo caso per poter inserire altri DNS e per sfruttare la sua capacità di mantenere sincronizzati tutti gli stessi senza intervenire manualmente. Comunque vedremo.

Il mail server "capriccioso"

E sì, qui non son state rose e fiori. La posta non voleva separne di funzionare a dovere. Nessun errore, semplicemente la mail non arriva nella mailbox dell'utente.
Bhè, mi son detto, guardiamo i log. Mi balza all'occhio il messaggio :

Can't connect to 127.0.0.1 port 10025

Ora, per chi non lo sapesse, la porta "10025" è quella usata da Postfix per ricevere la risposta da Amavis sull'esito della scansione antispam e antivirus.

Amavis non riesce a collegarsi sulla porta 10025 ??? E perchè mai ?

Disabilitando in Postfix il content filter di Amavis tutto funziona, ma non volevo certo lasciare il server senza questi controlli...
Dopo ore passate a controllare permessi, utenti, configurazioni, filtri (e pozioni magiche) con risultati nulli su questo fronte mi faccio una domanda (ma non potevo farmela prima ??):

"Cosa c'e' di diverso in questa installazione rispetto alle altre ?"

Diamine, l'unica cosa che mi viene in mente e openLDAP, che in questa sede è installato su di un server esterno con Fedora con il compito di autenticare gli utenti. Ma cosa c'entra openLDAP con Amavis ?

Avviando Postfix in modalità "verbose" vedo anche un messaggio del genere :

amavis[6516]: (06516-02) (about to connect to [127.0.0.1]:10025) FWD via SMTP
postfix/smtpd[6617]: idle timeout -- exiting

Timeout ? Ecco il motivo dell'errore !
Postfix ha atteso la risposta di Amavis ma questa ritarda e ha tirato giù la connessione! A questo punto Amavis (dopo un periodo di tempo indefinito) non trova più la connessione "up" con Postfix e dà l'errore relativo alla porta 10025 che il nostro MTA ha tirato giù da momento che si era rotto i maroni di aspettare.
Ma perchè Amavis risponde così lentamente ? Manco avesse decine di migliaia di mail in coda...
Però ora per lo meno capisco il senso del messaggio di errore visto nel LOG.

LA nebbia si dipana

Probabilmente per qualche ragione Amavis tenta di risolvere i nomi host usando ldap anzichè fermarsi al DNS.

Ma che roba ! Ore perse ! Ma non poteva dirmelo subito ?

Non voglio indagare sul perchè, ecco la soluzione. A me non me ne frega niente di risolvere i nomi hosts con LDAP, mi basta la risoluzione di utenti e password ! E allora basta una modifica al file /etc/nsswitch.conf
e cambiare la riga :

hosts: files dns ldap

in
hosts: files dns

Manco a dirlo, senza neanche riavviare il sistema ho ricevuto in un sol colpo tutte le mail che Amavis teneva in parcheggio. Almeno non ho perso nulla :)

Francamente non ho ancora capito appieno il motivo per cui Amavis facesse questo, comunque per non sbagliare più ho già sistemato la mia guida LDAP Server per includere questa modifica.

Non funziona la posta e il problema è in nsswitch... ma porcaccia miseria, robe da caos e effetto farfalla ! :(

A presto.