Construcción de un AP utilizando Debian GNU/LINUX Stable y placa basada en chipset Atheros
Este documento no intenta ser una guía definitiva para el montaje de un nodo wireless con linux, sino más bien un relato de mi experiencia.
Por lo dicho, si decides seguir estos pasos, estás bajo tu propia responsabilidad. No me hago cargo de los problemas que pueda ocasionarte.
Debo aclarar que no soy ningún experto en Linux, pero es un sistema que me ha dado grandes satisfacciones de momento y me gustaría compartirlo con ustedes.
La mayoría de estos pasos, fueron copiados casi textualmente de los diferentes sitios mencionados al pie de este documento.
Contenidos
Contents
-
Construcción de un AP utilizando Debian GNU/LINUX Stable y placa basada en chipset Atheros
- Contenidos
- Hardware
- Instalación de sistema base y utilidades
- Preparado, configuración y compilado del kernel
- Preparado del gestor de arranque "Grub"
- Descarga y compilado del módulo MADWifi
- Configuración del dispositivo wireless
- Configuración del firewall
- Configuración del inicio automático
- Reinicio y prueba del sistema
- Referencias:
- Saludo
Hardware
Para llevar a cabo esta experiencia, utilicé esta PC:
Procesador: Pentium 200 MMX
Memoria: 64Mb
Disco Rigido: 3.2Gb
Video: OnBoard
Placa Red: 3com509 (ISA)
Placa Wireless: D-Link dwl-G520 Rev:A3 (PCI) (Chipset Atheros)
Ojo con las revisiones "B" broadcom de esta placa. Que no tienen soporte en Linux por el momento.
Enlazado contra otra pc con otra Wireless similar bajo windowsXP en modo "INFRAESTRUCTURE".
Instalación de sistema base y utilidades
Debo aclarar que los siguientes pasos fueron realizados desde una PC conectada directamente a internet a través de un NAT.
Inicio de instalacion de Debian "Sarge" Net-install (*1)
Completo la instalación TODO por defecto (customizando valores regionales y demás cosas obvias) modo simple apto para novatos.
Agregamos unos paquetes más que nos haran falta pronto.
# aptitude install kernel-source-2.4.27 sharutils libncurses5-dev wireless-tools pump iproute vim iptraf cvs
Preparado, configuración y compilado del kernel
Tendremos que personalizar el kernel para agregar algunas funciones (*2)
- entramos al directorio donde tendremos los códigos fuente
# cd /usr/src
- descomprimimos las fuentes del kernel (suele tardar)
# tar jxvf kernel-source-2.4.27'
- creamos un link a las nuevas fuentes
# ln -s kernel-source-2.4.27 linux'
- ingresamos al directorio y hacemos una limpieza de nuestra configuración actual
# cd linux # make mrproper
- entramos al menu de configuración del kernel
# make menuconfig
Acá llega el momento de seleccionar las opciones más indicadas para el sistema.
Este suele ser un momento difícil para los novatos, pueden informarse en esta guía (*3)
También hacemos caso a la recomendaciones del FAQ del MADwifi (*4)
Luego de concluída la selección de opciones en menuconfig estamos listos para compilar nuestro kernel.
- configuramos las dependencias
# make dep
- para limpiar las "impurezas"
# make clean
- compilamos el núcleo (esta operación demoró al menos unos 30 minutos en mi PC)
# make bzImage
- compilamos las opciones escojidas como módulos
# make modules
- instalamos los módulos (en /lib/modules/kernel-source-2.4.27) y preparamos la imagen
# make modules_install # cp /usr/src/kernel-source-2.4.27/arch/i386/boot/bzImage /boot/vmlinuz-2.4.27 # cp System.map /boot/System.map-2.4.27 # ln -s /boot/System.map-2.4.27 /boot/System.map
Preparado del gestor de arranque "Grub"
Ahora modificamos el archivo menu.lst para agregar el nuevo kernel al inicio del grub
# vi /boot/grub/menu.lst
después de la línea "## ## End Default Options ##" debemos agregar lo siguiente:
title Debian GNU/Linux, kenrel 2.4.27 WIFI root (hd0,0) kernel /boot/vmlinuz-2.4.27 root=/dev/hda1 ro initrd /boot/initrd.img-2.4.27-1-386 savedefault boot
Descarga y compilado del módulo MADWifi
Ahora descargamos y compilamos el modulo MADWifi (*5)
- entramos al directorio donde tendremos los codigos fuente y descargamos la última versión del módulo
# cd /usr/src # cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi
Si no se dispone de una conexion permanante de internet, se puede descargar los paquetes más actualizados del CVS del MADWIFI desde http://madwifi.otaku42.de/madwifi-cvs-current.tar.bz2
- linkeamos el directorio
# ln -s /usr/src/kernel-source-2.4.27 /lib/modules/2.4.27/build
- entramos al directorio que bajamos del CVS y compilamos el módulo madwifi
# cd madwifi # make # make install
Configuración del dispositivo wireless
Es hora de cargar el modulo recién salido del horno.
# modprobe ath_pci
Ahora editamos el archivo interfaces para que nuestra placa wireless inicie automáticamente.
# vi /etc/network/interfaces
Así queda la configuración:
auto ath0
iface ath0 inet static
address 10.0.0.1
network 10.0.0.0
netmask 255.255.255.0
broadcast 10.0.0.255
up /sbin/iwconfig ath0 essid buenosaireslibre.org mode master rate auto
Configuración del firewall
Vamos a seguir unos cuantos consejos del tutorial de bulma (*6)
- habilitamos el bit de forward
# echo 1 > /proc/sys/net/ipv4/ip_forward
- limpiamos las tablas
# iptables -F # iptables -t nat -F
- habilitamos el NAT
# iptables -t nat -A POSTROUTING -s 10.0.0.1/24 -d 0/0 -j MASQUERADE
- dejamos pasar los paquetes ICMP
# iptables -A INPUT -i ath0 -p ICMP -j ACCEPT
- permitimos conexiones al puerto 80 (HTTP) y 22 (SSH)
# iptables -A INPUT -i ath0 -p TCP --dport 80 -m state --state NEW -j ACCEPT # iptables -A INPUT -i ath0 -p TCP --dport 22 -m state --state NEW -j ACCEPT
- aceptamos paquetes de conexiones ya establecidas
# iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
- rechazamos paquetes de conexiones nuevas
# iptables -A INPUT -i ath0 -m state --state NEW,INVALID -j DROP
- rechazamos paquetes de forwarding de conexiones no establecidas
# iptables -A FORWARD -i ath0 -m state --state NEW,INVALID -j DROP
- salvamos las reglas del firewall por que probablemente nos sirvan a futuro
# iptables-save > misreglas
Configuración del inicio automático
[PENDIENTE...]
Reinicio y prueba del sistema
Ahora reiniciamos el servidor y cruzamos todas nuestras extremidades posibles para que todo funcione correctamente
# reboot
Referencias:
(1) Descarga de Debian GNU/Linux "Sarge" NetInstall: http://www.debian.org/devel/debian-installer/
(2) Compilar el kernel: http://aula.linux.org.ar/docs/principiantes/comp_kernel/comp_kernel.htm
(3) Configuracion de las opciones del kernel: http://www.frikis.org/staticpages/index.php?page=kernel#configurando_kernel
(4) Opciones adicionales del kernel: http://www.mattfoster.clara.co.uk/madwifi-3.htm#10
(5) Descarga y compilado del modulo MADWIFI: http://www.ciudadwireless.com/webdoc/wikiMNl1By.pdf
(6) iptables y NAT para vagos: http://bulma.net/body.phtml?nIdNoticia=1522
Saludo
Espero que les sea de útil. DiegoSancho (A.K.A. Exör)
Sugerencias, correcciones y aportes serán bienvenidos a <diegosancho AT NOSPAM gmail.com>
CategoryDocuments Category Guías&HowTos