OpenBSD, Impostare il livello fisico per una scheda di rete che fa i capricci

Pubblicato il Pubblicato in #sysadmin

Quando si ha a che fare con schede di rete vecchiotte, specie se c’è un hub economico di mezzo, si possono avere dei problemi con l’autonegoziazione della modalità di trasmissione a livello fisico. Praticamente la scheda di rete non riesce a mettersi d’accordo con quelle delle altre macchine in lan su quale velocità utilizzare.

I led si accendono, segnalano che il collegamento c’è… ma il dhcp non funziona e nemmeno impostando a mano l’indirizzo si riesce a pingare.

Molto probabilmente servirà impostare a mano la scheda a 10 mbit/s.
Questa –triste– operazione generalmente si fa con ifconfig (opzione media) anche se su linux c’è il comando apposito mii-tool, tra l’altro molto comodo per verificare al volo se c’è un collegamento fisico, magari quando potrebbe esserci un cavo difettoso.

Come si imposta questa opzione su OpenBSD?
Lo script che si occupa di configurare la rete su OpenBSD è /etc/netstart. Per ogni scheda di rete rilevata cerca il file /etc/hostname.nomeInterfaccia e da in pasto ad ifconfig ogni sua riga.

Nel mio caso l’interfaccia si chiama xl0, dunque:
# cat /etc/hostname.xl0
media 10baseT
dhcp

Se non vi è mai capitato, date un’occhiata alle man page di ifconfig e mii-tool! ;)

Zimbra su Reverse Proxy (apache2)

Pubblicato il Pubblicato in #sysadmin

Visto che devo ancora mettere a punto l’installazione di Zimbra in chroot per ora vediamo come fare ad affacciare al pubblico un’installazione di Zimbra in una macchina interna alla lan tramite un reverse proxy apache2!

Ci sono due cose utili da sapere su Zimbra:

  • Il suo webserver non è configurato per servire virtualhosts: le richieste all’IP ed al nome di dominio/alias che vi punta vengono servite alla stessa maniera. Questo ci evita complicazioni con il reverse proxy.
  • Ha bisogno di tre percorsi per funzionare: /zimbra/, /service/, /home/. Quindi bisogna mettere anche quelli dietro il reverse proxy.

Tuttavia questi tre percorsi non si possono cambiare, questo vuol dire che con un reverse proxy semplice dovremo accontentarci di tenerci il percorso finale http://nomedominio.it/zimbra. Se cambiassimo /zimbra/ in /webmail/ (ad esempio) incorreremo in degli errori dopo il login perchè verremmo comunque rediretti ad un percorso su /zimbra/. Per ovviare a questo bisogna utilizzare il modulo proxy_html che fa anche un rewrite. E’ un pò più complesso e lo tratterò successivamente, magari.

La porzione di configurazione da inserire in apache (aggiungendola ad un virtualhost o in quella generale, a seconda delle esigenze) è questa, 10.0.0.2 è la macchina sulla quale gira Zimbra:

ProxyRequests Off

<Proxy *>
Order deny,allow
Allow from all
</Proxy>

<Location "/service">
ProxyPass http://10.0.0.2/service
ProxyPassReverse http://10.0.0.2/service
ProxyPassReverse /
#SetOutputFilter proxy-html
ProxyHTMLExtended On
ProxyHTMLURLMap /service /service
</Location>

<Location "/zimbra">
ProxyPass http://10.0.0.2/zimbra
ProxyPassReverse http://10.0.0.2/zimbra
ProxyPassReverse /
ProxyHTMLExtended On
#SetOutputFilter proxy-html
ProxyHTMLURLMap /zimbra /zimbra
</Location>

<Location "/home">
ProxyPass http://10.0.0.2/home
ProxyPassReverse http://10.0.0.2/home
ProxyPassReverse /
ProxyHTMLExtended On
#SetOutputFilter proxy-html
ProxyHTMLURLMap /zimbra /zimbra
</Location>

Personalmente, come spiegato nel mio precedente articolo, ho preferito mettere questa porzione di configurazione in /etc/apache2/conf.d/zimbra (con conf.d disattivato in apache2.conf) per poi includerla nella configurazione di un virtualhost, in maniera tale da poter rendere disponibile zimbra solo ai virtualhosts che desidero senza reincollare porzioni di configurazione ma solo inserendo una direttiva Include.

Praticamente:
<VirtualHost *:80>
ServerAdmin webmaster@trinhackria.org
ServerName trinhackria.org
Include /etc/apache2/conf.d/zimbra

Ovviamente tutto questo non riguarda il pannello di amministratore di dominio. Visto che è in ascolto sulla porta 7071 ed usa SSL non si può mettere dietro reverse proxy alla stessa maniera detta sopra. E’ un po’ più complesso e tratterò anche questo argomento successivamente, magari.

:%s/magari/quando ci proverò/g :D

Impostare la data con il comando ‘date’

Pubblicato il 1 commentoPubblicato in #sysadmin

Inutile nascondersi dietro ad un dito! Sembra una cazzata ma a tutti, almeno una volta nella vita, è capitato di trovarsi a dover impostare l’orario di un sistema senza ntp e una connessione ad internet, senza server grafico né utility adeguate: solo il comando date e la sua ostica man page dalla quale non siamo riusciti a capire granchè sul come fare.

In effetti all’inizio della man page, nella sintassi, c’è scritto! Ma con tutte quelle parentesi quadre pensi che sia meglio continuare a leggere cercando un esempio che trovi alla fine della man page ma sei talmente confuso che non lo noti.

Bene: per chi non ci è mai riuscito o per chi se l’era dimenticato il pattern di default che il comando date si aspetta come argomento è

MMDDhhmmAAAA
(mese giorno ore minuti anno)

Per impostare quindi la data alle 18:48 del 25 luglio 2010 basterà un

date 072518482010

;)

Abilitare SNMPD su OSX

Pubblicato il Pubblicato in #sysadmin

Forse non tutti sanno che OSX ha già a disposizione SNMPD ma di default è disabilitato… vediamo come abilitarlo (ad esempio per monitorare con cacti anche il nostro mac).

Vanno editati alcuni file, meglio farlo con un editor da terminale (tipo vi, vim, nano) e da root (sudo):

/etc/hostconfig:
SNMPSERVER=-YES-

/System/Library/LaunchDaemons/org.net-snmp.snmpd.plist:
<dict>
<key>Disabled</key>
<false/>

Fatto :)
Se avete bisogno che il mac sia raggiungibile in snmp dalla vostra lan bisognerà editare anche snmpd.conf ed aggiungere l’accesso a mynetwork indicando la rete.

/etc/snmp/snmpd.conf:
com2sec mynetwork 10.0.0.0/24 public
com2sec local localhost public

A questo punto possiamo riavviare, o lanciare snmpd con
sudo launchctl load /System/Library/LaunchDaemons/org.net-snmp.snmpd.plist

L’SNMPD di Debian Squeeze

Pubblicato il Pubblicato in #sysadmin

Perchè Cacti non riesce a fare tutti grafici di una macchina Debian Squeeze nonostante su quest’ultima snmpd sia installato e configurato correttamente?

Perchè dalla versione 5.4.2.1 di net-snmp sono sorti dei conflitti di licenza contro i file MIB di IETF e IANA che fino alla Debian Lenny erano contenuti nel pacchetto libsnmp-base. Ovviamente la rigorosa politica di Debian riguardo alle licenze free ne ha portato all’esclusione.

Niente panico: questi file su Debian esistono ancora, ma stanno nei repository non-free e nel pacchetto snmp-mibs-downloader (che praticamente è uno script che li scarica ed installa).

Prima di tutto bisogna aggiungere ‘non-free’ ad ogni riga di sources.list… se usate vi/vim e non avete repository di terze parti ve ne uscite con:

vi /etc/apt/sources.list
:%s/main/main non-free/g
:wq!
apt-get update
apt-get install snmp-mibs-downloader

Poi bisogna rettificare la configurazione di snmpd. Se non avete particolari necessità di sicurezza perché siete in una LAN ben protetta dal firewall sicuramente vi basterà configurare snmpd per dare accesso libero in lettura.

(Indico solo le modifiche, non tutto il file di conf!)

/etc/snmp/snmpd.conf:
#agentAddress  udp:127.0.0.1:161
agentAddress udp:161,udp6:[::1]:161

#rocommunity public  default    -V systemonly
rocommunity public  default

/etc/snmp/snmp.conf:
#mibs :

E si riavvia snmpd con un /etc/init.d/snmpd restart.
A questo punto snmpd sarà in grado, grazie ai preziosi file MIB appena installati, di fornire ai client tutte le informazioni che servono.

credits | rigacci.org

Creare un mirror ftp con lftp

Pubblicato il Pubblicato in #sysadmin

Quando serve scaricare tutta una locazione ftp c’è lftp!

sudo apt-get install lftp

Ecco il classico scenario dove serve scaricare diversi file e dirs per preparare un server tftp:

lftp -c "open http://people.debian.org/~joeyh/d-i/images/daily/netboot/debian-installer/i386/; mirror ."

Compilare Stackless Python su Linux PowerPC (PPC)

Pubblicato il Pubblicato in #sysadmin

IMHO una delle cose più affascinanti del mondo dell’Open Source e del Free Software è che per il 95% delle problematiche c’è già un folle che se ne sta occupando. Per il restante 5% pure, ma è solo questione di tempo… il tempo che i motori di ricerca reindicizzino blog e mailing list.

Io non so quanta gente (in Italia) usi GNU/Linux su processori PowerPC e non so nemmeno quanta gente abbia voglia di smanettare con Netsukuku su processori PowerPC… ma se qualcuno c’è (e mi ci gioco le palle che c’è) e sta sbattendo la testa a cercare di compilare Stackless Python ottenendo solamente un Segmentation Fault… beh forse questo mio post potrebbe essergli utile!

Prima di tutto devo ringraziare Mads Darø Kristensen Aarhus che con il suo post Building Stackless Python on a PS3 (PPC Linux) mi ha dato una direzione sulla quale continuare a smanettare… perchè se lui sulla PS3 ci era riuscito io su un PowerBook G4 no :(

Bene. Non importa se avete scaricato i tarball dei sorgenti o fatto il checkout SVN… spostatevi nella dir dei sorgenti e date un:

./configure --prefix=/test --enable-stacklessfewerregisters

Io ho impostato il prefix in /test per stare tranquillo, di default viene impostato /usr/local ma se avete altra roba installata li forse preferite anche voi installlarlo in una dir separata per non inquinare /usr/local qualora vorreste cancellare del tutto stackless python…

Una volta terminato il ./configure dovete editare il Makefile nella root dei sorgenti (le subdir lo erediteranno) e modificare le var OPT e SLPFLAGS:

  • in OPT cambiare -O2 in -Os
  • in SLPFLAGS modificare -fno-omit-frame-pointer in  -fomit-frame-pointer e -O2 in -Os.

make && sudo make install e poi su /$PREFIX/bin/python avrete il vostro Stackless Python!

Non chiedetemi il perchè… a me ha l’ha compilato solamente così… anzi, se qualche programmatore C passa di qui e me lo spiega gliene sarò grato :)

Ubuntu 10.04 e la Tastiera del PowerBook G4: LA SOLUZIONE DEFINITIVA

Pubblicato il 1 commentoPubblicato in #floss-stuff

 

C’è mancato poco oggi per sfuggire alla tentazione di ridurre il mio PowerBook G4 12″ come quello nella foto sopra… queste tastiere Apple sono davvero odiose! Mi chiedevo: ma se sulla tastiera apple un tasto CTRL c’è ed il tasto ALT su OSX fa da AltGr… perchè non mappare il tasto ALT come AltGr anche su Linux e mappare i dannati tasti MELA come ALT?!? Tutto sarebbe più facile!

 

Cercando su Internet ho trovato un paio di discussioni interessanti che non linko perchè ne ho le scatole piene ma che in pratica -riassumendo- dicevano questo: «Quella strana è Apple, non il resto dell’umanità. Perchè dobbiamo piegarci noi alla mappa sua?». E’ vero!

 

Non c’è bisogno di impostare in GNOME il selettore del terzo livello per poi ritrovarti una sessione Xterm senza la possibilità di digitare @ [ ] {} ¡ ` e la stessa cosa in una console fuori da X! (Si perchè AltGr non serve solo a fare la maledetta simpatica chiocciola! E la chiocciola non serve solo a spedire le email!)

 

Bene, l’incubo è finito:

 

dev.mac_hid.keyboard_sends_linux_keycodes=1

 

Io ho creato il file /etc/sysctl.d/60-apple-keyboard.conf e ci ho messo dentro quella riga. Come si evince la mappa della tastiera verrà tradotta direttamente dal kernel ed il tasto MELA tramutato in AltGr per sempre ed ovunque… senza bisogno di .Xmodmap e palle varie.

Sit Trip: Craig Marshall Keeler (ed il basso elettrico)

Pubblicato il Pubblicato in #sit-trip
Continuo con i miei Sit Trip!

Pensavo: “chissà come è questa Area 51 vista dal satellite”… mi documento un attimo su wikipedia: è nei pressi di Rachel, Nevada; copia ed incolla su Google Earth e non trovo -ovviamente- nulla di entusiasmante a parte un paio di piste di decollo e atterraggio.

Do una zoommata indietro ed inizio a dare un’occhiata alle foto a 360° nei paraggi, senza accorgermi che zoommando un po’ troppo ho varcato il confine e sono finito in California! Clicco a caso in una di queste foto e trovo sto tipo seduto a fumarsi una sigaretta in un posto che non so definire cosa sia! So solo che deve essere un posto allucinante…

… un sacco di oggetti riciclati chissà in quale maniera, chissà come ci sono arrivati li! Ma sembra che tutti più o meno abbino un senso o appartengano ad una sorta di composizione artistica!

C’è pure un basso elettrico appeso al muro!

Chissà chi l’ha costruito, chi l’ha suonato e come è finito lì al sole, all’acqua ed al vento… sarebbe da andare a prenderlo ed aggiustarlo!

Ubuntu 10.04 e le ventole di raffreddamento del PowerBook G4

Pubblicato il Pubblicato in #floss-stuff

In effetti mi sembrava strano che le ventole del mio PowerBook girassero sempre a velocità fissa… ma lì per lì pensavo “beh quantomeno girano, sempre meglio di niente”.

Poi facendo un giro in /proc e /sys mi sono accorto che non c’erano informazioni riguardo alla temperatura rilevata dai sensori ne riguardo alla velocità delle ventole. Infatti c’è bisogno di caricare un modulo che su Ubuntu 10.04/PPC di default non viene caricato: therm-adt746x.

Infatti è basato un

sudo modprobe therm-adt746x

per farle rallentare immediatamente e farle girare a velocità dinamica, con una notevole diminuzione dell’inquinamento acustico della mia stanza.

Facendo qualche ricerca mi sono inbattuto sul wiki di Arch GNU/Linux ed ho scoperto che a pbuttonsd (il demone che si occupa di gestire i tasti speciali del powerbook, e non solo) serviva anche il modulo i2c-dev e -stranamente- nel mio sistema non era caricato nemmeno quello… nonostante i tasti speciali funzionassero.

Per sicurezza dunque li ho aggiunti entrambi al file /etc/modules per caricarli all’avvio.