Tag Archive for 'network'

Mondo Virtuale

L’ultima volta che avevo giocato con KVM, cercavo un modo per far andare la rete, non importava come…

Trovata quella soluzione molto arrangiata, non contento, ho cercato qualcosa di molto più elegante per gestire la situazione. Avviare uno script bash per acquisire i privilegi di amministrazione, impostare tutte le interfacce di rete e avviare kvm sempre da root, mi faceva storcere troppo il naso.

Oggi casualmente mi sono imbattuto su una libreria di astrazione dei cosidetti virtualizzatori: libvirt. Ok una libreria, ma come controllarla?! Ebbene grazie a Fedora/RH, è stato reso disponibile un software di gestione grafica tanto comodo chiamato in modo molto originale virt-manager.

Ancora sono in fase di testing, ma ho notato che non viene aggiunto il supporto all’ACPI e quindi il sistema virtualizzato inizia a consumare il 100% della CPU del povero portatilino. In questo thread c’è scritto come aggiungere il supporto ACPI, ma è meglio farlo prima dell’installazione di sistemi Windows: non gradiscono molto il cambio di questo tipo di driver…

Adesso devo solo risolvere i problemi di esecuzione da utente normale e il gioco è fatto!

Tags: , , , ,

KVM e la Rete

Il processore Intel P9500 montato sul mio piccolo portatilino supporta il set di istruzioni Intel® VT specifiche per una virtualizzazione a livello quasi hardware (anche se non è la z/Architecture :P).

Con gli ultimi Kernel, Linux ha introdotto moduli per questa tecnologia e una versione modificata dell’emulatore QEMU riesce a sfruttare, o almeno ci prova, questa caratteristiche. La Kernel-based Virtual Machine (KVM) supporta una gran quantità di sistemi operativi, ma fortunatamente basta Windows XP a chi, data l’arretratezza della cultura informatica italiana, è obbligato ad usare sistemi Microsoft per piccoli e stupidi lavori, dove nemmeno Wine ti può essere d’aiuto.

Il sistema in sé è molto grezzo e per far scroccare al sistema ospitato la rete di quello ospitante ci sono non pochi passi da compiere. La soluzione base è quella di creare un bridge tra le due connessioni, ma questo approccio può compromettere gli eventuali automatismi di un sistema desktop. Ho optato quindi per la creazione di una rete virtuale e dare al mio sistema delle capacità di routing temporanee.

Ecco lo script kvm-ifup:

/etc/kvm/kvm-ifup
  1. #!/bin/sh
  2.  
  3. switch=$(/bin/netstat -rn | awk '/^0\.0\.0\.0/ { print $NF }')
  4. dns=$(grep nameserver /etc/resolv.conf | cut -f 2 -d " ")
  5.  
  6. /sbin/ifconfig $1 192.168.2.1 netmask 255.255.255.0 up
  7. echo 1 > /proc/sys/net/ipv4/conf/$1/proxy_arp
  8. echo 1 > /proc/sys/net/ipv4/conf/$1/forwarding
  9. echo 1 > /proc/sys/net/ipv4/conf/$switch/forwarding
  10.  
  11. /sbin/iptables -t nat -I PREROUTING 1 -i $1 -p udp -d 192.168.2.1 –dport 53 -j DNAT –to-destination $dns
  12. /sbin/iptables -t nat -I POSTROUTING 1 -o $switch -s 192.168.2.0/24 -j MASQUERADE

L’orribile e oscena tecnica di reindirizzare le query DNS, l’ho presa da tutti i router ultimamente in commercio. Chiedo perdono…

Ed invece lo script kvm-ifdown:

/etc/kvm/kvm-ifdown
  1. #!/bin/sh
  2.  
  3. switch=$(/bin/netstat -rn | awk '/^0\.0\.0\.0/ { print $NF }')
  4.  
  5. /sbin/iptables -t nat -D POSTROUTING 1
  6. /sbin/iptables -t nat -D PREROUTING 1
  7.  
  8. echo 0 > /proc/sys/net/ipv4/conf/$1/proxy_arp
  9. echo 0 > /proc/sys/net/ipv4/conf/$1/forwarding
  10. echo 0 > /proc/sys/net/ipv4/conf/$switch/forwarding
  11.  
  12. /sbin/ifconfig $1 down

Questi due script vengono ovviamente lanciati dall’invocazione del kvm:

  1. modprobe tun; kvm -smp 2 -usb -net tap -net nic winxp_x86.img

Come si può notare, è necessario invocare il comando con i privilegi di root, altrimenti niente caricamento di moduli per l’interfaccia virtuale, niente configurazione di interfacce di rete, niente impostazione del firewall, ecc. ecc… E sul sistema operativo emulato va impostato un indirizzo di classe 192.168.2.0/24 mentre il default gateway e il dns impostati su 192.168.2.1.

Devo risolvere ancora qualche problemino come aggiungere l’audio o una tastiera a 105 tasti visto che freccette, pagina su e giù non vanno.

Tags: , , , ,

Alice Solagate 2 Plus

Sono al limite della sopportazione verso le aziende italiane e il loro pressappochismo nelle scelte, per così dire, tecnologiche.

Ho provato a dare una possibilità a questa nuova tecnolgia tanto attesa chiamata IPTV per vedere la tivvì via internet con Alice, ma decisamente non farò più lo stesso errore.

Genialmente ti forniscono di uno pseudo-router e un decoder da collegare alla televisione per poter sfruttare i contenuti, ma la cosa che non forniscono è la possibilità di interagire con queste periferiche di scarsa fattura per impostarle nel miglior dei modi.

Come se non bastasse la mentalità del mantenere tutto bloccato, le periferiche lasciano molto a desiderare. Ho dovuto cambiare il primo router-modem della “Dial Face” poiché, con Linux, droppava qualsiasi connessione TCP/IP dopo nemmeno un secondo impedendo il caricamento delle pagine e lasciando piantato il browser sul “waiting…”.

Ora, con un modem molto simile ma della Pirelli, l’interfaccia wireless impazzisce (dopo un crash / riavvio) impedendo di associare il notebook o rendendo irraggiungibile qualsiasi indirizzo persino quello del router stesso. Ho dovuto usare un vecchio router collegato via cavo a questa “sola” della Pirelli così da creare un ponte wireless…

A.A.A. Cercasi router serio (magari Linksys) che supporti il routing statico su una interfaccia di rete per far funzionare anche la HomeTv.

update. Oggi ha definitivamente sbroccato… Prima scalzetta la connessione:

marce@bestio ~ $ ping 192.168.1.1
  1. PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
  2. 64 bytes from 192.168.1.1: icmp_seq=33 ttl=64 time=4702 ms
  3. 64 bytes from 192.168.1.1: icmp_seq=34 ttl=64 time=3794 ms
  4. 64 bytes from 192.168.1.1: icmp_seq=36 ttl=64 time=2259 ms

E ora non mi fa più nemmeno associare.

Tags: , , , , , ,

iTunes Shared Library

La più grande pecca del monolitico programma per ascoltare musica e sincronizzare i propri iPod, meglio conosciuto come iTunes, è sicuramente quello di essere completamente progettato su se stesso pur esistendo la possibilità di utilizzare delle pseudo librerie condivise.

Ora, chi ha la facoltà di avere una sorta di file server dove incentrare la propria (e non solo) musica ma mantiene la necessità di dover sincronizzare diversi iPod da diversi computer, sicuramente la scelta migliore non è iTunes ma bensì qualcosa come Floola o aTunes (o magari aspettare la giusta maturità d Songbird…) ovvero programmi più aperti e che non obbligano a sincronizzare lo stesso device dallo stesso computer.

Una funzione che però mi sconfifera non poco è il supporto con il protocollo DAAP. Questo arnese, in combinazione con l’architettura Zeroconf, o Bonjour che a dir si voglia, può essere la soluzione giusta per chi desidera avere una rete locale piena di servizi che non necessitano di alcuna configurazione poiché, con un approccio molto simile a quello di un comune virus, vengono annunciati e pubblicati per tutta la rete. Approccio poco controllabile in termini di sicurezza.

Con il software Firefly è possibile pubblicare un intero Media Server visibile soprattutto anche da iTunes ma purtroppo ci sono vari problemi:

  • non si possono tenere sotto controllo le interfacce di rete sulle quali aprire le porte per la condivisione;
  • non c’è la modalità di scrittura;
  • le canzoni non avranno sempre lo stesso id e quindi rende la sincronizzazione con l’ipod assai difficile;
  • l’aggiornamento della lista compie una scansione di TUTTE le cartelle.

Male, molto male. Quindi: rimandato a settembre!.

Tags: , , , , ,