Artigos

Packetfence - Parte 2 - Configuração básica

Packetfence - Parte 2 - Configuração básica

Agora que já temos o nosso servidor Packetfence funcionando, como fizemos na parte 1, vamos abordar um caso de uso muito requisitado: prover um Captive Portal para uma rede sem fio empresarial, com registro de visitantes e ativação por e-mail.

As soluções de rede sem fio empresariais como Cisco, Ruckus, Aruba e outras já integram um captive portal simples. Mas em geral não há muita possibilidade de personalização e adequação dessa versão mais simples às necessidades da empresa. Normalmente o que é oferecido é um sistema mais completo que possa ser utilizado mediante um licenciamento. Esse licenciamento costuma ter um valor proibitivo, dependendo do cenário e do número de licenças necessárias.

O Packetfence oferece uma estrutura muito robusta e altamente customizável para a montagem de uma solução de Captive Portal empresarial.

No caso das redes sem fio empresariais, existem duas abordagens básicas em termos de equipamentos: controladora de rede + access points, ou access points inteligentes que formam um grid único e uma controladora virtual. No exemplo, vamos montar um laboratório de prova de conceito usando o Aruba Instant AP303. A solução da Aruba permite compor uma malha de access points que atende ao mesmo SSID e implementa uma controladora virtual (um access point é eleito o master e controla o restante dos equipamentos).

Conforme a documentação do packetfence, é recomendado possuir pelo menos quatro VLANs distintas para administração, registro, isolamento e produção. A VLAN de isolamento é opcional, pois serve para isolar dispositivos que não passarem em testes de antivírus ou pelo scan de vulnerabilidades.

Foram definidas as VLANs a seguir:

  1. VLAN ID 1 - Administração (Default) - É nessa VLAN que ocorre a comunicação entre os ativos de rede
  2. VLAN ID 100 – Produção - Essa VLAN é a que tem acesso à Internet para os visitantes registrados
  3. VLAN ID 200 – Registro - Para obter acesso à VLAN de produção, primeiro o visitante deve se registrar nessa VLAN
  4. VLAN ID 300 – Isolamento - Caso seja implementada, vai manter o dispositivo isolado até a remediação

Diagrama do LAB

O resumo é o seguinte: o visitante se conecta a um SSID aberto (camada 2). O access point registra o MAC e verifica com o packetfence se o dispositivo já está registrado. Ele faz isso usando comunicação com protocolo RADIUS. Como o dispositivo não está registrado, o packetfence atribui uma função ou role a ele, cujo mapeamento para o Aruba é para a role pre-registro. Ao receber essa informação, o Aruba levará o dispositivo até a rede de registro, na VLAN 200. Nessa VLAN, o Packetfence terá um dhcp, fornecendo IP ao dispositivo e apresentando a ele o captive portal. O visitante concorda com os termos de uso e insere o e-mail para registrar-se. Nesse momento o Packetfence altera a role do dispositivo para uma role que esteja apta a navegar, no nosso exemplo Visit-OSPimenta. Através do mapeamento de roles que vamos configurar, o Packetfence informa ao Aruba que o dispositivo agora deve receber a role registrado. O Aruba pega essa informação, desconecta o dispositivo da rede de registro (via CoA) e o conecta na rede de produção. Uma nova requisição DHCP é realizada pelo dispositivo, mas desta vez já para o servidor DHCP da rede de produção e ele recebe um novo IP. Nesse momento o dispositivo já pode navegar por 10 minutos, ou pelo tempo que for determinado na configuração. Usando o acesso, o visitante poderá consultar seu e-mail e clicar no link de ativação, concluindo o processo de registro. A partir daí, o tempo de registro é aumentado para o tempo que está configurado, 1 hora em nosso exemplo. Fim do processo.

É importante observar que o Aruba não troca a VLAN do dispositivo diretamente, como seria possível fazer em um switch Cisco, por exemplo. Em vez disso, o access point altera a role do dispositivo e na role é que configuramos a VLAN. Portanto, no Aruba atribui-se a VLAN através da role (Role Based Access).

Configuração básica

Configuração de roles, perfis de conexão e fontes de autenticação para a rede Visitante:

1-Clique em Configuration → Policies e Access Control → Roles e faça um clone da role guest. Informe um nome e coloque uma descrição para a role:

Criando a role

Crie um fonte de autenticação baseada em e-mail.

Vá em Configuration → Policies and Access Control → Authentication Sources e clique em New external source. Faça um clone da fonte Email. Informe um nome e uma descrição para esta fonte de autenticação. No campo Host in activation link coloque um host válido para o seu domínio, pois o visitante vai precisar clicar neste link para ativar o acesso. Na zona DNS do seu domínio, você deve configurar um CNAME que aponta para o IP do seu servidor packtfence:

Criando a source e-mail

Criando a source e-mail

Desça na página e em Authentication Rules, crie a rule ou regra Visitante e adicione uma condição conforme abaixo. Essa regra vai atribuir a role Visit-OSPimenta ao dispositivo e definir 1 hora de acesso em caso de ativação do link:

Authentication rule

4-Clique em Configuration → Standard Connection Profiles → New Connection Profile e crie um perfil de conexão para visitante:

Perfil de conexão

Desça na página e em Filter, escolha all e configure o perfil para apontar para o SSID de Visitantes que estará configurado no Aruba. Em Sources, escolha a fonte registro-via-email que criamos anteriormente:

Filtrar pelo SSID

Clique na aba Captive Portal e coloque uma página que será aberta logo após o visitante conseguir se registrar. No exemplo, usaremos https://ospimenta.com em Redirection URL.

Aqui você também pode escolher um logotipo que vai aparecer na hora do registro do usuário. O caminho /common é equivalente a /usr/local/pf/html/common no servidor. Copie aqui a imagem que deseja apresentar.

Captive portal

Após salvar você verá a aba Files, onde são mostrados todos os arquivos do portal. Você pode querer personalizar alguns deles, como por exemplo o termo de uso em /usr/local/pf/html/captive-portal/templates/aup_text.html. Também é possível clicar em Preview para ver como ficará a tela de registro.

Arquivos do captive

Preview da tela de registro. O Zepelin é um cara bonitinho né? rsrs

Preview do captive

Voltando à aba do captive portal, você pode escolher ao final da página, a linguagem:

Linguagem do captive

Configuração dos APs Aruba em um grupo de switches no Packetfence

O packtefence precisa se comunicar com os switches para que possa haver a troca de acesso, roles, cancelamento de registro e outras autorizações. Dessa forma, cada switch gerenciável que fizer parte da rede controlada deve ser registrado.

No caso dos APs Aruba, cada AP é considerado como um switch. Então todos os APs que fizerem parte da rede sem fio devem ser cadastrados com seus IPs no Packetfence para que possam se comunicar. Como faremos as mesmas configurações para cada AP é mais prático criar um grupo de switches e inserir cada AP nesse grupo. Assim, se precisarmos alterar uma configuração no grupo de switches, essa configuração valerá para todos os APs registrados no grupo.

1-Clique em Configuration → Switch Groups → New Switch Group e defina o grupo (usar CoA e Radius. Mode Production):

Grupo de switches

2-Na aba roles faça o mapeamento da roles do packetfence para as roles do Aruba (desligue Role by VLAN ID e Role by Web-Auth URL, deixando ligado apenas Role by Switch Role). Observe que a única role que será mapeada para registrado é a role Visit-OSPimenta:

Mapeamento de roles

3-Na aba RADIUS, defina uma senha para comunicação entre todos os APs Aruba e o Radius do Packetfence:

Senha radius

Um vez criado o grupo de switches, vamos adicionar um AP nesse grupo, clicando em Configuration → Switches → New switch → to group Switches-Aruba:

Grupo de switches

Cadastre o endereço IP que você colocou no AP, no nosso caso, 192.168.0.200:

Ip do access point

Criação e configuração de interfaces adicionais e VLANs

Nosso servidor possui apenas uma única interface de rede. Precisamos fazer com que o servidor tenha mais duas interfaces, portanto, criaremos sub-interfaces.

Para criar as interfaces, clique em Configuration → Network Configuration → Interfaces. Clique em New VLAN:

Criando VLAN

A interface que estará na VLAN 200, de registro, foi configurada da seguinte forma (observe que ativamos o DHCP):

VLAN 200

A VLAN 300, de isolamento, foi configurada da seguinte forma (também com DHCP):

VLAN 300

A visão geral com as três interfaces do servidor ficou da seguinte forma:

NetworkManager ativo

Aqui finalizamos a parte de configuração básica do packetfence. Vamos reiniciar o servidor e conferir se tudo ficou ok.

No próximo artigo, vamos configurar o switch para criar as VLANs, configurar o AP Aruba e juntar as partes para que tudo funcione.