SSH port forwarding

Non sapevo che titolo dare all’articolo perché non voglio parlare di “tutto” il port forwarding offerto da ssh, ma di una situazione ben specifica:

dal nostro computer vogliamo accedere ad un particolare servizio (vnc, rdp, smtp, ecc) di un host in una lan, che però non possiamo raggiungere direttamente perché non abbiamo la porta “nattata” sul router.

L’unica cosa che abbiamo a disposizione è un host (molto probabilmente un Linux)  con ssh e la relativa porta “nattata“.

Sporchiamoci le mani, scaricate Putty:

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Installatelo ed avviatelo.

Ora inserite l’ip del server remoto sul quale è disponibile ssh.

Connection->SSH->Tunnels

La destinazione sarà composta dall’indirizzo ip privato dell’host che volete raggiungere più la relativa porta.

Mentre la porta sarà quella utilizzata in locale, io ho scelto 4444, ma voi potete fare come preferite. Vi consiglio di usare porte “alte”, cioé maggiori della 1024.

Infine cliccate il bottone “Add”.

Cliccate infine sul bottone “Open” e fate il login.

Facciamo un esempio pratico per capire cosa è successo, ipotizziamo che abbiate impostate i seguenti valori e il vostro obiettivo sia contenervi ad una sessione vnc.

ipdelserver: 208.67.220.220
source port: 4444
destination: 192.168.1.10:5900

Non vi rimane che aprire il vostro client vnc e come indirizzo specificare:

localhost:4444

e magicamente sarete indirizzati all’host che prima sarebbe stato impossibile raggiungere! Potete usare anche questa procedura per rendere più sicure le vostre “transazioni”!

Se come me siete amanti della linea di comando, l’equivalente è:

ssh -L portalocale:iphostremoto:portahost utente@ipdelserverssh

Esempio pratico precedente:

ssh -L 4444:192.168.1.10:5900 simone@208.67.220.220

Ripristinare MBR Windows 7 (e posteriori) senza dvd

Come mai il software nella partizione di ripristino dei netbook non è in grado appunto di ripristinare l’mbr? Potrebbero fornire una pendrive usb con il sistema operativo, magari dando la possibilità di scegliere all’utente QUALE sistema operativo.
Comunque:

Scenario:

  1. “No operating system found”
  2. Nessun dvd di ripristino di Windows

E adesso?
Si potrebbe installare un altro boot manager (grub, lilo…) ma il nostro obiettivo è quello di ripristinare la tabella delle partizioni come Microsoft comanda (o per non far vedere all’assistenza che avete installato un altro sistema operativo).

Ovviamente, arriva GNU/Linux in nostro aiuto!

Masterizzate l’ISO se disponete di un lettore cd o usate Unetbootin per disporre di una pendrive avviabile.

Vi consiglio di usare Unetbootin perché così potete copiarvi già il programma di cui avete bisogno.

Tale programma è ms-sys.

Scaricate i sorgenti da qui e copiateli nella vostra pendrive avviabile… e avviatela!

Adesso dovete recuperare l’archivio con i sorgenti e installarli ma ci sono delle dipendenze da soddisfare prima di compilare.

Se usate Debian o derivate (Ubuntu) dovete prima installare:

sudo apt-get install build-essential gettext

Adesso posizionatevi nella directory dove vi siete salvati l’archivio dei sorgenti e:

tar -xzvf ms-sys*.tgz
cd ms-sys
make
sudo make install

Adesso disponete di un potentissimo tool, i suoi parametri di avvio sono:

Usage:
ms-sys [options] [device]

Options:
-1, --fat12     Write a FAT12 floppy boot record to device
-2, --fat32nt   Write a FAT32 partition NT boot record to device
-3, --fat32     Write a FAT32 partition DOS boot record to device
-4, --fat32free Write a FAT32 partition FreeDOS boot record to device
-5, --fat16free Write a FAT16 partition FreeDOS boot record to device
-6, --fat16     Write a FAT16 partition DOS boot record to device
-l, --wipelabel Reset partition disk label in boot record
-p, --partition Write partition info (hidden sectors, heads and drive id) to boot record
-H, --heads  Manually set number of heads if partition info is written
-7, --mbr7      Write a Windows 7 MBR to device
-i, --mbrvista  Write a Windows Vista MBR to device
-m, --mbr       Write a Windows 2000/XP/2003 MBR to device
-9, --mbr95b    Write a Windows 95B/98/98SE/ME MBR to device
-d, --mbrdos    Write a DOS/Windows NT MBR to device
-s, --mbrsyslinux    Write a public domain syslinux MBR to device
-z, --mbrzero   Write an empty (zeroed) MBR to device
-f, --force     Force writing of boot record
-h, --help      Display this help and exit
-v, --version   Show program version
-w, --write     Write automatically selected boot record to device

Prendete nota di come viene identificato il vostro hard disk con il comando:

sudo fdisk -l

Dovrebbe essere tipo:
/dev/sda

Quindi, per esempio, se voleste ripristinare l’mbr dove vi è installato un Windows 7:

ms-sys -7 /dev/sda

Riavviate e voilà!

Ubuntu 10.10 sull’Acer Aspire One D260

< Update del 22/11/2010: CARD READER FUNZIONANTE!!! In fondo alla pagina per la procedura >

Ultimo acquisto, un Acer Aspire One D260 al pessimo prezzo di 299€.

Perché Acer? Continuo a lamentarmi della scadente qualità del telaio, di come ci “appiccicano” la componentistica e di quanto faccia schifo l’assistenza, ma alla fine ho sempre un maledetto acero tra le mani!

Dal mio laptop (Aspire 5920g), al monitor (H223HQ) e infine a questo netbook della mia fidanzata.

< Update del 05/03/2011: come volevasi dimostrare, dopo 7 mesi di vita si sono guastati alcune zone di tasti. L’ennesima conferma della scarsa qualità del prodotto! Attendo notizie dall’assistenza. >

Lo accendo e termino l’installazione di Windows 7, ovviamente preinstallato!

Sistema inutilizzabile, non riesco neppure a scaricare Firefox per i continui crash di Internet Explorer.

Ah, starà facendo gli aggiornamenti… bene, attendo con pazienza 2 riavvii per circa 60 update.

Dopo tutti gli aggiornamenti, stesso film: Explorer che si blocca, navigazione lentissima e, assurdo, neanche ad aprire l’esplora risorse.

Sarà l’antivirus MerdAfee preinstallato? Rimuoviamolo! Niente da fare… un sistema così lento avrebbe fatto incazzare anche San Francesco!

Ah, non si può nemmeno cambiare lo sfondo! Microsoft riesce sempre a farmi ridere…

Installo allora la Ubuntu Netbook Edition 10.04. Rinato! C’è stato meno tempo a installarsi il sistema operativo, cambiare lingua e fare tutti gli aggiornamenti che Windows a fare i soli aggiornamenti.

Stavo per scrivere un articolo, tipo “Acer: Windows? Ubuntu!” quando accade l’inevitabile: il lettore memory card non viene neppure visto dal sistema! E quello era proprio fondamentale per le cazzo di “fotine”.

Purtroppo finché i produttori hardware non si decidono a rilasciare i driver delle loro periferiche per Linux…

Ho provato infine con la beta di di Ubuntu 10.10 e, anche se non legge ancora le memory card, lsusb mi dice che ci sono segni di vita:

Bus 001 Device 006: ID 0cf2:6250 ENE Technology, Inc.
Device Descriptor:
 bLength                18
 bDescriptorType         1
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 idVendor           0x0cf2 ENE Technology, Inc.
 idProduct          0x6250
 bcdDevice            1.00
 iManufacturer           1 ENE Flash  
 iProduct                2 UB6250       
 iSerial                 4 606569746801
 bNumConfigurations      1
 Configuration Descriptor:
 bLength                 9
 bDescriptorType         2
 wTotalLength           32
 bNumInterfaces          1
 bConfigurationValue     1
 iConfiguration          0
 bmAttributes         0x80
 (Bus Powered)
 MaxPower              498mA
 Interface Descriptor:
 bLength                 9
 bDescriptorType         4
 bInterfaceNumber        0
 bAlternateSetting       0
 bNumEndpoints           2
 bInterfaceClass       255 Vendor Specific Class
 bInterfaceSubClass      6
 bInterfaceProtocol     80
 iInterface              0
 Endpoint Descriptor:
 bLength                 7
 bDescriptorType         5
 bEndpointAddress     0x01  EP 1 OUT
 bmAttributes            2
 Transfer Type            Bulk
 Synch Type               None
 Usage Type               Data
 wMaxPacketSize     0x0200  1x 512 bytes
 bInterval               0
 Endpoint Descriptor:
 bLength                 7
 bDescriptorType         5
 bEndpointAddress     0x82  EP 2 IN
 bmAttributes            2
 Transfer Type            Bulk
 Synch Type               None
 Usage Type               Data
 wMaxPacketSize     0x0200  1x 512 bytes
 bInterval               0
Device Qualifier (for other device speed):
 bLength                10
 bDescriptorType         6
 bcdUSB               2.00
 bDeviceClass            0 (Defined at Interface level)
 bDeviceSubClass         0
 bDeviceProtocol         0
 bMaxPacketSize0        64
 bNumConfigurations      1
Device Status:     0x0000
 (Bus Powered)

Confido allora che con la nuova versione di Canonical ci siano speranze di un riconoscimento hardware al 100%

Update del 22/11/2010: CARD READER FUNZIONANTE!!!

Ecco la procedura:

1) Scaricate il seguente file:

https://bugs.launchpad.net/linux/+bug/530277/+attachment/1714152/+files/keucr.tgz

2) Estraete l’archivio

3) Aprite un terminale e spostatevi dentro la directory nella quale avete estratto il file

4) Digitate i seguenti comandi (attenzione che con l’ultimo comando riavviate il netbook):

cd keucr/
sudo apt-get install linux-headers-generic build-essential
make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules
sudo make -C /usr/src/linux-headers-`uname -r` M=`pwd` modules_install
sudo depmod -a
sudo reboot

5) Godetevi il vostro netbook al 100%!
Procedura testata e funzionante su Ubuntu 10.10 con kernel 2.6.35-22