FELIPE MORAES FREITAS
FERNANDO HENRIQUE A. DE ARAÚJO
MOACIR EDILSON T. FERREIRA
Orientado pelo Prof. Thiago Moreira.
Link para Download: http://www.4shared.com/office/18-Sb9k5/PASSO-A-PASSO_DE_UMA_IMPLEMENT.html
Vídeo da Implementação: http://www.youtube.com/watch?v=oWM7ZtCIzs4&feature=plcp
Antes de iniciarmos nosso projeto de rede Mesh vamos ver uma imagem do que vamos produzir
Imagem 1
De
início vamos configurar o Mikrotik de Borda (MK1) que terá uma das suas
interfaces ligada ao roteador CISCO 1800 series, a interface ETHER1 será
renomeada para LINK e receberá um IP fixo em quanto à interface ETHER2 será
renomeada para LAN e também receberá um IP fixo.
Nas
configurações do Mikrotik pelo Winbox acesse o menu “Interfaces” na janela
“Interfaces List” dê um duplo click na
ether1 e renomeie o nome para LINK, em seguida faça na segunda interface ether2,
dê um duplo click e renomeie para
LAN.
Imagem 2
No segundo
passo vamos atribuir um IP para cada interface renomeada.
No menu ao
lado acesse a aba “IP” >> “Address
List “.
Dê um click no sinal de + e coloque os IP’s
para cada interface e salve como na imagem abaixo:
Imagem 3
Em seguida criamos
uma range de IP’s que será distribuída pela nossa rede LAN
Faça como na
imagem 4 em seguida acompanhe a configuração na imagem 5 colocando em “Nome” o
nome da range de “pool-mesh” e address de 172.16.0.2-172.16.0.14 salve e
saia. Nesta etapa você acabou de criar
uma ranges de IP’s para os clientes.
Imagem 4
Imagem 5
Com a range
criada vamos partir para a criação do DHCP da rede LAN o que ficará responsável
por distribuir os IP’s aos hosts ligada a essa rede. Veja na imagem 6 e 7 a
criação do DHCP.
Imagem 6
Imagem 7
Vamos
colocar o DNS (Domain Name System), parte
essa responsável por resolver nomes de domínios da rede de endereços IP para
nome e nome para endereço IP. Seguem abaixo as configurações na imagem 8,
simples e fácil.
Acesse a aba
IP >> DNS:
Para os
servers defina: “8.8.8.8” e “8.8.4.4” >> Aplly e OK
Imagem 8
Em sequência
fazemos o “Network Address Translation(NAT)”, este responsável por fazer a
conversão de um endereço IP inválido para público e público para inválido
usando o masquerade . Acompanhe as configurações nas imagens 9 e 10.
IP >>
Firewall >> NAT >> dê um click
no sinal de + e na aba General em Out. Interface configure para LINK e na
aba Action use masquerade.
Imagem 9
Imagem 10
Por último
no roteador de borda criaremos a rota que nos permitirá uma conexão com a
internet:
No menu IP >> Routes, click no sinal de +, em “Dst Address” direcione
para “0.0.0.0/0” em Gateway direcione para “200.20.0.1” em “Distance” defina o
valor “1”. Apply e OK
Imagem 11
Agora iremos
testar nossa conectividade:
Acesse a aba
“New Terminal” e faça um ping para o google.com como na imagem 12, se tudo
ocorreu bem até aqui, então podemos ir para a segunda parte do nosso projeto.
Imagem 12
Segue abaixo
as linhas de comando para quem gosta de trabalhar dessa forma:
interface
set ether1-gateway name=LINK
interface
set ethet2 name=LAN
ip
address add address=200.20.0.2 netmask=255.255.255.252 interface=LINK
ip
address add address=172.16.0.1 netmask=255.255.255.240 interface=LAN
ip dns
set servers=8.8.8.8,8.8.4.4 allow-remote-requests=yes
ip pool
add name=pool-mesh ranges=172.16.0.2-172.16.0.14
ip
dhcp-server add name=dhcp-lan address-pool=pool-mesh interface=LAN
disable=no
ip
dhcp-server network add address=172.16.0.0/28 gateway=172.16.0.1
ip route
add dst-address=0.0.0.0/0 gateway=200.20.0.1 distance=1
ip
firewall nat add chain=srcnat out-interface=LINK action=masquerade
Configuração de um RB433AH Wireless (MK2)
Esta é a parte que precisa de mais atenção, pois é a RB433AH master
que fará a distribuição do IP para a rede WiFi
e é o principal equipamento que fará a negociação de autenticação com o
servidor RADIUS, e onde também estará configurado o Hotspot.
Na imagem 13 colocamos um IP fixo para cada interface, acesse IP
>> Address e na ether1 que estará ligada ao switch defina o seu IP para 172.16.0.4/28.
Na segunda interface a wlan1 definimos com o IP 10.0.0.1/24, perceba que já
colocamos a imagem da configuração do DNS nesse caso o IP do roteador de borda
MK1.
Imagem 13
Acesse o menu “Interfaces”, dê um duplo click na interface wlan1
e configure-a da seguinte forma: “Mode = ap-bridge”, “Band = 2GHz-B/G/N”,
“Frequêncy = 2437 (o equivalente ao canal 6)”, “SSID = nome_da_rede”, “Radio Name=
Dê um nome para a identificação do seu rádio” click no botão Apply depois
Enable.
Obs.: É importante fazer o escaneamento para escolher o canal
mais adequado a ser usado, para isso basta clicar no botão “Scan...” e procurar
por canais que estejam sendo usado. Para que não haja interferência entre as
redes escolha um canal que não esteja em uso. Caso nenhum canal esteja sendo
usado, escolha um de sua preferência.
Imagem 14
Em seguida vamos criar uma Bridge:
Acesse o menu “Bridge” e click
no sinal de “+” para adicionarmos a interface, Aplly e OK. Na aba “New
Interface” no campo “Name” defina um nome para sua bridge, nesse caso colocamos
o nome de “bridge-mesh” depois click em Apply
e OK.
Na aba “Ports” click no sinal de “+”, em interface selecione a interface
que fará a bridge, nesse caso a wlan1. No campo “Bridge” selecione a bridge anteriormente
criada, no caso “bridge-mesh”. Apply e OK.
Imagem 15
Acesse a aba WDS da Interface “wlan1” e defina as seguintes
configurações: “WDS Mode = dynamics mesh”, “WDS Default Bridge = bridge-mesh”,
caso esteja marcada, desmarque a opção “WDS Ignore SSID”.
Imagem 16
Como aprendemos anteriormente a criar ranges e configurar o
DHCP-server, vamos fazer isso também para a interface wlan1 que disponibilizará
a distribuição de ip’s para os clientes que utilizaram a rede WiFi.
Segue abaixo a imagem
pronta:
OBS 1: Crie primeiro as ranges de IP como o nome de pool-mesh.
OBS 2: Na janela DHCP-server a interface selecionada foi a
“bridge-mesh” e em “Address Pool” a “pool-mesh” criada que é
10.0.0.10-10.0.0.254
Imagem 17
Em seguida vamos fazer uma rota para os pacotes e o masquerade.
Na Imagem 18 a rota para conexão com a internet, no campo
gateway coloque o IP da RouterBoard de borda, no caso o MK1, ele é quem será o
nosso gateway. Enquanto na Imagem 19 as
imagens da configuração do firewall NAT.
Imagem 18
Imagem 19
Na janela “NAT-Rule” na aba “General” em “Chain” defina “srcnat”,
“Out. Interface” a ether1 depois vá à guia “Action” escolha “masquerade” click em “Apply” e “OK”.
Nos próximos equipamentos que farão parte do Mesh vamos chamar de “slave”, sua forma de
configuração é mais simples. Vejas os passos na imagem abaixo, não sendo
necessário configurar o DNS, DHCP-server, rota e firewall. Acesse o próximo RB433AH
(MK3) que fará parte da rede em malha e colocaremos um ip estático na sua
interface, lembrando que a primeira RB433AH esta com ip de 10.0.0.1 essa
segunda RB deve ser 10.0.0.2 para não gerar conflitos de ip’s.
Imagem 21
Obs.: Na Imagem 20 e Imagem 21 criamos uma interface bridge chamada
“bridge-mesh” e atribuímos a interface wlan1 a ela.
Em seguida vamos configurar a aba wireless igual à primeira
RB433AH que fizemos como o mesmo SSID, Band, Frequency, desmarque sempre a
opção “Default Forward” como na primeira RB. No campo “Radio Name” pode ser
definido como AP-02 para diferenciar dos outros AP’s. Habilite a interface e acesse
a guia “WDS”, vamos colocar a interface “mesh-bridge”. Acompanhe a Imagem 22 e
Imagem 23 abaixo.
Caso esteja marcada, desmarque a opção “WDS Ignore SSID”.
Após confirmar as configurações acima é possível que os dois
equipamentos já estejam associados, ou seja, um comunicando-se com o outro.
Faça isso com outros equipamentos (MK4, MK5, etc..), eles se
associarão ao RB433AH “master”, não se esqueça de ir definindo sempre IP’s
diferentes na wlan1 dos “slave”.
As imagens 24 e 25 mostram a associação entre os equipamentos.
Imagem 24
Vamos configurar o servidor RADIUS responsável pela autenticação
dos usuários que irão usar a rede WiFi.
Suponhamos que já tenha um servidor Linux pronto pra receber os
pacotes necessários para a configuração do servidor RADIUS.
Com o usuário root vamos instalar os pacotes necessários para
criarmos o nosso servidor de autenticação, veja a imagem 26 abaixo:
Em seguida iremos definir uma senha para o usuário Mysql, para
facilitar definimos nossa senha com 123*abc como na imagem 27, a Imagem28 é
apenas para confirmar a senha digitada anteriormente por segurança.
Em seguida vamos fazer a instalação do phpmyadmin que serve para
interagir diretamente com a base de dados MySql em uma interface gráfica
amigável para o administrador de rede.
Passo 1: Escolha o apache2,
Passo 2: Quando escolhida a opção “SIM” indica que vamos ligar a
base de dados mysql ao phpmyadmin em seguida será apresentada as telas para a
senha do usuário da base de dados que é 123*abc, confirme a senha nas etapas dos
passos 4 e 5.
Após toda a
instalação dos pacotes vamos entrar no diretório onde se encontra os arquivos
de configuração do freeradius.
Listando
todo o diretório com o comando “ls” é
apresentado todos os arquivos de configuração que fazem parte do freeradius.
Em seguida vamos
transportar todas as tabelas do freeradius para dentro do Mysql-server.
1º Passo
abra o navegador de qualquer máquina que esteja na estação do servidor Linux
digitando HTTP://ip_do_servidor/phpmyadmin
Coloque o
usuário e senha do phpmyadmin que no nosso caso é “user: root e password: 123*abc”
veja a imagem 32 abaixo:
Em seguida
crie um banco de dados onde este irá receber todas as tabelas do freeradius-mysql.
Passo 1:
Acesse a aba “Banco de Dados”
Passo 2: No
campo “Criar novo Banco de Dados” criamos um banco chamado “radius”
Passo 3: Click no botão “Criar”.
Voltamos ao servidor Linux e digitamos as
seguintes linhas de comando (veja imagem 34) para transferir todas as tabelas
do freeradius-mysql, uma chamada de “eschema.sql” e outra chamada de “nas.sql”.
Obs.: Estamos
apenas migrando as tabelas, porém é preciso configurar cada uma das tabelas
depois.
Vamos
preparar alguns *.conf do freeradius
para que o freeradius e o MySql possam trocar informações, dentro do
diretório “/etc/freeradius/”, vamos procurar pelo arquivo “radiusd.conf”, com
seu editor de arquivos preferido abra o radiusd.conf.
pico radiusd.conf
Procure pelo
campo “$INCLUDE sql.conf” e
descomente, removendo o símbolo “#”
que se encontra no inicio da linha.
#$INCLUED
sql.conf
$INCLUDE sql.conf
Salve e
saia.
Em seguida
editamos o arquivo “sql.conf”, procure pelo campo login
= “radius” e password =
“radpass” troque-o no campo login o “radius” pelo usuário do banco de
dados que é o “root” e no campo password a senha de “radpass” para a senha do
usuário do banco de dados “123*abc”, OBS1: O usuário e senha devem estar entre aspas ” “.
Veja a
imagem36.
Agora vamos
colocar os equipamentos que farão consulta ao servidor RADIUS, esses
equipamentos nós os chamamos de Network
Autentication Server (NAS). Vamos cadastrar o equipamento tanto no arquivo
“clients.conf” quanto no mysql, nesse caso vamos usar nos dois por modo de
prevenção. A imagem 37 nos mostra o ip do RB433AH Mikrotik. O administrador
pode colocar tanto o ip do Access Point individual quanto uma faixa de ip’s,
com senhas variadas. Vejas os exemplos que você pode fazer.
**************
Exemplo 1: INDIVIDUAL
*************************************
client 172.16.0.4 {
secret =123465
shortname =AP-01(Access-Point)
}
***********************************************************************
*****************
Exemplo 2: A REDE TODA
**********************************
client 172.16.0.0/28 {
secret = 123456
shortname =TODO-A-REDE
}
***********************************************************************
***************
Exemplo 3: NDIVIDUAL COM SENHAS
DIFERENTE *************
client 172.16.0.4
{
secret
=123456
shortname = Access-Point-01
}
cleint 172.16.0.5 {
secret
= 123*abc
shotname =Access-Point-02
}
************************************************************************
Ainda faltam
mais dois arquivos de texto para ser alterado um “default” outro “inner-tunnel”
ambos encontram-se no diretório “/etc/freerdius/sites-available/”
No arquivo
“default” abaixo da linha “authorize” procure por sql e descomente, mais abaixo
procure por “accounting” e também descomente as linhas sql. Salve e saia do
arquivo de texto default.
#pico
/etc/freeradius/sites-available/defaul
authorize
{
#
Look in an SQL database. The
schema of the database
# is meant to
mirror the "users" file.
#
# See
"Authorization Queries" in sql.conf
sql
accounting
{
#
#
Create a 'detail'ed log of the packets.
#
Note that accounting requests which are proxied
#
are also logged in the detail file.
#
See "Accounting queries" in sql.conf
Sql
O segundo
arquivo de texto é o “inner-tunner”
#pico /etc/freeradius/sites-available/inner-tunner
authorize {
# The chap module will set 'Auth-Type := CHAP'
if we are
# handling a CHAP request and Auth-Type has not
already been set
Chap
# Look in an SQL database. The schema of the database
# is meant to mirror the "users"
file.
# See "Authorization Queries" in
sql.conf
sql
Salve e saia
do arquivo de texto “inner-tunner”.
Vamos voltar ao phpmyadmin e editar as
seguintes tabelas (nas,radcheck, radgroupcheck, radusergroup)
Começaremos
pelo “nas”, confira a imagem 38 e veja como cada campo foi configurado.
Em “nasname”
colocamos o ip da RB433AH ou qualquer host que fará a consulta ao servidor
radius, no campo “shortname” uma identificação do equipamento que está fazendo
a consulta no servidor RADIUS, no campo “ports” a porta que o serviço radius
trabalha para autenticação (1645 ou 1812) e para contabilidade (1646 ou 1813),
por ultimo em “secret” a senha para a autenticação, para fins didáticos
colocamos senhas fáceis, depois mande executar.
Em seguida
iremos cadastrar os usuários que terão permissão para utilizar a rede WiFi, lembrando que no passo acima
cadastramos o equipamento que fará a consulta ao servidor RADIUS desta vez será
o usuário que fará a consulta ao servidor, caso um usuário não esteja
cadastrado seu acesso a rede WiFi
será negada.
Fizemos um
cadastrado com um usuário chamado “edikoston” com a senha “123456”, crie mais
um usuário, um para a rede WiFi e
outro para o Hotspot, nesse caso criamos mais um usuário chamado edilson com a
senha 123*abc este usuário edilson usaremos para logar no Hotspot.
Criaremos um
grupo na tabela “redusergroup” camado de banda larga depois setamos o usuário
edikoston nesse grupo, veja a Imagem 40.
Agora vamos
inserir valores na tabela “redgroupcheck”, coloque os valores da mesma forma
que você vê na Imagem 41, deve-se observar cada campo.
Com a BD do
radius configurado vamos configurar o Hotspot na RB433AH para receber a
autenticação no servidor RADIUS.
Voltamos ao
Winbox do Mikrotik para fazermos a configuração do RADIUS na RB433AH, marque
apenas os serviços que farão a autenticação ao servidor RADUIS, o nosso projeto
é apenas voltado para o Hotspot e Wireless, coloque o ip do servidor RADIUS e a
senha de autenticação do NAS “123456”, em caso de dúvida lembre-se que é a
senha definida no arquivo “clients.conf” ou na tabela “nas” do mysql.
A criação do
Hotspot é fácil e simples não há tanto segredo, segue abaixo os passos para a
criação do Hotspot.
Obs.: A
interface selecionada no Hotspot é a interface “bridge-mesh”.
Obs.:
Criamos um domínio chamando RC5NA.local, porém você pode criar o de sua
preferência.
Na aba
“Server Profiles” dê um duplo click no
domínio RC5NA.local, acesse a aba Login e marque as opções “HTTP CHAP”, “HTTP
PAP” e “Cookie”.
Na aba
“Radius” marque a opção “Use Radius” e defina “19 (Wireless-802.11)” em “NAS
Port Type”. Veja nas imagens 46 e 47.
Até aqui completamos
a configuração do Hotspot para interagir com o RADIUS, agora vamos para a
configuração de autenticação da rede WiFi.
Partindo
para a criação de modo de autenticação na rede WiFi utilizando o protocolo EAP (Protocolo de Autenticação
Extensível) para que o equipamento do usuário possa participar da rede. Os
passos abaixo mostram a configuração simples e fácil:
Assim como na
Imagem 48 habilite o WAP PSK e o WPA2 PSK, defina uma chave compartilhada (WPA
e WPA2 Pre-Shared Key) para manutenção do administrador de rede, sempre que o
administrador necessitar fazer alteração ou mesmo entrar na RB433AH sem
precisar passar pelo servidor RADIUS.
Na aba
“Radius” marque as opções “MAC Accounting” e “EAP Accounting”. Apply e OK.
Em seguida
partimos para última parte do nosso projeto, que é configurar a máquina do
usuário final e essa configuração será realizada em uma maquina Windows 7
Ultimate.
Segue o
passo-a-passo desta configuração da Imagem 50 até a Imagem 54.
Imagem 54
Obs.: Se a opção “Validar Certificado do Servidor” estiver marcada, desmarque-a. No passo da Imagem 55 desmarque também a opção “Usar automaticamente meu nome e senha de logon do Windows (e o domínio, se houver)” confirme esta etapa e você voltará para a tela “Propriedades EAP protegidas” confirme novamente.
Obs.: Usaremos o usuário “Edilson” com a senha
“123*abc” criada no servidor RADIUS.