LVS-DR

Ho migrato il clusterone da LVS-NAT a LVS-DR.

Ora i server non reinoltrano il traffico in uscita al load balancer ma lo girano direttamente al client che ha fatto la richiesta. Questo per evitare il collo di bottiglia sul loadbalancer che, durante le ultime partite ha già sfiorato un paio di volte i 100Mbit (limite hw della scheda di rete).

Ora il limite è imposto solo dal cavo che porta la connettività al nostro switch. Limite che però è superabile portando un fibra o, al limite, un altro cat5 da mettere in trunk con quello che c’è già.

La soluzione Direct-Routing ha il problema che i pacchetti che arrivano ed escono dal server devono apparire sono associati al VIP. Non si può banalmente creare un ip alias sulla scheda di rete perchè risponderebbe agli arp-request cerando di rubare il VIP al load balancer.

Una delle soluzioni adottate richiede una patch al kernel per definire un interfaccia non-arp (l’opzione noarp in ifconfig/ip storicamente viene ignorata dal kernel 2.2). Per i kernel 2.6 ci sono un paio di sysctl che possono funzionare a tale scopo, ho trovato un post di un tizio che ha configurato i server con:
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2

Ma la soluzione *geniale* è quella di usare un REDIRECT di iptables per far accettare il pacchetto senza avere il VIP definito:
iptables -t nat -A PREROUTING -p tcp -d <VIP> --dport <vport> -j REDIRECT --to-port <vport>

Soluzione spiegata per benino nell’HOWTO. Peccato che quando l’avevo letto io no c’era e mi ricordavo che l’unica possibilità fosse la patch per il kernel… fa’ sempre bene andarsi a rileggere la documentazione 🙂

Anno 1

Beh… mai pensavo che ce l’avrei fatta ma è un anno oggi che tengo, più o meno con regolarità, questo blog.

Happy Birthday.

MT riporta:
FABIO INVERNIZZI
/fabulus talks about him and his hacks...
Entries: 204 Comments: 103 Authors: 1

Arrivata la SmartCard di POSTE.IT

Stamattina ho ritirato la smartcard di potecert.

Dopo i primi test e la consulenza online di qualcuno più esperto mi sono rassegnato all’idea che il lettore che ho faccia un po’ schifo. E’ supportato tramite il driver sorgente del costruttore da pcscd ma da un po’ di errori. Vedrò di procurarmente un altro supportato anche da openct.

In ogni caso pcscd non riconosce il modello della smartcard (opensc non riesce neanche ad estrarre l’ATR). Sulla smartcard. in piccolo, c’è scritto GEMGATE32K.

Già che c’ero ho fatto anche la richiesta per quella dell’agenzia delle entrate, tramite la quale oltretutto, è possibile specificare un indirizzo di posta elettronica qualunque.

CVS su Baol

Mattinata in IDC a cercare di cavare qualcosa dalle magagne di ZIO… non ho ancora capito perchè ora funziona *solo* con tutte 4 le CPU. In ogni caso, mentre il mio kernel regge per qualche giorno, la knoppix fa’ riavviare la macchina al primo “ls”. Boh.

Pomeriggio in parte dedicato ad ILS ggiornando uno zombie su baol:
fabio@baol:~/cvs-backup$ ./cvsd --version
cvsd 0.8b2 - a `cvs pserver' suid and chroot wrapper

Non era nemmeno pacchettizzato. Ho installato il paccketto di sid, facendo un po’ di modifiche all’installazione precedente per renderla più simile a quella fatta normalmente: cvs.linux.it è “debianizzato” 🙂

(Su baol era anche morto inetd rendendo ftp2.linux.it irraggiungibile)

Log di Settembre

Finalmente sono riuscito a fare l’analisi dei log del mese di settembre.

Per la prima volta analog non riusciva a fare l’analisi: ho provato anche su un’altra macchina, ma nulla, si bloccava a metà :-/

L’unico modo è stato generare i CACHEOUTFILE dei singoli giorni e poi fare l’analisi mensile leggendo la cache di analog.

Giusto un paio di numeri:

[root@s2 www]# du -c 200409*.gz
...
6197456 totale

Average data transferred per day: 147.98 gigabytes

Banda saturata

Il clusterone è stato messo sotto stress durante la partita di ieri e ancora oggi l’utilizzo di banda è decisamente elevato.

Proprio non pensavo che avremmo saturato i 100Mbit della ethernet!

20041018-veleno-day.png

Smartcard POSTE.IT

Ieri ho fatto la richiesta della smartcard di POSTE.IT: non mi serve ma è un po’ che giochicchio con le smartcard e volevo avere un certificato riconosciuto.

Con grande disappunto il sito delle poste mi ha permesso di registrarmi solo con il loro email (*@poste.it)… probabilmente c’é modo di ottenere il certificato anche con il *proprio* indirizzo di posta.

Sul sito di poste.it, inoltre si publicizza la directory ldap per ottenere i certificati. Bello scoprire che hanno publicato tutti i miei dati, compreso il codice fiscale e, meglio ancora, è possibile scaricare i dati di *tutti* in una botta sola… sarà il caso di avvisare il garante della privacy :-/

Just for fun, ho fatto un po’ di statistiche:
fabio@gnu:~$ ldapsearch -h certificati.postecert.it -x "cn=*" dn cn mail | tee poste-it_list

fabio@gnu:~$ grep "^dn:" poste-it_list | wc -l
34546

fabio@gnu:~$ cat poste-it_list | grep "^mail:" | sed "s/^.*@//" | sort -f | uniq -i -c | sort -n -r | head
12150 carabinieri.it
4314 giustizia.it
4206 tesoro.it
3070 poste.it
1158 enac.rupa.it
840 agenziaentrate.it
658 regione.emilia-romagna.it
656 agenziadogane.it
392 posteitaliane.it
378 postecom.it

Proxy-cache

Ulteriori approfondimenti sull’uso di del reverse proxy e della cache in apache2:

  • mod_mem_cache sembra non funzionare un granché; mod_disk_cache invece funziona ma la dimensione della cache tende a divergere (credo che non sia ancora stato implementato il garbage collector)
  • probabilmente la cache viene indicizzata anche rispetto allo User Agent; in effetti potrebbe essere che un sito offra pagine differenti in base al tipo di browser
  • se uso ProxyPass invece di una “RewriteRule … [P]” alcuni header vengono duplicati (btw, interessante anche mod_headers!)

    HOT LINKING
    Problema: evitare che le immagini vengano linkate direttamente da altri siti. La soluzione è banale e si può fare in vari modi, il più gettonato è con mod_rewrite.
    Quando c’è di mezzo la cache sembra però che prima di analizzare qualsiasi rewrite si interroghi la cache… quindi le immagini più gettonate sono quasi sicuramente accessibili anche da referer diversi :-/