Navigare dal cellulare (via bluetooth) sfruttando l’ADSL di casa

Oggi mi sono posto una domanda….. Ma perché avendo una adsl a casa devo pagare anche l’accesso wap dal cellulare?

Il mio cellulare (K610i della sony ericsson), non dispone di wifi, ma ha il bluetooth….

Bhe, dov’è il problema allora? Basta collegare il cellulare via bluetooth al pc e poi sfruttare questa connessione per navigare…..

Bene, ecco come:

Intanto installiamo quello che ci serve: bluetooth e bluez-utils sono il supporto per il bluetooth su Linux, mentre il server dhcp ci serve per assegnare un ip al cellulare (quello che stiamo facendo è un accrocchio, non è una cosa standard, per cui nel telefono non esiste la possibilità di settare un ip statico….) iptables invece ci serve per nattare la connessione creata dal cellulare

apt-get install bluetooth bluez-utils dhcp3-server iptables

…do per scontato che siano già riconosciuti tra di loro telefono e pc….

Bhe, inziamo:

Per prima cosa andiamo ad editare il file  /etc/bluetooth/hcid.conf

ed andiamo a modificare la riga che contiene

lm accept;

e la facciamo diventare:

lm accept, master;

Nel file/etc/default/bluetooth modifichiamo i parametri:

PAND_ENABLED=0

in

PAND_ENABLED=1

e

PAND_OPTIONS=”

in

PAND_OPTIONS=”–listen –role=NAP –devup /etc/bluetooth/pan/dev-up”

Creiamo la directory “pan” ed il file dev-up

mkdir /etc/bluetooth/pan
touch /etc/bluetooth/pan/dev-up

Nel file dev-up inseriamo quanto segue:

#!/bin/sh
echo “1” > /proc/sys/net/ipv4/ip_forward                 # Abilitiamo il forward dei pacchetti a livello kernel
ifup bnep0                                                                        # Abilitiamo l’interfaccia bnep0 (il tunnel bluetooth)
ifconfig bnep0 10.0.254.1 netmask 255.255.255.240    # Configuriamo a mano l’interfaccia

sleep 2                                                                               # Aspetta 2 secondi
/etc/init.d/dhcp3-server restart                                     # Riavvia il server dhcp

N.B. Solo 2 righe [oltre ai commenti] di spiegazione del file…..

Che succede?! Allora, il cellulare si aggancia al pc via bluetooth, a questo punto si attiva pand, che attiva il tunnel (bnep0) e, una volta che il device è attivo, richiama il file /etc/bluetooth/pan/dev-up che, come si vede dai commenti, configura un pò ri boba e poi fa ripartire il server dhcp (che poi configureremo per agganciarsi SOLO sull’interfaccia bnep0) che assegna l’ip al cellulare e fine….

In teoria basterebbe “ifup bnep0” che legge il file di configurazione dell’interfaccia….. A volte non mi funzionanva, così facendo invece non mi ha mai dato problemi…..

Vabbè, continuiamo….
Rendiamo eseguibile il file appena creato

chmod +x /etc/bluetooth/pan/dev-up

Andiamo a definire l’interfaccia bnep0 in/etc/network/interfaces

iface bnep0 inet static
address 10.0.254.1
netmask 255.255.255.240
post-up iptables -t nat -A POSTROUTING -s 10.0.254.0/24 -j MASQUERADE
pre-down /etc/init.d/dhcp3-server stop

il “post-up” come dice il nome esegue quel comando appena attivata l’interfaccia, in questo caso crea solamente un nat tra le interfacce

Ora resta solamente da definire il range di ip nel dhcp, quindi nel file /etc/dhcp3/dhcpd.conf aggiungiamo

subnet 10.0.254.0 netmask 255.255.255.240 {
range 10.0.254.2 10.0.254.10;
option domain-name “bluetoot.casa.mia”;
option routers 10.0.254.1;
option domain-name-servers IP_DNS;
option broadcast-address 10.0.254.255;
default-lease-time 600;
max-lease-time 7200;
}

e nel file /etc/default/dhcp settiamo

INTERFACES=”bnep0″  #  In questo modo il server dhcp risponde solo a richieste provenienti su bnep0

Riavviamo il demone bluetooth in modo che rilegga la configurazione e creiamo la connessione sul telefono….

Impostazioni -> Connettività -> Impostazioni Internet -> Nuovo Profilo

Come nome mettete quello che volete, io (con grande fantasia ho messo PC )

e come “Connetti con” selezionate il pair bluetooth che avete fatto col vostro pc…. Ricordatevi nel pc, di settare anche “permetti connessioni dal dispositivo”…

Settate questo profilo di default per Connessione Internet, Java e Streaming….

In caso di problemi un’occhiatina a /var/log/syslog e /var/log/message puo essere mooolto utile….

P.S. Si, so che impaginato così fa veramente schifo…. Se qualcuno ha qualche plugin per wordpress da consigliarmi per rendere bene l’idea dei parametri da scrivere in shell…..

5 commenti su “Navigare dal cellulare (via bluetooth) sfruttando l’ADSL di casa

  1. michelangelo Rispondi

    bel lavoro complimenti.
    posso sapere se per esempio fosse possibile farlo con windows e motorola?
    ad esempio conosco gnubox per symbian, ma per sistemi operativi proprietari non so come fare.
    ringrazio

  2. Stefano Rispondi

    @Michelangelo: Con Windows ho rinunciato, in quanto, essendo sw proprietario, non riesce a fare le stesse cose (e con la stessa facilità) che si fanno con Linux…
    Sò che lo stesso principio funziona anche con Linux, patchando i driver bluetooth, ed installando un server dhcp interno per la periferica (cosa che mi piace ben poco sinceramente).
    GnuBox, sinceramente, non sono mai riuscito a farlo funzionare, anzi, alla fine ho dovuto fare un hard-reset al cellulare, in quanto si erano piantati tutti gli accessi…

    Comunque, penso si possa fare, anche se, te lo sconsiglierei 😉
    Questo può essere un buon motivo per passare a linux, no ? 😀

  3. Stefano Rispondi

    @Peppe: Bisogna provare, in quanto il K610 non ha symbian a bordo e permette di configurare come accesso una connessione bluetooth, non penso che il symbian permetta lo stesso….

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *