Versão em Espanhol ( Esta em PDF )
English Version
CONSTRUÇÃO DE UM ROUTER + BALANCE DE CARGA + QOS + SQUID + ACCES POINT TODOS EM UM PC COM BRAZILFW
Como Converter um Router Brazilfw em AP ( Acces Point ) – ( Autor: elpelado ).
############ ( Esta Versão em Português é uma Tradução da versão em Espanhol ) ############
INTRODUÇÃO:
Comecei o meu sistema sem fio com 1 CableModem + 1 roteador Micronet + 1 Acces
Point. A transmissão é de cerca de 3 km da área de serviços.
Logo que eu comecei a acrescentar assinantes, começou a dar problemas no roteador e acces Point. Mudamos o roteador, o Acces Point mas a coisa não melhorou muito.
Colocamos o AP da Micronet, de menor potencia, e criamos um outro problema. Então partimos para o o booster edimax, de 500 mW.
Eu descobri que outros serviços têm problemas semelhantes em relação a Relógios e Reatores eletrônicos caseiros.
Quanto mais tráfego temos mais problemas com roteadores, switchs e ponto de acesso
Quando já estava sem esperença , eu descobri o coiote Linux , e, por conseguinte, o BraziFW, .......... Então eu vi a luz.
Mãos a Obra:
Materiais:
* PC: Celeron 266 (ou de outros modernos PCI)
Memória: 128 MB mínimo
Disc: 2 a 4 GB
Placas de rede: 2 placas 10/100 chip Realtek 8139 (ou outras suprortadas pelo BFW)
Placa wireless: SG-1 ENLWI Atheros chip (ou outra que suporte modo Master)
* Outro PC com Windows ( Máquina Auxiliar ) com placa wireless ( Ou adaptador USB Wireless ) e placa de rede 10/100 ( para Testes )
* Cabo UTP ( Cabo para Trançado ) em crossover (PC a PC)
* 3 disquetes em bom estado.
Observações:
*O router em si, trabalha com muito menos memória. Mas se você estiver usando o squid, por experiência própria não pode ser menor que 128 MB.
*O chip Atheros suporta o modo master (Acc.Point), os drivers estão no BrazilFW, e a placa encore super G, é barata. Eu tentei com outra placa não suportada, com ndiwrapper, mas eu não consegui fazer reconhecer (o encore comum com chip Marvell).
Observação: Os passos a seguir sobre instalação de pacotes / addons são válidos para a versão 2.30.1 do BFW, última versão com suporte a disquete. Para a Versão 2.31.10, que não tem mais suporte a Disquete, você instala os referidos addos usando, por exemplo, o WinSCp ( Na seção de tutoriais tem " Como instalar Addons" e " Usando o WinSCP por um túnel Putty " ).
No 3° disquete coloque :
* Driver do chip Atheros "ath.tgz": http://www.brazilfw.com.br/downloads/wi ... 27/ath.tgz
* O módulo bridge.tgz (no "extras" do assistente de criação do disquete de instalação do BrazilFW) Para a Versão 2.30.1 baixe a: http://www.brazilfw.com.br/downloads/di ... bridge.tgz . Já a Versão 2.31.10 do BFW já vem com o bridge.tgz na instalação
* Outros add-on que você deseja adicionar (squid.tgz, bmt.tgz, e outros)
Instalando o server BrazilFW:
Preparação dos Disquetes
1- A partir do Wizard Windows do BrazilFW 2,30.1, vamos preparar os 2 disquetes para a instalação no disco rígido. Nessa tela definimos um IP para o Gateway, e os drivers correspondente à placa de Rede (eth0). Este será o Ip do Gateway.
2 - Escolhendo o tipo de Internet para receber, no meu caso, CableModem, escolhi DHCP
3 – Em configuração da Internet, escolher o driver da NIC correspondente
4 – N passo 6 do Wizard, pode–se habilitar o servidor DHCP interno, para os clientes. Eu não o habilitei porque vou atribuir IP estático (por razões de filtragem de clientes). O passo 7, (escolha de senha) é óbvio, e, recordando lembro que quando trabalhamos com o console o usuário será: "root" e a senha, a que colocamos no passo 7.
5 - Na Etapa 8 do Wizard marcar o “wíreless tools” e o “Advanced Router Options”.
As demais opções não entram no disquete, O bridger se instala depois como Addon.
6 – As etapas 9 e 10 do wizard passo sem nada a escolher . Usamos as etapas 11 e 12 para criar os 2 disquetes ". Um deles é o Roteador Clássico que trabalha a partir de um disquete, o outro é o programa de instalação para o Disco Rígido ( HD ).
7 – Pegamos agora o PC que preparamos com 3 placas de rede. Iniciamos com o 2° disquete (o instalador de Disco Rígido).
* Depois ele nos pedira o 1° disquete de Boot do BrazilFW e suas configurações.
* Ao solicitar o tamanho da Primeira Partição (padrão 40 MB), atribua um tamanho maior (Exemplo 80 MB), isso nos possibilitará acrescentar novos addons no futuro.
* Depois de saber se pretende criar uma 2ª partição, para por exemplo se instalar o squid: responde-se "sim" e atribua todo o espaço restante.
* Em seguida irá perguntar se você quer instalar o hdparm ( Desliga o HD quando ele não esta em uso), Eu não o coloque pois uso o Squid e ele está sempre fazendo cache.
* Ao final pede-se para remover o disquete e pressionar Enter para reiniciar.
Devemos verificar com a máquina auxiliar se a rede LAN (eth0) esta Ok, e se o BFW já funciona como roteador, Dê um ping para o IP do gateway e ou entre no webadmin utilizando o endereço http://192.168.1:8180 ( no meu caso) no seu navegador preferido.
Instalação do driver da Placa Wirelles
Agora nós iremos instalar o driver da placa com chip wireless (no meu caso o ath.tgz) que colocamos no 3° disquete. Siga os passos abaixo:
1 - Insira o disquete no computador que está rodando o BrazilFW.
2 - Faça o login a partir do consoledo do BrazilFW (teclado e monitor conectado a presente máquina) ou remotamente via SSH (putty), para esta ultima opção utilizamos a máquina auxiliar, usando a rede cabeada (eth0).
3 - Devemos nos logar como root, e a senha a que pusemos quando da criação dos disquetes 1 e 2.
4 – Nos aparecerá um menu. Para sair dele usamos “q” e entraremos no console.
No console esceva os seguintes comandos:
# mount / dev/fd0 /mnt -t vfat ( Monta o disquete)
# cp /mnt/pacote.tgz / (pacote é o nome do addon, no meu caso ath.tgz)
(Copie o arquivo para o diretório raiz)
# umount /mnt (Desmontar o disquete)
5 - Agora você pode remover o disquete do drive e seguir os passos seguintes:
# mt (Monta o HD)
# cp pacote.tgz /mnt (copiar o novo pacote para HD)
# umt (desmonta o HD)
# reboot (reiniciar)
Atenção: Nunca faça um backup do BrazilFW depois de instalar um Pacote / Addon, reinicie sempre sem fazer BACKUP!!!
O BrazilFW, ao iniciar compila e instala tudo o que está no diretório /mnt.
(este é um procedimento geral para pacotes e add-on para o BrazilFW. Todos devem ser "tgz". Quando baixamos algo da web e se salva com "tar", basta alterarmos a extensão “.tar” para a extensão ".tgz").
Verificando a Placa wireless:
Pelo console, digite o comando “ # iwconfig”. Se a placa wirelles foi reconhecida deverá aparecer algo como isto:
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
De Onde ath0 é minha placa. De acordo com o driver da sua placa pode aparecer outro nome em vez de "ath0":
Veja alguns Exemplos:
* ACX100/111 = wlan0
* Realtek = wlan0
* Prism = wlan0
* Atheros = ath0
* Ralink = ra0
• Configuração inicial da placa wireless
Da máquina auxiliar com Windows entramos no webadmin. Exemplo: No navegador digite http://192.168.0.1:8180
Vá em "configuração de rede", lá tem a “wireless LAN setup”, e colocaremos os seguintes dados:
WLAN Network Device = ath0 (ou o que aparecer no iwconfig),
Endereço IP primário = 192.168.1.1 e sub-máscara = 255.255.255.0, no meu caso.
"Esta configuração de rede, será que o conselho de administração terá de funcionar como wireless acces ponto (no meu caso é o IP e a máscara do anterior ponto de acesso "SENA", que já Descartes) "
Ao pé da seção, pressione enviar. Dê tempo para concluir o processo. Ir para webadmin lapela esquerda e salvaguardar a imprensa, e finalmente reiniciar o BrazilFW
Uma vez reiniciado o roteador, gateway através da LAN para enviar ping (192.168.1.10 na minha caso) e as WLAN (192.168.1.1 no meu caso). Ambos devem responder.
Pausa para Reciclagem
Até agora, o que fizemos foi criar um roteador clássico, com uma LAN (eth0), a qual estamos acrescentamos uma outra rede: a WLAN (ath0 no meu caso).
Na LAN, nesta fase, podemos usar a internet WAN (eth1). Mas pela Placa Wireless ainda não.
Ligando as duas redes
então o que vamos fazer é criar uma interface virtual "BRIDGE" ("PONTE"), que irá operar internamente como uma ponte para ligar a LAN com a WLAN.
" Bridge " é um dispositivo, conhecido como uma ponte para ligar duas sub-redes. Permite eliminar o tráfego desnecessário entre uma Sub-Rede e outras. Não Realiza NAT e faz o tráfego de pacotes usando o endereço (MAC) em vez de IP. Constroi uma tabela inteligente atualizando a composição das 2 sub-redes. É mais do que um hub, mas inferior a um roteador.
No Linux, um PC com 2 interfaces de rede, pode-se transformar em Bridge. Isto se alcança instalando os addons necessários e umas poucas linhas de comando. Exemplo:
ifconfig eth0 0.0.0.0
ifconfig eth1 0.0.0.0
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1 ( Estes 5 últimos comandos é um exemplo, não os execute! )
Temos que definir uma interface "br0", e as duas interfaces eth0 e ath0 serão os "portos" da Ponte (Bridge). br0 aparecerá no ifconfig, como uma nova interface de rede e é redistribuído o IP do Gateway.
Isso nos permite acessar o roteador através da LAN, e também pela WLAN.
Implantando uma "Ponte" (“bridge”)
Para criar uma ponte ( Bridge ), é necessário ter instalado o módulo bridge.tgz. Há duas maneiras de se fazer. No Inicio ou no final.
No Inincio ou no Final ? Como assim ?
Quando da criação dos disquetes, no passo 8, temos a opção para carregar as ferramentas para fazer uma Ponte (bridge):
* O módulo bridge.tgz (no "extras" do assistente de criação do disquete de instalação do BrazilFW) Para a Versão 2.30.1 baixe a: http://www.brazilfw.com.br/downloads/di ... bridge.tgz . Já a Versão 2.31.10 do BFW já vem com o bridge.tgz na instalação
Isto lhe permite configurar o módulo bridge.tgz. Eu não o adiciono nesta etapa porque não tem espaço suficiente para salvar no disquete. Apesar de haver meio de formatar o disquete com uma maior capacidade.
Eu instalo o módulo "bridge.tgz" usando o mesmo procedimento que usei para instalar o driver da placa wirelles, ou de qualquer outro add-on a partir de um disquete:
# mount / dev/fd0 /mnt -t vfat ( Monta o disquete)
# cp /mnt/pacote.tgz / (pacote é o nome, neste caso, a bridge.tgz)
(Copie o arquivo para o diretório raiz)
# umount /mnt (Desmontar o disquete)
• Agora você pode remover o disquete drive e siga os seguintes passos:
# mt (Monta HD)
# cp pacote.tgz /mnt (copiar o novo pacote para HD)
# umt (desmonta o HD)
# reboot (reiniciar
Atenção: Nunca faça um backup do BrazilFW depois de instalar um pacote, reinicie sempre sem fazer BACKUP!!!.
O BrazilFW, ao iniciar compila e instala tudo o que está no diretório /mnt.
Observação: Os passos a acima sobre instalação de pacotes / addons são válidos para a versão 2.30.1 do BFW, última versão com suporte a disquete. Para a Versão 2.31.10, que não tem mais suporte a Disquete, você instala os referidos addos usando, por exemplo, o WinSCp ( Na seção de tutoriais tem " Como instalar Addons" e " Usando o WinSCP por um túnel Putty " ).
Exemplo de criação de uma ponte (Bridge) em Linux:
Isto irá criar uma ponte (Bridge)
# Define uma interface Bridge
brctl addbrg br0
# Adiciona interface eth0 como o "porto" da ponte
brctl addif br0 eth0
# Definir a interface eth0 para herdar o IP a partir da ponte
ifconfig eth0 0.0.0.0
# Ativa interface eth0
ifconfig eth0 up
# Adiciona interface atho como "porto" da ponte
brctl addif br0 ath0
# Define a interface ath0 para herdar o IP a partir da ponte
ifconfig ath0 0.0.0.0
# Ativa interface ath0
ifconfig ath0 up
Executar estes comandos diretamente no Brazilfw não dará qualquer resultado.
Isto deve-se ao mecanismo de execução do script etc/rc.d/rc.modules
Os scripts no diretório etc/rc.d/Pkgs são executados em ordem alfabética.
Isto significa que o script configuração etc/rc.d/Pkgs/mod.bridge é executado antes
do script etc/rc.d/Pkgs/mod.wireless
(Nessa ordem se tentara atribuir uma interface Wirelles (ath0) como "porto" da Bridge, antes que ela seja criada).
Quando se executa o mod.bridge antes do mod.wireless, a interface eth0 já foi criada, mas a ath0 ainda não.
O que nós vamos fazer então, é usar as linhas do exemplo anterior e vamos inseri-las em 2 partes em diferentes arquivos:
Editamos o etc/rc.d/Pkgs/mod.bridge . No final do script, adicione (pode estar vazio):
brctl addbrg br0
brctl addif br0 eth0
ifconfig eth0 0.0.0.0
ifconfig eth0 up
Salvamos com "Ctrl. + S ", Saimos com " ctrl. + Z " e nos resguardamos digitando " backup ".
Agora, editamos o arquivo etc/rc.d/Pkgs/mod.wireless e, no final do mesmo, adicionamos as linhas restantes do Exemplo, tais como:
brctl addif br0 ath0
ifconfig ath0 0.0.0.0
ifconfig ath0 up
Salvamos com "Ctrl. + S ", Saimos com " ctrl. + Z " e nos resguardamos digitando " backup ".
Por último, edite o arquivo de configuração principal: etc/coyote/coyote.conf e corrigimos a linha:
IF_LOCAL = eth0 por esta IF_LOCAL = br0
Salvamos com "Ctrl. + S ", Saimos com " ctrl. + Z " e nos resguardamos digitando " backup ".
Este último atribuirá o IP do gateway para 192.168.1.10 na br0 (bridge). Agora reiniciamos o PC digitando "reboot"
Reconfiguração da LAN
Uma vez reiniciado o BrazilFW, entramos no WebAdmin, vamos em configurações de rede, e notamos que o dispositivo LAN não é mais "eth0" e sim "br0". Logo abaixo nos permite criar uma "Segunda LAN". A qual sera feita com os seguintes dados:
LAN2 Network device = eth0
Vamos dar um novo IP: no meu caso 192.168.1.2 com Mascara 255.255.255.0
Clicke em enviar, Depois faça Backup e reinicie o roteador.
Em suma, ficamos com as seguintes configurações:
BrazilFW Router, com Gateway com IP 192.168.1.10
Ponto de acesso em WLAN = ath0 com IP 192.168.1.1
Segunda LAN = eth0 com IP 192.168.1.2
Na Segunda LAN podemos usá-la para uma rede local e no nosso PC de controle ( Auxiliar ). Enquanto nós configuramos o router, vamos usar a máquina assistente.
A partir da máquina auxiliar, vamos enviar "pings" para os três endereços IP acima. Se houver resposta é que estamos no caminho certo.
Nesse momento você deve estar transmitindo através placa wireless, mas em modo Padrão com chave WEP, em um unico canal e também por SSID padrão.
Configuração do Access Point
Vamos colocar na máquina auxiliar, uma placa wireless qualquer. Devemos nos assegurar que tanto o roteador, como a máquina auxiliar, ter instalada a respectiva antena.
Verificaremos a detecção do sinal na máquina auxiliar e comprovaremos que canal padrão está criptografado.
No console do BrazilFW execute ifconfig: aparecerá listadas as interfaces ath0, eth0, eth1, br0, wifi0. Então execute iwconfig: Aparecerá isto:
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 "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
Podemos ver que foi detectado uma chave padrão, mas existem diferentes tipos de chaves. Então nós vamos ajusta-la editando o mod.wireless. A Placa que estou usando tambèm é detectada no modo padrão do "ponto de acesso" e Channel 5.Vale lembrar que no meu caso o arquivo: etc/rc.d/Pkgs/mod.wireless tem na configuração o chip Atheros que proporciona a instalação automatica do driver.
Vamos ver este arquivo:
#! / Bin / sh
# Script de inicializacao para placas com chips Atheros
insmod /lib/modules/md5.o
insmod /lib/modules/wlan.o
insmod /lib/modules/wlan_acl.o
insmod /lib/modules/wlan_ccmp.o
insmod /lib/modules/wlan_tkip.o
insmod /lib/modules/wlan_wep.o
insmod /lib/modules/wlan_xauth.o
insmod /lib/modules/ath_hal.o
insmod /lib/modules/ath_rate_sample.o
insmod /lib/modules/wlan_scan_ap.o
insmod /lib/modules/wlan_scan_sta.o
insmod /lib/modules/ath_pci.o autocreate=ap
# Seta o Modo de Operacao para de 802.11a
# Iwpriv ath0 Mode 1
# Seta o Modo de Operacao para de 802.11g
# Iwpriv ath0 Mode 3
# Seta o Modo de Operacao para de 802.11b
# Iwpriv ath0 Mode 2
# Seta o Modo de Operacao para automático
# Iwpriv ath0 Mode 0
# Modo Managed (Client AP)
# Iwconfig ath0 mode Managed
# Modo Ad-Hoc (Ponto a Ponto)
# Iwconfig ath0 mode Ad-Hoc
# Modo Master (Access Point)
# Iwconfig ath0 mode Maste
# Seta o SSID do Acces Point
# Iwconfig ath0 essid "wireless"
#Seta o canal de operação
# Iwconfig ath0 Canal 3
# Seta a chave WEP
# Iwconfig ath0 key "s:9988556600223"
brctl addif br0 ath0
ifconfig ath0 0.0.0.0
ifconfig ath0 up
Todas as linhas depois das linhas com "insmod /.................." estão comentadas,
exceto a "iwconfig ath0 key "s:9988556600223" Como eu uso sem chave, eu vou e comento a linha:
# iwconfig ath0 key "s:9988556600223"
Para escolher o canal deve ser descomentar a linha: "# iwconfig ath0 canal 3" , e colocar o número correto do canal.
----------------------------( Descomentar uma linha é eliminar o # e o espaço ) ---------------------
Descomentar a linha "# iwconfig ath0 essid "wireless" e altere para o nome desejado.
Para o modo de funcionamento (norma a, b ou g) descomente a linha correspondente.
Eu descomento a linha:"# Iwpriv ath0 mode 0", para colocar em modo automático pois tenho Clientes com placas b e g
No meu caso não descomento a linha: "# iwconfig ath0 mode Master", porque os drivers de minha placa iniciam em modo master, se não fosse assim teria que descomenta-la.
As linhas comentadas ao serem descomentadas alteram a configuração do Acces Point.
Estas linhas devem estar no final do arquivo:
brctl addif br0 ath0
ifconfig ath0 0.0.0.0
ifconfig ath0 up
Lembrem-se que as linhas não devem ter espaço à esquerda.
Uma vez terminado siga essa seqüência: Salve o arquivo com "ctrl. + S ", Saia com "Ctrl + Z", Faça Backup digitando " backup "e reinicie digitando " reboot " e quando reiniciar, verifique as configurações da máquina Auxiliar.
Os ensaios Finais
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Com o auxiliar de chamadas, enviar ping primeira porta de saída para a LAN (192.168.1.10), o
placa eth0 (192.168.1.2) e do novo ponto de acesso (192.168.1.1). É evidente que devemos
responder.
Em seguida, no máquinas auxiliares desativar a LAN, e ativar a conexão sem fio,
configure com os dados que nos deu o ponto de acesso, e temos de ligar sem
ping problemas em seguida, enviar de volta para os três anteriores, e também tem de IP
responder.
Estes testes confirtmarán que "nós temos um roteador através de uma ponte,
administra uma LAN e WLAN. " Em vez disso, o roteador não faz distinção entre os dois
(LAN e WAN vê como um). Uma vez que ela usa o mesmo intervalo IP em ambos,
obviamente você não pode usar IP duplicatas. Ao configurar o Internet,
Evidentemente, vamos ter acesso a partir de duas conexões.
Comentários Finais:
Filtragem ip ou mac eu fiz a partir do roteador "configuração simplificada firewall", em
WebAdmin. Isso é mais simples. Não preciso de filtrar a partir de ponto de acesso.
Eu instalei lulas, como qualquer add-on (squid.tgz), a versão mais recente. Olhe para o modo como fóruns
configurados.
As definições não são sem fio em detalhe desde webadmin. Eu tentei
arvwireless.tgz (é um add-on que acrescenta a capacidade de configurar a rede sem fio
desde webadmin), mas eu não trabalho.
A QoS (controle ancho de banda) e vem com a versão BrazilFW 2,30. Olhe para os fóruns
tal como configurados.
A configuração da Internet, DHCP ou estático definidos no armadas disquetes
ou pode ser alterado a partir do webadmin mais tarde.
Como resultado, eu notar uma melhoria significativa em termos de congestionamento
Foi usado quando um interruptor e um accespoint SENA ou Micronet. Eles desapareceram
as falhas e duplicou a velocidade real de navegação.
Se você quer usar lulas, o ideal é 256 MB de RAM, e esquecer.
########################## FIM ####################################
Como tive dificuldade na tradução do treço abaixo e é uma opnião do Autor do Tutorial (elpelado) e este Apêndice não influi no entendimento da matéria em questão resolvi deixar como esta no original. ( por reginaldo)
Apêndice do "elpelado"
“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!!”