BULMA Bulma amb el projecta Defective by Desing
Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons   |   Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores
CONTENIDOS
. Jornadas de software libre
. Version para PDA
. Enlaces breves
. La asociacion
. Los mas leidos
. Autores [Actividad]
. Ultimos Comentarios
. Todos los titulares!
. Estadisticas
. Guia de estilo
. ¿Sugerencias?
. Wiki
. XML [Ayuda]
Listas de correo
. Archivos bulmailing
. Archivos BulmaGes
Radio libre :-)
. Des de la Xarxa (Archivos)
. Mallorca en Xarxa
Busquedas

+ Enlaces Linux
Ultimos kernels
(02/09/2010 20:12:57)
    
Google


En bulma.net
En internet
Redes Wireless con Linux (320030 lectures)
Por Ricardo Galli Granada
gallir (http://mnm.uib.es/gallir/)
Creado el 12/05/2002 00:04 modificado el 12/05/2002 00:04

Pagina4/5

Configuración de Linux como un Access Point

NOTA: Montar un access point, con todos sus requerimientos, no es algo trivial (para los Windozeros: no penséis que en Windows sería más fácil, ahora mismo es imposible hacer en Windows lo que explico aquí, no os queda más opción que comprar un Access Point), sino que hay que saber de redes y configurar y compilar el kernel como así también sentirse cómodos usando las utilidades y configurando PCMCIA. Si no es así, quizás no entiendas lo que se explica a continuación, es mejor que empieces con algo más sencillo, como lo explicado en los pasos anteriores, o que te ayude "en vivo" algún amigo que ya lo haya hecho.

Mi filosofía es que cuando no se conoce algo y hay que aprender, hay que hacerlo paso a paso, desde lo más fácil a lo más complejo. Aunque en mis primeras pruebas con wireless en Linux pasaron por todas las etapas explicadas anteriormente, mi objetivo desde el principio era poder tener un access point corriendo en Linux.

Debo decir que he tenido mucha suerte, ya que las tarjetas que compé, la Conceptronic PCI C11iDT:

AbiWord Image c11idt.png

y la Conceptronic PCMCIA Airbridge 11CC:

AbiWord Image conn11c.png



ambas (como creo que todas las Conceptronic, por cierto, el web que tienen es realmente lamentable para el tipo de empresa que son), usan el chipset Prism2.5 de Intersil. Digo que he tenido mucha suerte porque he encontrado que un grupo de pirados liderados por Jouni Malinen están desarrollando un excelente módulo de Linux para las Prism2 (Host AP) que permite trabajar en modo Master, aunque el fabricante diga que no se puede :-).

Me acaban de avisar que nuestro conocido Jordi Murgó es parte del equipo de pirados, y que su colega David Farré está haciendo un applet Gnome para mostrar estadisticas del enlace.

[gallir@ponti gallir]$ /sbin/iwconfig wlan0
wlan0 IEEE 802.11-DS ESSID:"Antoli" Nickname:"ponti"
 Mode:Master Frequency:2.422GHz Access Point: 00:50:C2:01:96:14
 Bit Rate:2Mb/s Tx-Power=20 dBm Sensitivity=1/3
 Retry min limit:8 RTS thr:off Fragment thr:off
 Power Management:off
 Link Quality:0 Signal level:0 Noise level:0
 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
 Tx excessive retries:3167 Invalid misc:2038 Missed beacon:0

Así que al final he logrado lo que quería, la tarjeta PCI que había instalado en mi Linux de mesa funcionó en modo Master y pude interconectar ordenadores con Linux en PC e iBook, Mac OS X y del innombrable, con encriptación WEP de 128 bits.

Como la tarjeta PCI es sólo una PCMCIA con un adaptador, la saqué del adaptador y terminé instalándola en un portátil muy antiguo (P133, 32 MB RAM) para que me hiciese de servidor de acceso para toda la red de casa, con bridging, servidor DHCP y control de direcciones MAC:

[gallir@ponti gallir]$ ps ax
 PID TTY    STAT TIME COMMAND
 1    ?      S   0:03 init [3]
 2    ?      SW  0:00 [keventd]
 3    ?      SW  0:00 [kapmd]
 4    ?      RWN 0:00 [ksoftirqd_CPU0]
 5    ?      SW  0:06 [kswapd]
 6    ?      SW  0:00 [bdflush]
 7    ?      SW  0:00 [kupdated]
 8    ?      SW  0:01 [kjournald]
 228  ?      S   0:02 /sbin/cardmgr
 694  ?      S   0:05 syslogd -m 0
 699  ?      S   0:03 klogd -2
 831  ?      S   0:00 /usr/sbin/apmd -p 10 -w 5 -W -P...
 851  ?      SL  0:00 ntpd -U ntp
 933  ?      S   0:33 /usr/sbin/sshd
 984  ?      S   0:00 gpm -t ps/2 -m /dev/mouse
 1002 ?      S   0:00 crond
 1038 ?      S   0:00 /usr/sbin/atd
 1045 tty1   S   0:00 login -- root
 1046 tty2   S   0:00 login -- root
 1047 tty3   S   0:00 /sbin/mingetty tty3
 5636 ?      S   0:04 /usr/sbin/dhcpd
 5835 tty1   S   0:00 -bash
 6734 tty2   S   0:00 -bash
 7691 ?      S   0:03 /usr/sbin/sshd
 7692 pts/0  S   0:00 -bash
 7905 pts/0  R   0:00 ps ax
[gallir@ponti gallir]$ /sbin/lsmod
Module        Size Used by
hostap_cs    82496 1
3c574_cs      8400 1
ds            6384 2 [hostap_cs 3c574_cs]
yenta_socket  8368 2
pcmcia_core  38016 0 [hostap_cs 3c574_cs ds yenta_socket]



También he probado el mismo portátil con la otras tarjetas Conceptronic que compré (la PCMCIA de la segunda foto) y funciona perfectamente, aunque su alcance es levemente inferior debido a la antena pequeña incluida, pero aún así la redfunciona a 11 mbps en todo el piso a pesar de que el portátil está en una mala ubicación.

Instalación del módulo Host AP

En la página web del Host AP y en el README del software (un tgz) está bien explicado como instalar el módulo hostap en sus distintas variantes, especialmente PCMCIA y PCI. Básicamente hace falta los fuentes del kernel que se está usando (se pone el path en el Makefile), luego sólo hay que compilarlo y hacer un make install para que instale los módulos en el directorio correspondiente (/lib/modules/2.4.18/pcmcia/ en mi caso) y el fichero de configuración de la PCMCIA (hostap_cs.conf) en el directorio /etc/pcmcia .

Una vez instalado, si usamos la opción PCMCIA (seguramente sí, aunque tengamos el adaptador PCI) debemos indicar a los módulos del PCMCIA que cuando detecte esa tarjeta cargue el módulo hostap_cs.

Para ello editamos el fichero /etc/pcmcia/config.opts y ponemos la siguientes líneas:

card "Conceptronic Wireless"
 version "802.11", "11Mbps Wireless LAN Card"
 bind "hostap_cs"



wavemon sobre un Linux en el Apple iBook con Airport conectado el Access Point



AbiWord Image image_2.png

Este es el Windows de mi hija, en su habitación, también con una tarjeta Conceptronic conectado a la red wireless a traves del Linux AP



Con eso ya tenemos casi todo lo referente a drivers, ahora hay que configurar la red.

Bridging

Como comenté anteriormente, no basta con poner la tarjeta en modo Master para tener un access point, sino que hay además interconectar la red Ethernet y la inalámbrica. Yo opté por hacer bridging entre ambas redes, así trato toda la red de mi casa como si fuese una sola, sin preocuparme en dar direcciones IP de distintas redes si estoy conectado por Ethernet o Wireless.

Para hacer bridging en Linux hay que habilitar dicha opción en el kernel:





Luego hay que instalar el paquete bridge-utils que está disponible en Debian (en Red Hat hay que buscarlo en rpmfind.net, cuando yo lo hice sólo estaba disponible en la versión RawHide pero me funcionó perfectamente sobre una RedHat 7.2).

El programa principal de dicho paquete, brctl, permite crear y configurar interfaces virtuales que incluyen las interfaces sobre las que se aplicará el bridging.



En la imágen de arriba se puede observar primero la configuración del bridge definido (br0), que incluye a las interfaces eth0 y wlan0 (en el módulo hostap las interfaces wireless se denominan wlanX). Veréis que he deshabilitado el spanning tree protocol ya que en mi red estoy seguro que no hay bucles (es muy simple), pero si tú no lo estás, déjalo habilitado.

A continuación se puede observar (con el argumento showmacs) los ordenadores conectados a cada red, la 1 es la ethernet y la 2 es la wlan0. Las marcadas como local son las interfaces del servidor, las demás son las remotas.

ATENCIÓN: las interfaces que forman parte de un bridge no deben tener ninguna dirección asignada, en los ficheros de configuración de la tarjeta hay que ponerle una IP 0.0.0.0 en vez de una IP real, ya que deben trabajar en modo promiscuo.

Definición del br0 en Debian

En Debian es muy fácil configurarlo, ya que el /etc/network/interfaces es muy flexible y potente, en mi caso sólo tuve que poner

auto br0
iface br0 inet static
 address 192.168.0.10
 netmask 255.255.255.0
 network 192.168.0.0
 gateway 192.168.0.1
 bridge_ports eth0 wlan0
 bridge_stp off
 bridge_maxwait 5

Os recomiendo leer además lo de RedHat para entender mejor el procedimiento completo.

Definición del br0 en Red Hat

En Red Hat es un poco más complicado por dos razones, no hay un ficheros interfaces como en Debian y además las tarjetas de red PCMCIA se configuran siempre desde el /etc/sysconfig/network-scripts/ifcfg-xxx. Pero yo le hice un truco bastante sucio, tengo un ifcfg-eth0, ifcfg-wlan0 y ifcfg-zbr0 (el z lo pongo para que se llame después de llamar a los de las interfaces). El contenido de cada fichero es:



/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
IPADDR=0.0.0.0
BOOTPROTO=static
ONBOOT=yes



/etc/sysconfig/network-scripts/ifcfg-wlan0

DEVICE=wlan0
MODE=Master
ESSID=Antoli
RATE=auto
TXPOWER=auto
KEY="s:mi_clave"
BOOTPROTO=static
ONBOOT=yes
/usr/bin/prism2_param wlan0 host_decrypt 1



NOTA: Con la ejecución de "/usr/bin/prism2_param wlan0 host_decrypt 1" estoy obligando a hacer el desencriptado WEP de las tramas en el propio driver, por software, en vez de hacerlo en la tarjeta. La conveniencia o no de usarlo depende de la tarjeta que uséis y la versión del driver. O sea, probadlo, quizás vuestra tarjeta no funcione con encriptación de 128/104 bits sin esa opción. El comando prism2_param es un script incluido en el paquete hostap y sirve para simplificar las llamadas al iwpriv para cambiar parámetros de la tarjeta.



/etc/sysconfig/network-scripts/ifcfg-zbr0

/usr/sbin/brctl delif br0 eth0
/usr/sbin/brctl delif br0 wlan0
/usr/sbin/brctl delbr br0
/usr/sbin/brctl addbr br0
/usr/sbin/brctl addif br0 eth0
/usr/sbin/brctl addif br0 wlan0
/usr/sbin/brctl stp br0 off
DEVICE=br0
BOOTPROTO=static
BROADCAST=192.168.0.255
IPADDR=192.168.0.3
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes

Creo que os comenté al menos lo más importante, si me he dejado algo en el tintero, disculpas, son muchas cosas en un sólo artículo... pero quería que tengáis al menos una guía para demostrar la potencia de Linux en el área de wireless.





Nota final: El artículo está orientado para los que quieran montarse una red casera, sin embargo, como me ha recalcado Jordi Murgó (uno de los desarrolladores del módulo hostap), el módulo permite muchas más cosas a nivel profesional y montar redes muy sofisticadas con roaming transparente:

  • Sistema de distribución.
  • Delegación de autentificación.
  • Notificación a procesos de usuario, lo que permite cosas más complejas como cambios de firewalls, enrutados, notificación de eventos, etc.



Ricardo Galli



Comentarios en la siguiente página...


Paginas: <<Abreviatura Anterior  1  2  3  4  5  Abreviatura Siguiente>>

Imprimir
Version para
imprimir

Imprimir
Version
PDF
GRACIAS
Distribuciones Universal
Por el servidor
Dpto. de Matematicas e Informatica
Calificacion
***0
Vots: 398
Danos tu opinion:
**** Excelente
***0 Muy Bueno
**00 Bueno
*000 Regular
0000 Malo
Relacionados
. Wireless: WiFi a La Fresca
. Configuración de la DWL-122
. Soporte wifi 54G en un Power PC (power/i book) con Linux
. Apunts sobre la instal·lació d'un punt d'accés inalàmbric amb hostap
. Tarjetas Wireless Prism 802.11g en Linux
. Wardriving - Localizando redes wireless
. Configuracion de tarjetas inalambricas con chip Texas Instruments acx100 en Linux
. Tarjetas inalambricas USB con chipset atmel en Linux
. Configuración de tarjetas inalámbricas con chip Atheros (3COM 3CRPAG175).
. Access Point con PrismGT - ISL3890
. Hacer funcionar las tarjetas PCMCIA con el hotplug
. Punto de acceso para tarjetas con chip hermes y driver hermesap
. Montar un Router (con la idea de wireless) para Linux
. 'I Jornadas de Software Libre' - Everybody, go Wireless!!!!!
. Sacando el jugo al Wireless: interconexión de redes con WDS
. Recomendaciones a la hora de comprar Hardware
. Construcción de una antena Wireless Omnidireccional de 5 DBi (¿u 8 DBi?)
. Résaux Sans Fils avec Linux
. Baleares Wireless, las redes inalambricas
. Configurar DHCP para la LAN interna
. Configurar un Proxy/Router/Gateway con el Kernel 2.4.x e Iptables
SECCIONES
Noticia
Breve
Truco
Enlace
Participa
Proyecto
Articulo
Webbulma
Manoletada :-)
Seguridad
Modificado: 24/2/2010 18:54:16 | Tiempo Total: 0.014 segs | Kernel: Linux - i686 - 2.6.26-1-686 | Last boot: 02/09/2010 20:19 CEST
Powered by Apache    MySQL    PHP    Gimp