Tag Archives: network

Port forward on Windows 7 / Windows 2008

Recently, a friend of mine asked me for help with the following situation:

  • Wifi network: 192.168.0.*
  • Laptop computer running Windows: 192.168.0.10 (wireless)
  • Gaming console without a a wireless adapter

The console was too far from his Access Point and he couldn’t run cables thoughout his house. He needed to connect to the gaming console from any computer on the wifi network.

He didn’t want to buy additional hardware, like another Access Point, or a wireless adapter for the console.

The obvious solution was to connect the laptop to the console with a cable and do a port forward from the wireless interface of the laptop to the console.

  • Laptop wireless interface: 192.168.0.10
  • Laptop wired/ethernet interface: 192.168.1.10
  • Console wired/ethernet interface: 192.168.1.20

After setting up the IP addresses, the only thing left to do was to set up the port forward on Windows. This can be easily accomplished with the built-in portproxy:

Click on Start and select Run, type cmd.exe but do NOT hit the “Enter” key. Press CTRL+SHIFT+ENTER instead. This way cmd.exe will be run with Administrator privileges.

At the command prompt, enter the following command:

netsh interface portproxy add v4tov4 listenport=7142 connectaddress=192.168.1.20 connectport=7142 listenaddress=192.168.0.10 protocol=tcp

In this case, I only needed to forward port 7142. If you need to forward multiple ports just repeat the above command for each port.

After running this command I was able to connect to the console from the wifi network using 192.168.0.10:7142 as the destination IP address/port.

Caveat: portproxy only supports TCP! If you need to proxy udp ports as well, you might want to look into sudppipe.

Alternative solutions:

Share

Canon PIXMA MP620 Linux printing and scanning via wireless network on Ubuntu

 

Intro

Got this new All-in-One and it is pretty cool. It’s cheap and it has almost everything I need: wifi connectivity, 1200 dpi resolution scanner, high resolution photo printing, direct copy from scanner.

It also has got some bonuses: you can connect a memory card or a USB Drive key to the printer and read/write to it over LAN/WiFI as a samba share. Pretty neat! I didn’t test it yet though, so no promises (WILL UPDATE SOON).

Unfortunately, using this printer under Linux still requires some tweaking and it’s by no means straightforward, hence this post.

Before you start, do yourself a favour and save considerable time: grab a Windows or MacOSX box and set up the printer for wireless operation. There are other ways to do this under Linux, but they are more complicated.

This howto assumes that you are already able to print a test page from your Windows/MacOSX box over your LAN/WLAN.

Printing from Ubuntu Linux

WARNING: I only tested this under Ubuntu Jaunty.

You should already have CUPS installed. If not, install it now.

Also install the development files and everything needed to compile programs on your machine:

Download the cups-bjnp driver from: http://sourceforge.net/projects/cups-bjnp/

Unpack, configure, compile, install:

Go to Canon Support Australia and download the cnijfilter driver from:

IJ Printer Driver Ver. 2.80 for Linux(debian Common package)

IJ Printer Driver Ver. 2.80 for Linux(debian Package for the MP610 series)

Install them with:

Download the PPD and conf files from my website:

canonmp620-630en.ppd
cifmp610.conf

Copy the ppd and conf file to the proper location:

Restart CUPS:

Turn on the printer and check that you can ping it from your PC.

Open CUPS web interface in your browser: http://127.0.0.1:631

Choose “Add Printer”, give it an alphanumeric name (without spaces) and push “Continue”. On the following page you will be able to choose the “Device”. Pull down the list and select the following entry:

Canon MP620 series ip-address

Click “Continue” and at the next screen select:

from the list. Be careful: do NOT search for Canon PIXMA something, search for Canon MP620-630, without the PIXMA bit!

When asked for a login and password, use whatever you configured CUPS to use: by default login is root and password is your root password.

Thumbs up! We are done :-) You can optionally fine tune some settings in CUPS and then print a test page.

Scanning from Ubuntu Linux

Sane will support the Canon PIXMA MP620 scanner starting from version 1.1 . If your distro doesn’t support this scanner out of the box, like in our case, you’ll have to compile the latest CVS snapshot of sane-backends by yourself.

First install some packages required for compilation:

Download the latest sources via CVS:

Compile:

That’s all!

Thanks to…

Michael Krueger (printing): http://www.michael-krueger.org/2009/01/how-to-use-canon-pixma-mp620-with.html

Nicolas (scanning): http://mp610.blogspot.com/

Share

Vedere i canali RAI dall’estero

Mi capita spesso di viaggiare all’estero e di avere accesso a una connessione a Internet, ma non alla tv satellitare.
Purtroppo la nostra cara mamma RAI, per la quale siamo felici di pagare il canone anche quando ci troviamo all’estero per periodi estesi – dato che non paghiamo per quello che vediamo bensì per la detenzione di un apparecchio televisivo – non ci permette di accedere allo streaming se la connessione proviene da un indirizzo IP fuori dall’Italia.

La teoria

Esistono vari modi per aggirare questa limitazione, ognuno richiede quanto segue:

  • una connessione a Internet in Italia con una velocità di upstream sufficiente (tipicamente >300KB/s).
  • accesso 24h/24 a un computer sul quale poter installare un server “socks” o un server VPN

Una volta soddisfatti questi due requisiti, non resta che configurare il proprio computer all’estero in modo che usi il computer in Italia come gateway per le connessioni effettuate tramite web browser.

La pratica

Vediamo un caso d’uso semplice e rapido per chi dispone di una macchina Linux/UNIX all’estero dotata di Firefox e client SSH (la chiameremo “laptop”) e di una macchina Linux/UNIX in Italia (la chiameremo “example.dyndns.org”), accessibile tramite SSH con l’account “mario”.

  1. Su “laptop” eseguiamo: ssh -N -D 9999 mario@example.dyndns.org &
  2. Su “laptop” apriamo Firefox, andiamo su Modifica/Preferenze/Avanzate, scegliamo il tab “Rete” e clicchiamo su “Impostazioni”:
  • scegliamo “Configurazione manuale del proxy”.
  • in “Host SOCKS” mettiamo localhost
  • in “Porta” mettiamo 9999.
come configurare Firefox per usare un server socks
come configurare Firefox per usare un server socks

Apriamo http://www.rai.tv e godiamoci la visione!

Attenzione: il nuovo sito di rai.tv utilizza la tecnologia Silverlight di Microsoft – giusto per non farsi mancare nulla, tanto paghiamo noi – pertanto avete bisogno di installare il pacchetto “moonlight-plugin-mozilla” (nel caso abbiate Ubuntu 9.04) o l’equivalente per la vostra distribuzione per poter accedere al sito.

La tecnica

Ecco cosa stiamo facendo dal punto di vista tecnico: le recenti versioni di ssh implementano al loro interno il supporto per creare un server SOCKS “on the fly”.

Un server SOCKS è un particolare tipo di proxy trasparente che permette di effettuare connessioni TCP dirette (e, dalla versione 5, di veicolare traffico UDP) tra due reti differenti nei casi in cui un instradamento diretto dei pacchetti non sia disponibile.

Eseguendo il comando:

di fatto creiamo un server socks sulla nostra macchina locale utlizzabile da qualunque applicazione giri sulla nostra macchina e abbia supporto per il protocollo SOCKS – nel nostro caso Firefox.

Il server socks è in ascolto su localhost:9999 e non richiede alcun tipo di autenticazione – una ottima ragione per lasciarlo in binding solo su localhost.

La particolarità di questo server SOCKS è quella di creare un tunnel tra il nostro laptop e il server ssh remoto e di instradare tutte le connessioni che riceve attraverso questo tunnel.

Una volta che i pacchetti arrivano all’altra estremità del tunnel, vengono inoltrati usando la tabella di routing del server. Al destinatario dei pacchetti sembrerà quindi che la connessione provenga dal server e non dalla nostra macchina “laptop”.

Come bonus, i pacchetti vengono criptati e compressi sul tunnel SSH mentre transitano dal nostro laptop al server.

L’utilizzo di questa tecnica può risultate utile in molteplici occasioni, non solo per vedere la TV estera ove esistano delle limitazioni sugli IP di provenienza:

  • Quando non abbiamo alcuna garanzia che qualcuno non stia sniffando la nostra connessione (per esempio quando usiamo un hotspot) e vogliamo criptare facilmente tutto il nostro traffico che utilizza protocolli in chiaro – non tutti i provider forniscono imaps, pop3s, smtps.
  • Quando alcuni protocolli sono bloccati (p2p vari, smtp)
  • Quando vogliamo nascondere il nostro indirizzo IP
Share