PreguntasLinux

Versión Completa: [howto] Palm+Bluetooth+Internet
Actualmente estas viendo una versión simplificada de nuestro contenido. Para ver la versión completa en el formato correcto, dale click aquí
Esta guía propone configurar un dispositivo bluetooth para compartir internet. Está armada en base a Fedora 7, pero es fácilmente aplicable a otras distribuciones.

Quise armar este howto ya que recientemente adquirí un dispositivo bluetooth Conceptronic y quería conectar mi Palm T|X para tener acceso a internet dentro de casa.

Comencemos...


1. Chequeo de módulos

Chequeamos que tengamos el módulo de bluetooth cargado

# lsmod | grep bluetooth
bluetooth 49189 4 hidp,rfcomm,l2cap,hci_usb


Si no apareciese nada, hay que instalarlo:
Esto va a variar según la distribución pero en mi caso (fedora):

# yum install bluez-gnome bluez-hcidump -bluez-libs blues-libs-devel bluez-utils bluez-utils-cups gnome-bluetooth gnome-bluetooth-libs libbtctl


Con eso tenemos todo listo para empezar.
Cargamos el módulo

# modprobe bluetooth

Además necesitamos cargar los demonios sdpd y hcid (Bluetooth SDP daemon y Bluetooth Host Controller Interface Daemon)

# modprobe sdpd
# modprobe hcid

En algunas distribuciones esto se puede hacer también desde la interfaz gráfica.


2. Levantando Servicios

Vamos a levantar el servicio de bluetooth:

# /etc/init.d/bluetooth start

Conectamos el device BT y vemos en dmesg que lo reconoce (salida recortada):

# dmesg
usb 1-1: new full speed USB device using uhci_hcd and address 4
usb 1-1: configuration #1 chosen from 1 choice


Nos fijamos que las herramientas de BT reconozcan el dispositivo correctamente:

# hciconfig -a
hci0: Type: USB
BD Address: 00:09:ED:50:33:11 ACL MTU: 310:10 SCO MTU: 64:8
UP RUNNING PSCAN
RX bytes:671 acl:0 sco:0 events:21 errors:0
TX bytes:327 acl:0 sco:0 commands:19 errors:0
Features: 0xff 0xff 0x8f 0xfe 0x9b 0xf9 0x00 0x80
Packet type: DM1 DM3 DM5 DH1 DH3 DH5 HV1 HV2 HV3
Link policy: RSWITCH HOLD SNIFF PARK
Link mode: SLAVE ACCEPT
Name: 'dragonauta'
Class: 0x120104
Service Classes: Networking, Object Transfer
Device Class: Computer, Desktop workstation
HCI Ver: 2.0 (0x3) HCI Rev: 0xc5c LMP Ver: 2.0 (0x3) LMP Subver: 0xc5c
Manufacturer: Cambridge Silicon Radio (10)


Excelente, ahí está.


3. Configuraciones

Vamos a configurar ahora los servicios. Editamos el archivo /etc/bluetooth/hcid.conf

#
# HCI daemon configuration file.
#
options {
autoinit yes;
security auto;
pairing multi;
passkey "una-pass-que-elijan";
}
device {
# Local device name
# %d - device id
# %h - host name
name "%h-%d";
# Local device class
class 0x120104;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}


Noten que deberán setear una contraseña para aceptar las conexiones. Asegúrense que sea una buena contraseña.


4. Bluetooth

Habilitan el Bluetooth en la Palm y la configuran para que sea visible, luego corren el siguiente comando:

# hcitool scan
Scanning ...
00:07:E0:0E:AC:1E Palm


Con esa MAC vamos a ver que canal utiliza:

# sdptool record 00:07:E0:0E:AC:1E
Service Name: Dial-up Networking Gateway
Service Description: Dial-up Networking Gateway
Service Provider: /a/mobile/system/cl.gif
Service RecHandle: 0x10001
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x656e


Vemos que utiliza la MAC 00:07:E0:0E:AC:1E y channel 2
Ahora editamos el archivo /etc/bluetooth/rfcomm.conf y colocamos estos datos:

rfcomm0 {
bind no;
device 00:07:E0:0E:AC:1E
channel 2;
}


Editamos el archivo /etc/ppp/peers/dund

115200
debug
ipcp-accept-remote
192.168.1.34:192.168.1.35
ms-dns 200.42.159.70
ms-dns 200.42.0.111
lock
crtscts
noauth
defaultroute


Los ms-dns son los DNS de tu ISP, y las IP que ven pueden ser las que quieran, incluso dentro de la misma red que eth0.


5. Iniciando la conexión

Lo único que nos queda por hacer es crear un script el cual luego le daremos permisos de ejecución, yo le llamé bt-start.sh

#!/bin/bash
echo Reiniciando Servicio Bluetooth
/etc/init.d/bluetooth restart
echo Lanzando Servidor DUN (dund)
dund --listen call dund
echo Configurando ...
INTIF="ppp0"
EXTIF="eth0"
echo 1 > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -F INPUT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F OUTPUT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -F FORWARD
/sbin/iptables -t nat -F
/sbin/iptables -A FORWARD -i $EXTIF -o $INTIF -j ACCEPT
/sbin/iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo Listo!


# chmod a+x bt-start.sh

y lo ejecutamos

# ./bt-start


6. Poniendo a punto la Palm

Sólo nos queda configurar correctamente la Palm:
Nos dirigimos a Preferencias -> Conexión -> Nuevo
Yo le puse el nombre LinuxRAS:
Conectar a: Red Local
Por: Bluetooth
Dispositivo: Seleccionamos el que aparezca.
Aquí nos pedirá contraseña, asi que ponemos la contraseña que indicamos en el archivo hcid.conf. Aceptamos.
Ahora nos dirigimos a Preferencias -> Red -> Nueva
Servicio: Le colocamos un nuevo nombre,
Usuario: nuestro usuario
Contraseña: nuestra contraseña
Conexión: LinuxRAS
Pulsamos en Detalles y seteamos:
Tipo de conexión: PPP
Inactivo: Nunca
Tildamos Consulta DNS y Dirección IP automática.
Pulsamos conectar y ya estamos dentro.
A navegar!!


7. Conclusión

Como verán es bastante sencillo, pero debo confesar que tuve que trabajar durante algunas horas y leerme algunos tutoriales para adaptarlos a mis necesidades.

Como se está generando una interfaz ppp0 en linux con la ip 192.168.1.34 que hace NAT sobre la IP 192.168.1.35 que le da a la Palm, la navegación es excelente.
Incluso con el cliente PSSH puedo loguearme a la PC y administrarla remotamente desde mi Palm.

También sería posible configurar las IP para que estén en el mismo rango de red que la PC, pero como lo hemos hecho funcionará perfecto.

Espero que les haya gustado
Saludos
URLs de Referencia