Generated by Foxit PDF Creator © Foxit Software http://www
Transcripción
Generated by Foxit PDF Creator © Foxit Software http://www
Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. CONSTRUCCION DE ROUTER + BALANCEO DE CARGA + QOS + SQUID + ACCES POINT TODO EN 1 CON UNA PC Y BRAZILFW INTRODUCCION Empecé mi sistema inalámbrico con 1 cablemodem + 1 router micronet + 1 Acc. Point Senao. La transmisión está aproximadamente a 3 km de la zona de servicios. Apenas empecé a agregar abonados, empezaron los cuelgues del router y del acces point Cambiamos de router, cambiamos de acces point, pero la cosa no mejoro mucho. Pusimos un acces point micronet, de menor potencia, y creamos otro problema. Asï descubrí el booster edimax, de 500 mW. Descubrí que otros servicios tienen problemas parecidos y recurrieron a relojes, reseteadores electrónicos caseros, etc. Cuanto más tráfico mas problemas con los routers, switchs y acces point De a poco, descubrí coyote, y por ende BraziFW, ……. y vi la luz. MANOS A LA OBRA Materiales: PC: Memoria: Disco: Placas de red: Placa inalámbrica: Celeron 266 ( u otro con PCI moderno) 128 Mb Mínimo de 2 a 4 GB 2 placas 10/100 chip realtek 8139 (u otras soportadas) 1 ENLWI-SG chip atheros (u otra que soporte modo master) Otra PC con Windows, placa inalámbrica cualquiera, placa de red (p/pruebas) Cable UTP cruzado (de PC a PC) 3 Disquetes de máxima calidad. Comentarios previos: El roouter en, sí, funciona con mucho menos memoria. Pero si se va a usar squid, por experiencia no bajar de 128Mb. El chip atheros soporta el modo master (Acc.Point), los drivers están en BrazilFW, y la placa super G encore, es barata. Probé con otra placa no soportada, con ndiwrapper, pero no pude hacerla reconocer (la encore común, con chip marvell). Use BrazilFW 2.30 (última estable) Tener en el 3° disquete : el driver del chip ateros “ath.tgz” http://www.brazilfw.com.br/forum/dload.php?action=categor y&cat_id=25&sid=5eaf5626feba7f3f9625bd466fe82025 el modulo bridge.tgz (en la carpeta “extras” del wizard creador de los disquetes de instalacion de BrazilFW) los demás add-on que se quieran agregar (squid.tgz, bmt.tgz, y otros) Implementación: Preparación de los floppys 1° Desde el wizard para windows de BrazilFW 2.30, armar los 2 disquetes para instalarlo en el disco rígido. En el procedimiento, elegí una IP para el Gateway, y los drivers correspondientes a la placa de la lan (eth0). Esta será la ip del gateway. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. 2° Elegir el tipo de internet a recibir, en mi caso, de cablemodem , elegí por DHCP 3° En la configuración de internet, elegir los drivers de la NIC que correspondan Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. 4° El paso 6 del wizard, seleccionar servidor interno DHCP, para los clientes, lo salteo porque les voy a asignar las IP estáticas (por razones de filtrado de clientes). El paso 7, (elección de pasword) es obvio, recordar solamente que cuando trabajemos en consola el usuario será: “root” y el password, el que pusimos en el paso 7. 5° En el paso 8 del wizard elegí instalar “wíreless tools” y por las dudas “Advanced Router Options”. más elecciones no entran en el disquete, por eso el bridger lo instalo después como add-on 6° los pasos 9 y 10 los salteo, sin elegir nada, además en la wifi no hay drivers de ninguna tarjeta. “Utilizo los pasos 11 y 12 para crear los 2 disquetes”. Uno es el clásico router que funciona desde un disquette y el otro es el instalador para el rígido. 7° Ahora arrancamos la PC que hemos preparado con las 3 placas, y hacemos bootear el 2° disquete (el instalador del rígido). Después nos pide el 1° disquete para cargar el BrazilFW y sus configuraciones. Cuando solicite el tamaño de la partición (default 40 Mb), darle un poco más (por ej. 80Mb), para contemplar la carga de futuros módulos. Después pregunta si quiere hacer una 2° partición para instalar squid: contestar que sí y darle todo el espacio restante del disco. También pregunta si quiere cargar hdparm (detiene el disco cuando no se usa); yo le puse que no porque uso squid que está siempre haciendo caché. Al final le pide que retire el floppy y presione enter para reiniciar. Debemos verificar con la máquina auxiliar, poniéndola en red por la lan (eth0), si ya funciona como router, haciendo ping a la IP del gateway y/o entrando al webadmin desde el explorador con la IP 192.168.1:8180 en mi caso. Carga del driver inalámbrico Ahora vamos a cargar el driver del chip de la placa inalambrica ( en mi caso el ath.tgz) que tenemos en el 3° disquete de la siguiente manera: – – – – – Inserte este disco en la unidad de la computadora donde se está ejecutando BrazilFW. Haga un login desde la consola de BrazilFW (Teclado y monitor conectados en esta máquina) o remotamente via SSH (putty), que puede ser desde la máquina auxiliar, que tenemos en red por (eth0). Nos logeamos como root, y con el password que pusimos en los disquetes. Nos aparece un menú. Salimos con q, y ya estamos en consola En la consola esciba los siguientes comandos: mount /dev/fd0 /mnt -t vfat (Monta el diskette) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. cp /mnt/paquete.tgz / (paquete es el nombre, en mi caso ath.tgz) (Copia el archivo para el directorio raíz) umount /mnt (Desmonta el diskette) - Ahora puede quitar el diskette de la unidad y seguir con estos pasos: mt (Monta el HD ) cp paquete.tgz /mnt (copia el nuevo paquete al HD) umt (desmonta) reboot (reinicia) ¡¡ATENCIÓN: Nunca realice un backup de BrazilFW después de instalar un paquete, siempre reinicie SIN HACER BACKUP!!. BrazilFW, al iniciar compila e instala todo lo que encuentra en el directorio /mnt. Para los que estén familiarizados, cargar el paquete mc.tgz, instala el midnight comander (el norton de linux) que les ouede ser útil para confirmar el buen resultado en la copia de los paquetes. (este procedimiento es general para los paquetes y add-on para BrazilFW.m Todos deben estar en “.tgz”. Cuando los bajen por la web, les van a quedar como “.tar”. Lo único que hay que hacer es renombrarle la extensión por “.tgz”). Verificar la placa inalámbrica Por consola vamos a verificar, escribiendo el comando iwconfig. Si la placa inalámbrica fue reconocida debe aparecer algo así: lo no wireless extensions. eth0 no wireless extensions. eth1 no wireless extensions. gre0 no wireless extensions. wifi0 no wireless extensions. ath0 IEEE 802.11g ESSID:"wireless" Mode:Master Frequency:2.422 GHz Access Point: 00:40:F4:F5:C0:84 Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=14/94 Signal level=-81 dBm Noise level=-95 dBm Rx invalid nwid:520 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 donde ath0 es mi placa. Según el chip y el driver puede aparecer otro nombre en vez de “ath0” : ACX100/111 = wlan0 Realtek = wlan0 Prism = wlan0 Atheros = ath0 Ralink = ra0 Configuración inicial de la placa inalámbrica Desde la máquina auxiliar con windows entramos al Webadmin. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Ahí, en "configuración de red" en la parte wireless LAN Configuración, ponemos estos datos: WLAN Network Device = ath0 (o el que le figuró en iwconfig), Dirección IP primaria = 192.168.1.1 y Máscara de red = 255.255.255.0, en mi caso. “Esta configuración de red, va a ser la que va a tener la placa inalámbrica funcionando como acces point (en mi caso es la IP y Máscara del anterior acces point “senao”, que ya descarté)” Al pié de la sección, presionar enviar. Darle tiempo a que se completen los procesos. Ir a la solapa izquierda del webadmin y presionar resguardar, y finalmente reiniciar el BrazilFW.. Una vez reiniciado el router, desde la lan mandamos ping al gateway (192.168.1.10 en mi caso) y a la wlan (192.168.1.1 en mi caso). Ambos deben responder. Breack de repaso Hasta aquí hemos configurado un router clásico, con una LAN (eth0), al cual le hemos agregado otra red: la WLAN(ath0 en mi caso). En la LAN, a esta altura podemos usar la internet de la WAN(eth1). Pero la parte inalámbrica no lo puede hacer. Vinculacion de las dos redes modem eth1 WAN Router BrazilFW LAN eth0 internet ANTES modem eth1 un router braziFW sin wlan con un switch y un acces point 192.168.1.10 WAN Router BrazilFW eth0 LAN Acces point ath0 A.P . wlan 192.168.1.10 AHORA wlan SWITCH internet Pc control queremos saber como vincular internet a la placa inalámbrica para que trabaje como acces point. Osea vincular dos redes. Pc control entonces lo que vamos a hacer es crear una interfaz virtual “BRIDGE”, que funciona internamente como un puente, para vincular la LAN con la WLAN. El bridge es un dispositivo, conocido como puente, para vincular dos subredes. Permite eliminar el tráfico innecesario entre una subred y la otra. No realiza NAT y pasa los paquetes por la dirección fisica (mac) y no por IP. Construye una tabla inteligente actualizando la composición de las 2 subredes. Es más que un HUB, pero menos que un ROUTER. En linux, a una PC con 2 interfaces de red, se la puede transormar en un Bridge. Esto se consigue teniendo instalados los paquetes necesarios y con unas pocas lineas: ifconfig eth0 0.0.0.0 ifconfig eth1 0.0.0.0 brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 todo esto es un ejemplo, no ejecutar! Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. modem eth1 WAN internet DHCP o IP estática Router BrazilFW br0 eth0 LAN Pc control 192.168.1.2 192.168.1.10 BRIDGE ath0 A.P . wlan 192.168.1.1 Entonces hay que definir una interfaz “br0”, y las dos interfaces eth0 y ath0 serán los puertos del bridge. br0 aparecerá en ifconfig, como una nueva interfaz de red y se le reasignará la IP del gateway. Esto nos permitiría acceder al router como siempre por la LAN, y además por la WLAN. Implementación del “bridge” Para poder crear un bridge, necesitamos tener instalado el modulo bridge.tgz. Hay dos formas de hacerlo. Al principio, o al final. ¿Qué es esto?. Cuando creamos los disquetes de instalación, en el paso 8, tenemos la opcion de cargar las herramientas para hacer un bridge: esto le dejaría instalado el módulo bridge.tgz. Yo no la usé porque no me alcanzaba el espacio al crear el floppy. Aunque se puede formatear un disquete a mayor capacidad. Al final; quiere decir que podemos cargar el modulo “bridge.tgz”, con el mismo procedimiento que usamos para cargar el driver inalámbrico, o cualquier add-on desde un disquete. cp /mnt/paquete.tgz / (paquete es el nombre, en este caso bridge.tgz) (Copia el archivo para el directorio raíz) Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. umount /mnt (Desmonta el diskette) - Ahora puede quitar el diskette de la unidad y seguir con estos pasos: mt (Monta el HD ) cp paquete.tgz /mnt (copia el nuevo paquete al HD) umt (desmonta) reboot (reinicia) ¡¡ATENCIÓN: Nunca realice un backup de BrazilFW después de instalar un paquete, siempre reinicie SIN HACER BACKUP!!. BrazilFW, al iniciar compila e instala todo lo que encuentra en el directorio /mnt. Ejemplo de creación de un bridge en linux: De esta forma se crea un bridge #Define una interfaz bridge brctl addbrg br0 #Agrega la interfaz eth0 como puerto del bridge brctl addif br0 eth0 #Configura la interfaz eth0 para heredar la IP desde el bridge ifconfig eth0 0.0.0.0 #Activa la interfaz eth0 ifconfig eth0 up #Agrega la interface atho como puerto del bridge brctl addif br0 ath0 #Configura la interfaz ath0 para heredar la IP desde el bridge ifconfig ath0 0.0.0.0 #Activa la interfaz ath0 ifconfig ath0 up ejecutar esto directamente en Brazilfw no dará ningún resultado. Esto es debido al mecanismo de ejecución del script etc/rc.d/rc.modules. Los scripts en el directorio etc/rc.d/pkgs son ejecutados en orden alfabético. Esto quiere decir que el script de configuración etc/rc.d/pkgs/mod.bridge es ejecutado antes que el script etc/rc.d/pkgs/mod.wireless (o sea intentará agregar la interfaz wireless-ath0- como puerto de bridge, antes que esta sea creada). Cuando se ejcuta mod.bridge, la interfaz eth0 ya fue creada, pero todavía no la ath0. Lo que vamos a hacer entonces, las líneas del ejmplo anterior, las vamos a insertar en 2 partes, en diferentes archivos: Editamos etc/rc.d/pkgs/mod.bridge. Al final del script, agregamos(puede estar vacío): brctl addbrg br0 brctl addif br0 eth0 ifconfig eth0 0.0.0.0 Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. ifconfig eth0 up salvamos con “ctrl. + s”, salimos con “ctrl. + z” y lo resguardamos tipeando “backup”. Ahora editamos el otro archivo etc/rc.d/pkgs/mod.wireless y al final del mismo, agregamos el resto de las líneas del ejemplo: brctl addif br0 ath0 ifconfig ath0 0.0.0.0 ifconfig ath0 up salvamos con “ctrl. + s”, salimos con “ctrl. + z” y lo resguardamos tipeando “backup”. Finalmente editamos el archivo de configuración principal: etc/coyote/coyote.conf y corregimos la línea: IF_LOCAL=eth0 por esta IF_LOCAL=br0 salvamos con “ctrl. + s”, salimos con “ctrl. + z” y lo resguardamos tipeando “backup”. Esto último le asignará la ip del gateway 192.168.1.10 en mi caso, a br0 (bridge) Ahora reiniciamos tipeando reboot. Reconfiguración de la LAN Una vez reiniciado BrazilFW, desde el webadmin, vamos a configuración de red, y notaremos que el dispositivo LAN ya no es “eth0” sino “br0”. Más abajo nos permite crear una “segunda LAN”. Lo hacemos con los sig. datos: LAN2 Network device = eth0 le damos una nueva IP: en mi caso 192.168.1.2 masc. 255.255.255.0 Luego, enviamos, resguardamos y reiniciamos el router. Resumiendo, nos ha quedado configurado lo siguiente: Router BrazilFW, con gateway en 192.168.1.10 Acces point en WLAN=ath0 con IP 192.168.1.1 Segunda LAN=eth0 con IP 192.168.1.2 Esta última podemos usarla para una red local o para la PC de control. Mientras estemos configurando el router, tendremos conectada la máquina auxiliar. Verificamos, enviando desde lá máquina auxiliar, “ping” a estas tres direcciones IP. Si responden, es que vamos por buen camino. En este punto ya debería transmitiendo la placa inalámbrica, pero lo está haciendo en default con clave wep, en un canal que eligió sola y con un ssid también por default. Configuración del Acces Point Tendremos a mano la máquina auxiliar, con una placa receptora inalámbrica cualquiera. Nos aseguraremos que tanto el router, como la máquina auxiliar, tengan instaladas las respectivas antenitas. Vamos a verificar la detección de la señal, en la máquina auxiliar y comprobharemos el canal por default y que está encriptada. Entramos a la consola del BrazilFW y ejecutamos ifconfig: aparecen listadas las interfaces ath0, eth0, eth0, br0, wifi0, lo. Luego ejecutamos iwconfig: aparecerá esto: ath0 IEEE 802.11g ESSID:"wireless" Mode:Master Frequency:2.422 GHz Access Point: 00:40:F4:F5:C0:84 Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. Encryption key "s:9988556600223" Power Management:off Link Quality=15/94 Signal level=-80 dBm Noise level=-95 dBm Rx invalid nwid:20 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 pueden ver una clave por defecto, hay distintos tipos de clave. Esta configuración, aunque les salga por defecto, luego la vamos a ajustar, editando el archivo mod.wireless. La placa que estoy usando también queda por defecto en modo “acces point” y en canal 5 Tengamos presente que el archivo: “etc/rc.d/pkgs/mod.wireless tiene la configuración del chip atheros, en mi caso, datos que los proporciona automáticamente la instalación del driver Vamos a ver este archivo: #!/bin/sh # Script de inicializaçión para placas con chips Atheros insmod insmod insmod insmod insmod insmod insmod insmod insmod insmod insmod insmod /lib/modules/md5.o /lib/modules/wlan.o /lib/modules/wlan_acl.o /lib/modules/wlan_ccmp.o /lib/modules/wlan_tkip.o /lib/modules/wlan_wep.o /lib/modules/wlan_xauth.o /lib/modules/ath_hal.o /lib/modules/ath_rate_sample.o /lib/modules/wlan_scan_ap.o /lib/modules/wlan_scan_sta.o /lib/modules/ath_pci.o autocreate=ap #Setea modo de operaçión para 802.11a #iwpriv ath0 mode 1 #Setea modo de operaçión para 802.11g #iwpriv ath0 mode 3 #Setea modo de operaçión para 802.11b #iwpriv ath0 mode 2 #Setea modo operación automático # iwpriv ath0 mode 0 # Modo Managed (Cliente de AP) #iwconfig ath0 mode Managed # Modo Ad-Hoc (Punto a Punto) #iwconfig ath0 mode Ad-Hoc # Modo Master (Access Point) #iwconfig ath0 mode Master # # # # # # Setea el SSID del accespoint iwconfig ath0 essid "wireless" Setea el canal de operación iwconfig ath0 channel 3 Setea la clave WEP iwconfig ath0 key "s:9988556600223" brctl addif br0 ath0 ifconfig ath0 0.0.0.0 ifconfig ath0 up Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. las líneas que siguen a todas las “insmod/..................”, originalmente están todas comentadas salvo la:”iwconfig ath0 key "s:9988556600223". Como yo lo uso sin clave la corrijo: “#iwconfig ath0 key "s:9988556600223". Para elegir el canal a usar hay que tomar la línea: “# iwconfig ath0 channel 3”, descomentarla(eliminar # y el espacio) y corregirle el número de canal. Para cambiarle el SSID descomentar “# iwconfig ath0 essid "wireless"” y corregir el nombre por elk deseado. Para el modo de operación (norma a, b, g) descomentar la línea adecuada. Yo descomenté: “# iwpriv ath0 mode 0”, que la pone en automático pues tengo clentes con placas b y g En mi caso no descomenté la línea: “#iwconfig ath0 mode Master”, por que los drivers de mi placa la inicializan en modo master, si así no fuera hay que descomentarla. Entre estas líneas comentándolas o descomentándolas obtendran la configuración del acces point. Estas líneas deben quedar siempre al final: brctl addif br0 ath0 ifconfig ath0 0.0.0.0 ifconfig ath0 up Recuerden que las líneas activadas no deben tener espacio a la izquierda Una vez terminado, salvan el archivo con “ctrl. + s”, tipean “backup”, luego “reboot”y cuando reinicie, verifican las configuraciones en la máquina auxiliar. Testeos finales Con la máquina auxiliar, mandamos ping primero por la LAN al gateway (192.168.1.10), a la placa eth0 (192.168.1.2) y al nuevo acces point (192.168.1.1). Obviamente deben responder. Luego en la máquina auxiliar desactivamos la LAN, y activamos la conexión wireless, la configuramos con los datos que le dimos al acces point y debemos conectarnos sin problemas luego mandamos ping de nuevo a las tres IP anteriores y también deben responder. Estas pruebas confirtmarán que “tenemos un router que mediante un bridge, administra una LAN y una WLAN”. Mejor dicho, el router no diferencia entre ambas (ve LAN +WAN como una sola). Ya que se usa el mismo rango de IP en ambas, obviamente no se pueden usar IP duplicadas. Cuando configuremos la internet, desde luego, tendremos acceso desde las dos conexiones. COMENTARIOS GENERALES: El filtrado ip o mac lo hice desde el router "configuración simplificada de firewall" en el webadmin. Que es más sencillo. No necesito filtrar desde el acces point. Instalé squid, como cualquier add-on (squid.tgz), la última versión. Ver en los foros cómo se configura. La configuraciones inalámbricas no se ven en detalle desde el webadmin. Probé con arvwireless.tgz( es un add-on que agrega la posibilidad de configurar la red inalámbrica desde el webadmin) pero no me funcionó. El QOS (control de ancho de banda) ya viene con la version BrazilFW 2.30. Ver en los foros como se configura. La configuracion de internet, por DHCP o estática se establece en el armado de los disquetes o se puede cambiar desde el webadmin más tarde. Como resultado final, observé una notable mejora en cuanto a la congestión que tenía cuando usaba un switch y un accespoint senao o micronet. Desaparecieron los cuelgues y se duplicó la velocidad real de navegación. Si van a usar SQUID, lo ideal son 256 Mb de Ram, y se olvidan. Generated by Foxit PDF Creator © Foxit Software http://www.foxitsoftware.com For evaluation only. FIN “AMIGOS, ESPERO QUE PUEDAN EXPERIMENTAR PARA MEJORARLO. DISCULPEN LA DEMORA, EN ROSARIO HUBO MUCHA AGUA, PROBLEMAS, Y SE ME MOJO EL ROUTER QUE TENIA DEBAJO DEL TANQUE DEL EDIFICIO. SE ME QUEMÓ EL MODEM, Y TODAS LAS PLACAS DE RED CABLEADAS. YA SOLUCIONADOS ESTOS PROBLEMAS, AHORA VA TODO VIENTO EN POPA!!”