Iniziative molto valide per aiutare ci procede all’acquisto di un laptop:

TuxMobil – Linux With Laptops and more

Su questo sito web è possibile trovare svariate procedure di setup per diversi tipi di laptop. E’ consigliato verificare questo sito una volta identificato il modello desiderato per verificarne la piena compatibilità

http://tuxmobil.org/

LinuxSi – Negozi Linux Friendly

In queste pagine è possibile trovare tutti i negozi che sono attenti al mondo GNU/Linux e che offrono laptop più o meno liberi da altri sistemi operativi con pre-installato il pinguino

http://www.linuxsi.com/

Dell e Ubuntu

Negli Stati Uniti d’America Dell vende i suoi laptop con preinstallato Linux. Se non è possibile acquistarli direttamente li è possibile coprare lo stesso modello di notebook in Italia essendo quindi certi del funzionamento della procedura di setup di Ubuntu

linux-laptop.net – Linux on Laptop

Altro progetto simile a TuxMobil

http://www.linux-laptop.net/

Asus eeePc

Il ben noto progetto di Asus che ormai vede parecchi modelli di svariate “taglie” in commercio con una distribuzione GNU/Linux su misura

http://www.eeepc.it/

Acer Aspire One

Altro progetto simile ad Asus eeePc

http://www.acer.com/aspireone/

Annunci

External IP show

6 marzo 2008

Cavolatina per passare in console l’ip con cui si esce

#!/bin/bash

wget -q http://iplookup.flashfxp.com/
cat index.html
echo
rm index.html

Controllo remoto via VNC

26 gennaio 2008

Molte volte abbiamo la necessità di prendere il controllo di una macchina da remoto. Esistono molti modi per agire direttamente sulla console del sistema operativo (SSH, RLOGIN, ecc…) ma un solo ed efficace modo per controllare interamente il desktop, con mouse e tastiera per capirci. Quello di cui sto parlando è il protocollo VNC.

Ma cos’è VNC?

VNC = Virtual Network Computing. E’, in pratica, un sistema di visualizzazione remota che permette di ottenere un ambiente ‘desktop’ non solo sulla macchina dove gira, ma ovunque da Internet e da un’ampia gamma di macchine con architetture differenti.

Su quali sistemi operativi lo possiamo utilizzare?

Si possono utilizzare sia il programma server che il programma client su quasi tutti i sistemi operativi. Principalmente la maggiore compatibilità si raggiunge con Windows e Linux.

Ho sentito dire che esistono “molti VNC”, quale scegliere?

Esistono molte software house che sfruttando il protocollo VNC hanno implementato il loro software. Personalmente per Windows vi consiglio come Client e Server UltraVNC che presenta alcune funzionalità inedite nei programmi concorrenti. Per Linux un server valido è x11vnc ed il client di visualizzazione che utilizzo di solito è xvnc4viewer (secondo il mio punto di vista).

Windows

Dove recupero e come installo UltraVNC Server?

Eccoci al punto centrale di questa guida. Innanzitutto dobbiamo capire cosa vogliamo fare; se si desidera installare solo un server per il controllo di quella macchina basterà scaricare questo software, altrimenti scanso equivoci possiamo prendere l’installer per Server e Client da qui. Per scaricare basta che scegliate uno degli svariati mirrors di sourceforge. Noi procederemo con l’installazione del secondo file.

vnc_guide_-_setup_screen
Scegliamo qui i componenti che vogliamo installare. Se state installando UltraVNC sulla macchina da controllare vi basterà selezionare UltraVNC Server (e vi consiglio di lasciare la spunta sui driver e sulla DSM Encryption) altrimenti se state installando il software su una macchina che controlla un altro server avrete bisogno semplicemente di UltraVNC Viever. Effettuata la scelta potete passare alla schermata successiva.

vnc_guide_-_setup_screen_2

Analizziamo voce per voce:

  • Register UltraVNC Server as a system service: vi permette di fare in modo che il server VNC parta come servizio di sistema (può essere utile visto che vi permette di controllare una macchina ancora prima che venga effettuato qualunque login).
  • Start or restart UltraVNC service: vi permette di scegliere se alla fine del setup volete o meno eseguire il servizio UltraVNC (ovviamente nel caso in cui abbiate scelto di registrarlo con service).
  • Configure MS-Logon II: permette di configurare le informazioni di logon per la macchina controllata.
  • Configure Admin Properties: alla fine del setup vi verrà richiesto di configurare le opzioni del server VNC.
  • Clean old VNC registry keys: nel caso in cui abbiate installazioni precedenti di VNC vi permette di cancellare tutte le chiavi di registro delle vecchie installazioni.
  • Create UltraVNC icons: vi crea i collegamenti di VNC Server e Client sul desktop.
  • Associate UltraVNC Viewer with the .vnc file extension: associa i file di profile .vnc con UltraVNC.

Dopo aver effettuato la scelta delle opzioni premete Next per continuare e successivamente Install. Dopo l’installazione fate un bel riavvio che non fa mai male. All’avvio successivo sulla systray (vicino all’orologio) comparirà questa icona (quella con l’occhiolino)

Premete due volte con il tasto sinistro del mouse sull’icona e vi comparirà una finestra di opzioni come questa:

vnc_guide_-_options_screen

Non vedremo tutte le singole opzioni ma le più importanti ed usate.

  • Ports: vi permette di impostare la porta tramite la quale passare per controllare il Server. Ci sono due porte, la prima è per il controllo diretto tramite client VNC l’altra tramite un apposita applet java. A voi interessa principalmente la prima.
  • Enable JavaViewer: ne abbiamo appena parlato, riguarta la connessione sulla http port tramite applet java.
  • VNC Password: è la password che verrà richiesta a chi si connette al momento del collegamento.
  • File transfert Enable: è uno di quei tool dei quali vi avevo parlato prima. Vi permetterà una volta connessi (e dopo aver effettuato il login remoto) di scambiare file tra le due macchine client e server.
  • Disable Viewers inputs: disabilita automaticamente mouse e tastiera di chi si connette.
  • Disable Local inputs: server per disabilitare tastiera e mouse della macchina controllata.

Dopo aver impostato tutto potete dare OK ed il gioco è fatto.

Come mi connetto ad un server VNC?

Seguendo lo stesso setup vi servirà un viewer. Dopo aver effettuato l’installazione ed avendo selezionato UltraVNC Viewer troverete un collegamento nel menu start: C:Documents and SettingsAll UsersMenu AvvioProgrammiUltraVNCUltraVNC Viewer. Dopo aver avviato il programma vi comparirà una finestra di questo tipo:

vnc_guide_-_viewer_screen

Descriviamo le varie opzioni:

  • VNC Server: mettete l’ip della macchina da controllare (se state controllando una macchina in rete locale inserite l’indirizzo ip della LAN altrimenti quello della WAN, se state usando un router e/o un firewall dovrete impostare NAT e regole per il FW).
  • Quick Options: qui potete impostare la qualità della connessione, vi consiglio di fare MODEM nel caso in cui siate via linea ADSL dai 640kbps fino ai 4mbps, SLOW nel caso di un 56kpbs e MEDIUM nel caso di linee superiori a 4mbps (sconsiglio LAN visto che risulta troppo pesante anche per una LAN stessa). Potete inoltre impostare la possibilità di disabilitare la vostra tastiera e mouse spuntando l’opzione View Only e puntando Auto Scaling verrà ridimensionato il desktop del server secondo le dimensioni del client.

Premendo il tasto Options… vi comparirà questa finestra:

vnc_guide_-_viewer_connection_opt_screen

Le opzioni principale riguardano il Full screen mode (verrà aperta la sessione remota a tutto schermo) e il protocollo di encryption.

Controllo multiplo

Nel caso in cui sorga la necessità di controllare più di una macchina nella stessa LAN basterà cambiare le porte su uno dei due server e ridefinire le regole su NAT e/o Firewall ed al momento della connessione esterna da WAN digitare in entrambe i casi l’ip pubblico seguito dai : e dalla porta del server. Per esempio se abbiamo configurato il primo server sulla porta 7000 e il secondo sulla porta 8000 per connettersi via VNC alla prima macchina (supponendo che l’ip pubbico sia 123.213.132.123):

vnc_guide_-_viewer_example_screen

mentre per connettersi al secondo server sarà ip:8000.

Linux

Installare x11vnc

Sfruttando il sistema di pacchettizzazione della nostra distribuzione possiamo recuperare il pacchetto dal repository. Nell’esempio simuleremo l’utilizzo di Ubuntu/Debian.

#  apt-get install x11vnc

Avviare il server in ascolto

Per avviare il server basterà lanciare il seguente comando:

$  x11vnc -passwd password -many -display :0 -rfbport 5900

nell’esempio ho incluso le opzioni per l’impostazione della password, l’attivazione per più sessioni con many, il display di destinazione e la porta d’ascolto (5900). Per altre opzioni:

$  man x11vnc

Utilizzo del client

Per utilizzare il client basta lanciare

$  xvnc4viewer ip:porta

e verrà richiesta la password per la connessione.

Sicurezza, VNC non la prevede

Esistono alcuni plugin per UltraVNC per criptare la connessione ma la password viene comunque mandata in chiaro. La soluzione migliore, se si necessita di una connessione sicura, è un tunnel ssh.

Windows

Con windows il metodo più veloce e facile è utilizzare putty. Putty tra le altre cose permette di instaurare un tunnel con un server ssh in ascolto dall’altra parte e di instaurare una connessione sicura all’interno del tunnel (in questo caso la nostra comunicazione VNC).

Linux

Per linux potete sfruttare i concetti espressi nel documento “Tunnel SSH: ssh -L/-R“.

Dopo aver acquistato un computer Polar S725 la prima cosa è stata configurare lo stesso per la gestione degli esercizi in linux. Dopo parecchie peripezie ho capito che era più facile di quanto pensassi.

Software

  • s710 – Linux software for Polar heart rate monitors
  • SportsTracker – application for people which want to record their sporting activities

Setup e configurazione

Utilizzeremo s710 per collegare il nostro computer ad un ricevitore IRDA. In questo caso ho usato un semplicissimo Actisys IR210l dal prezzo irrisorio configurato sulla scheda madre con un IRQ in modo da essere visto come seriale (/dev/ttySX, nell’esempio /dev/ttyS1).
Scarichiamo i sorgenti di s710, li estraiamo e li compiliamo:

$  wget http://s710.googlecode.com/files/s710-0.21.tar.gz
$  tar -xzf s710-0.21.tar.gz
$  cd s710-0.21
$ ./configure
$  make
#  make install

le opzioni per il configure sono le seguenti (le più rilevanti):

--with-max-hr - massima frequenza cardiaca ammessa
--with-max-cad - massima frequenza di pedalata ammessa
--with-filedir - directory ove salvare i files scaricati

per avere tutte le opzioni:

$  ./configure -- [TAB] [TAB]

Andiamo ad installare anche SportsTracker reperibile sul sito ufficiale con il file sportstracker.jnlp (è presente un pulsante Launch nella pagina). Possiamo salvare il file ed avviarlo da locale:

$  javaws sportstracker.jnlp

Nella home dell’utente verrà creata una directory .sportstracker contente i files di configurazione e degli esercizi.

Utilizzo

Una volta installato il software avviamo il demone in ascolto:

$  s710d -d ir /dev/ttyS1

l’opzione -d definisce il tipo di canale, il secondo parametro è il device file. Per maggiori informazioni sull’uso leggere il README all’interno dell’archivio dei sorgenti.
Prendiamo il nostro Polar, andiamo nel menu Connect, quindi selezioniamo quali file inviare al pc (è possibile selezionarli tutti) ed inviamoli al desktop. Se abbiamo avviato il demone in una pts noteremo che il tool stamperà una progress bar durante il download e confermerà se l’operazione si è conclusa correttamente.
Ora nella nostra filedir (vedi sopra) troveremo una struttura di directory divisa per anno/mese con all’interno i files scaricati.
Avviamo SportsTracker come fatto sopra per l’installazione:

$  javaws sportstracker.jnlp

(javaws nella versione 6 permette di creare un collegamento .desktop sulla scrivania)

polar_linux_-_001

Il programma si presenta così
facciamo doppio click sul giorno dell’esercizio che vogliamo caricare

polar_linux_-_002

Creazione dell’esercizio
andiamo a sfogliare con il pulsante per il campo HRM file andando a recuperare il file srd scaricato dal nostro Polar, schiacciando su View si aprirà una finestra dove possiamo vedere tutti i dati dell’allenamento

polar_linux_-_003

Dati principali

polar_linux_-_004

Grafico analitico
Questa finestra è accessibile direttamente selezionando il giorno dal calendario e premendo Ctrl + H.

Molti (troppi) si chiedono che distribuzione scegliere per avvicinarsi al mondo GNU/Linux. Ognuno hai suoi punti di vista e le sue vedute e probabilmente le differenze li per li non sono poi molte. I per questo potrei consigliare qualcosa piuttosto che qualcos’altro solo perché lo utilizzo e lo stimo. Le mie personali scelte però possono essere condizionate dall’abitudine. In ogni caso mi permetto di suggerire:
Per utilizzo domestico e, in ogni caso, client:

Ubuntu è scaricabile dalla rete sotto forma di immagine ISO e si trova anche una versione (in realtà più di una) già localizzata in italiano:

Per servers o comunque macchine in produzione con una richiesta di stabilità e continuità elevata:

Debian è anch’essa scaricabile dalla rete sotto forma di ISO in inglese (con la possibilità di installare in seguito i pacchetti per utilizzare la maggior parte del software in italiano):

Per le macchine con risorse limitate è possibile sfruttare la versione di Ubuntu con XFCE, ovvero Xubuntu:

personalizzabile nella versione alternate (vale per tutte le distribuzioni della famiglia Ubuntu).

Qui potete trovare un ottimo script che vi permette di individuare la distribuzione più idonea:

Tutto il resto lo dovete mettere voi 🙂

IOS Cisco: qualche Tips

5 novembre 2007

Mi capita spesso di aver la necessità di ricordare qualche comando per vedere i principali parametri di una connessione ADSL su un router cisco. Diciamo che questa pagina serve principalmente a me come memo e a voi come suggerimento.

Informazioni sul caller, l’interfaccia che effettua la chiamata dial-up

Con il seguente comando possiamo vedere il metodo di autenticazione (PAP, CHAP), l’ip pubblico assegnatoci dall’ISP ed il count dei pacchetti transitati dall’interfaccia Virtual-access:

sh caller full

Dettagli sulla potenza e la modalità di connessione

Per vedere la modalità di connessione DSL, la potenza del segnale ed altri paramentri sul modem (tra cui la velocità) possiamo usare sh dsl seguito dalla specifica dell’interfaccia ATM.

sh dsl interface ATM0

Cisco Discovery Protocol

Utile protocollo per la raccolta di informazioni sull’hardware cisco nella stessa subnet. Per vedere le informazioni è necessario attivare cdp:

conf terminal
  cdp run
exit

dopodiché utilizzare sh cdp per vedere le informazioni, per esempio suigli apparati vicini

sh cdp neighbors detail

ProxyReverse con Apache2

27 ottobre 2007

Supponiamo di avere la necessità di configurare apache2 per un ProxyReverse verso un servizio offerto, per esempio, questo:

$  netstat -ntlp
Proto Recv-Q Send-Q  Local Address    Foreign Address   State     PID/Program name
tcp        0      0  127.0.0.1:1234   0.0.0.0:*         LISTEN    -

e quindi fruibile solo in locale.

In questo caso voglio permettere a chi accede da 192.168.1.0/24 di raggiungere questo servizio che è in esecuzione su una macchina della stessa subnet (es. 192.168.1.100) e voglio che sia protetto da SSL

Setup apache2 e relativi moduli

partiamo con l’installazione di apache:

#  apt-get install apache2

abilitiamo i moduli di apache che ci serviranno

#  a2enmod proxy
#  a2enmod proxy_http
#  a2enmod ssl

o se preferite:

#  cd /etc/apache2/mods-enabled/
#  ln -s ../mods-available/proxy.conf proxy.conf
#  ln -s ../mods-available/proxy.load proxy.load
#  ln -s ../mods-available/proxy_http.load proxy_http.load
#  ln -s ../mods-available/ssl.conf ssl.conf
#  ln -s ../mods-available/ssl.load ssl.load

Creazione certificato SSL

creaiamo una subfolder per il certificato:

#  mkdir /etc/apache2/ssl

ed ora creiamolo. Lo useremo solo privatamente senza necessità di rilascio da parte di una CA.

Cominciamo col generare la chiave:

$  openssl genrsa -out name.key 1024

ed esportare la request (specificando i dati che preferiamo in quanto non rilevanti):

$  openssl req -new -key name.key -out name.csr

Ora proseguiamo ricevendo il certificato (specificando i dati che preferiamo in quanto non rilevanti, inclusi i giorni di validità del certificato):

$  openssl x509 -in  name.csr  -out name.crt -req -signkey  name.key -days 1825

Configurazione apache2

Adesso passiamo alla configurazione di apache2. Creiamo un nuovo sito in sites-available per comodità:

# touch /etc/apache2/sites-available/example_proxy_reverse

e modifichiamolo con l’editor di testo che preferiamo in questo modo:

Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
      ServerName localhost
      SSLEngine On
      SSLCertificateKeyFile ssl/name.key
      SSLCertificateFile ssl/name.crt
      ProxyRequests Off
      <Proxy *>
              Order deny,allow
              Allow from all
      </Proxy>
      ProxyPass /virtual-path http://localhost:1234/
      ProxyPassReverse /virtual-path http://localhost:1234/
</VirtualHost>

oppure, nel caso in cui si voglia un prelogin htaccess di apache per rafforzare la sicurezza, così:

Listen 443
NameVirtualHost *:443
<VirtualHost *:443>
      ServerName localhost
      SSLEngine On
      SSLCertificateKeyFile ssl/name.key
      SSLCertificateFile ssl/name.crt
      ProxyRequests Off
      <Proxy *>
              AuthType Basic
              AuthName "Remote Shell Access"
              AuthUserFile /etc/apache2/nostro_file_htpasswd
              Require user nome_utente_htaccess
              Order deny,allow
              Allow from all
      </Proxy>
      ProxyPass /virtual-path http://localhost:1234/
      ProxyPassReverse /virtual-path http://localhost:1234/
</VirtualHost>

Ora abilitiamo il sito appena creato:

#  a2ensite example_proxy_reverse

o se preferite:

#  cd /etc/apache2/sites-enabled/
#  ln -s ../mods-available/example_proxy_reverse example_proxy_reverse

Riavvio dei servizi

Ora riavviamo apache2:

#  /etc/init.d/apache2 restart

Adesso puntando a:

https://192.168.1.100/virtual-path

raggiungeremo il nostro servizio offerto localmente su quella macchina.