Archivio per la categoria ‘Hardware e software’

NAT con iptables. Condivisione di una connessione

Domenica, Agosto 30th, 2009

iptables, applicazione per modificare le regole di firewalling in ambiente GNU/Linux, permette anche di attivare un sistema di NAT. La tecnica di Network Address Translation maschera gli indirizzi in ingresso ad una interfaccia di rete con l’indirizzo IP della macchina dove le regole sono impostate e li fa uscire su una interfaccia di output: in questo modo è possibile, ad esempio, condividere una connessione di rete con un’altra macchina.

Di seguito c’è uno script BASH per attivare il NAT sui pacchetti entranti nell’interfaccia di rete eth1: essi vengono inoltrati attraverso l’interfaccia eth2.

#!/bin/bash

# Script che imposta le regole per effettuare NAT con un sistema GNU/Linux.

IPTABLES=/sbin/iptables

# Interfacce di rete interessate dal NAT
IFIN=eth1	# Interfaccia di rete verso il computer locale
IFOUT=eth2	# Interfaccia con accesso alla rete esterna

# Regole NAT
$IPTABLES -t nat -A POSTROUTING -o $IFOUT -j MASQUERADE
$IPTABLES -A FORWARD -i $IFIN -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A FORWARD -i $IFIN -o $IFOUT -j ACCEPT

# Abilitazione ip forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

L’ultimo passo, da effettuare sul client che sfrutta il NAT, consiste nella modifica della tabella di routing. Da utente root basta eseguire da shell la seguente istruzione dove ip_address è l’indirizzo dell’host dove sono attive le regole di NAT.

alice:/# route add default gw ip_address

Passione Flash e AMD64

Domenica, Agosto 30th, 2009

30 agosto 2009 – La battaglia tra l’autore del blog e la tecnologia di casa Adobe, Flash, sembra conclusasi. Era l’autunno del 2006 quando l’acquisto del portatile, primo e unico, inaugurò la convivenza con l’architettura AMD64: Debian GNU/Linux, un suo port allora non ufficiale, aveva appena i software più diffusi compilati per la CPU AMD; le guide online per l’installazione della distribuzione erano striminziti articoli e ogni informazione in più valeva come un tesoro. Nella barca dei pirati, però, c’era vento forte: ben presto il sistema operativo e le applicazioni intorno raggiunserò la maturità necessaria per supportare l’architettura a 64 bit.

Flash, fino a stamattina, è rimasto un tabù. Nel corso degli anni – ricordo che la storia inizia nel 2006 – si sono rincorse diverse soluzioni per usare al meglio la tecnologia Adobe, ognuna con pro e contro, ma nessuna troppo convincente per giustificarne la mia adozione: sono un “pioniere” (con quale diritto poi?) di GNU/Linux su AMD64 e su quel tipo di macchine ho sempre installato un sistema a 32 bit da avviare in chroot; così ho sempre avuto la mia seconda versione del sistema operativo da avviare, alla fine, solo per vedere quei siti con Flash.

Oggi ho deciso di aggiornarmi sulla convivenza AMD64-Flash: ho scoperto che Adobe sta lavorando a un plugin Flash, seppur in versione alpha, per l’architettura a 64 bit; dopo il download del file, al seguente link Adobe Labs - Download Flash Player 10, l’ho provato.

L’installazione su Iceweasel, su distribuzione Debian GNU/Linux, è semplice. Dal pacchetto appena scaricato si estrae il file libflashplayer.so; esso va copiato nella directory /usr/lib/iceweasel/plugins che, se assente, va creata. (Su un articolo trovato nella rete si suggeriva di creare anche un link simbolico al file libflashplayer.so nella directory /usr/lib/iceweasel/xulrunner/plugins/: penso che serva per utilizzare Flash nelle applicazioni XUL; nel dubbio ho seguito il consiglio.) Non rimane che riavviare Iceweasel e controllare all’URL about:plugins che sia presente la voce riguardante il plugin Flash. L’installazione è conclusa.

Al momento il plugin sembra funzionare bene in tutti i siti visitati, anche in quelli in cui a volte avevo problemi con il plugin a 32 bit installato nell’altro sistema Debian GN/Linux: forse la mia “migrazione” è avvenuta!

p.s Per l’occasione ho aggiunto ad Iceweasel l’estensione Flashblock: disabilità tutti gli oggetti Flash nella pagina finché non vi si clicca sopra, per attivarli; permette un risparmio di risore poiché la tecnologia Adobe non brilla certo per snellezza.

WiFi CESMI e GNU/Linux

Sabato, Maggio 23rd, 2009

Ingegneria 2009Le intenzioni di questo articolo sono spiegare in pochi passi come configurare la rete wireless offerta dal CeSMI (Centro Servizi Multimediali ed Informatici) per gli studenti dell’Università Politecnica delle Marche in ambinte GNU/Linux. Per tale scopo verranno utilizzati la distribuzione Debian GNU/Linux e l’applicativo wpa_supplicant necessario per l’autenticazione alla rete protetta con protocollo PEAP.

Il primo passo per avere una rete funzionante è effettuare il download del certificato da usare per l’autenticazione; tale file è disponibile dal sito del CeSMI nella sezione Rete wi-fi. Andare in una delle sezioni dedicate agli altri sistemi operativi e scaricare il certificato.

Poi occorre configurare wpa_supplicant. Il file di configurazione, su Debian, si trova nella directory /etc, come di consueto; il nome è wpa_supplicant.conf. Di seguito se ne trova un esempio da completare con le proprie credenziali d’accesso.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1
 
network={
   ssid="cesmi-univpm"
   proto=WPA
   key_mgmt=WPA-EAP
   pairwise=TKIP
   eap=PEAP
   identity="username usato nel sito univpm.it”
   password=”password usata nel sito univpm.it”
   ca_cert=”path certificato/cisco-acs.univpm.intra_wifi-CA.crt”
   id_str=”"
}

Una volta configurato il programma la connessione alla rete si stabilisce lanciando wpa_supplicant da riga di comando con le credenziali dell’utente root.

alice:/home/gilberto# wpa_supplicant  -Dwext -i interfaccia -c /etc/wpa_supplicant.conf

L’ultimo passo, ad autenticazione effettuata e connessione con il router stabilita, è ottenere l’indirizzo IP tramite il comando dhclient. Infine si può impostare il proxy sul proprio browser: internet funziona!

Tomcat e AXIS (Debian GNU/Linux)

Sabato, Gennaio 10th, 2009

Quick and dirty. Ancora una volta sottolineo la mia incapacità di fare ricerche approfondite preferendo ad esse la semplice risoluzione del problema: nel seguente breve articolo esporrò le difficoltà incontrate durante l’installazione di AXIS con Tomcat in ambiente Debian GNU/Linux. Ovviamente rimando alla documentazione ufficiale (Axis installation instructions) per informazioni dettagliate.

Installazione di AXIS. Non mi dilungo su quali file vanno copiati e dentro quali directory di Tomcat: quello è tutto già bene scritto. Il problema incontrato riguarda il mancato riconoscimento della presenza di tali file: per la sua risoluzione è utile leggere il paragrafo A word on Contexts della documentazione. Ogni web application è definita da un contesto che deve esser descritto a Tomcat per farla avviare. Successivamente è stato anche necessario aggiungere l’attributo deployOnStartup="true" nel file di configurazione server.xml per far sì che il web server ricercasse all’avvio le nuove applicazioni da caricare.

Avvio di AXIS. Dopo aver risolto il problema della “visibilità” di AXIS è comparso il problema di lanciare – gli informatici usano una parola così brutta? – tale web application: ogni tentativo di avvio terminava con un’eccezione (AccessControlException) riguardanti i permessi sul file logging.properties. Quest’errore si verifica per delle policy di sicurezza Java usate da Tomcat: la soluzione quick and dirty è stata modificare lo script per l’avvio del webserver (/etc/init.d/tomcat5.5) cambiando il valore della variabile TOMCAT5_SECURITY da yes a no.

Ora AXIS funziona! È ovvio che, con maggior tempo, si sarebbero potuti risolvere in maniera migliore i problemi comparsi, ma, come si è intuito dall’inizio, il mio obiettivo era fornire un promemoria e questo è il risultato.

Alice Gate 2 Plus Wi-Fi e GNU/Linux

Sabato, Gennaio 3rd, 2009

Alice Gate 2 Plus Wi-Fi è il “nome” con cui si presenta il modem/router per l’ADSL made in Telecom. Tale dispositivo ostacola la navigazione degli utenti GNU/Linux per delle incompatibilità sulle configurazioni del protocollo TCP/IP.

Di seguito si elencano le impostazioni da correggere nel file /etc/sysctl.conf.

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_ecn = 0

Gli stessi parametri possono essere modificati al volo attraverso l’applicazione sysctl.

Emacs e SWI-Prolog

Lunedì, Novembre 17th, 2008

Di seguito sono elencati i comandi da usare con Emacs per interagire con l’interprete PROLOG Swi-Prolog. Per maggiori dettagli si rimanda il lettore al link Instructions On Installing SWI-PROLOG Integration In EMACS Kit (Linux only) o a ricerche su Google.

ALT-x prolog-mode
ALT-x run-prolog

‘triggers-awaited’. Debian fa i capricci

Sabato, Settembre 6th, 2008

L’errore all’installazione di un nuovo pacchetto è stato il seguente.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
lolita:/home/gilberto# apt-get -f install gnupg
Lettura della lista dei pacchetti in corso... Fatto
Generazione dell'albero delle dipendenze in corso       
Lettura informazioni sullo stato... Fatto        
Pacchetti suggeriti:
  gnupg-doc
I seguenti pacchetti saranno aggiornati:
  gnupg
1 aggiornati, 0 installati, 0 da rimuovere e 186 non aggiornati.
1 non completamente installati o rimossi.
È necessario prendere 0B/1992kB di archivi. 
Dopo quest'operazione, verranno occupati 0B di spazio su disco.
dpkg: errore processando gpgv (--configure):
 il pacchetto gpgv non è pronto per la configurazione
 non posso configurarlo (stato corrente `triggers-awaited')
Sono occorsi degli errori processando:
 gpgv
E: Sub-process /usr/bin/dpkg returned an error code (1)

La distribuzione Debian GNU/Linux non ne voleva sapere di ignorare il pacchetto gpgv per installare il resto (e reinstallare il pacchetto difettoso stesso); nello stesso momento le ricerche sul web portavano deludenti risultati inutili per correggere il problema.

La soluzione, venuta da un’utile conversazione via IRC, è stata l’esecuzione di due comandi: dpkg --force-depends --purge gpgv seguito da apt-get -f install gpgv. Risolto!

Adattatore USB-RS-232 HL-340

Sabato, Luglio 26th, 2008

Il continuo progresso tecnologico, l’invenzione di nuovi e veloci canali comunicativi tra componenti hardware, sta vedendo la scomparsa di modalità di collegamento in passato diffuse: è il caso dell’interfaccia seriale RS-232 ormai abbandonata e da anni non implementata neanche sulle schede madri per computer fissi. Ci sono però circostanze in cui una comunicazione di questo genere è necessaria, ad esempio per collegare vecchi device a macchine recenti: l’adattatore HL-340 viene in soccorso convertendo un porta USB in una RS-232.

Con Debian GNU/Linux è molto semplice usare tale dispositivo. Il kernel 2.6.25.9, si accorge dell’inserimento del device e carica in automatico — se abilitato nella configurazione del kernel — i moduli usbserial e, specifico per l’adattatore, pl2303.

Nella versione 2.6.22.1 del kernel, senza il modulo specifico pl2303, il funzionamento del device si ottiene caricando il modulo usbserial con gli opportuni parametri per l’identificazione dell’adattatore (per sapere quali sono usare lsusb con opzione -v). Di seguito è riportato il comando da shell.

alice:/home/me# modprobe usbserial vendor=0×4348 product=0×5523

A questo punto l’interfaccia seriale è disponibile al percorso /dev/ttyUSB0 (nel mio caso).