Download Generated by Foxit PDF Creator © Foxit Software http://www

Document related concepts
no text concepts found
Transcript
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!!”