Configuração Captive Portal em servidor PfSense


     O Captive Portal é bastante útil para controlar o acesso à internet de uma rede, principalmente se for uma rede wireless. Se trata de um mecanismo de autenticação que gerencia o acesso à internet de modo que quando o usuário abre o navegador ele é redirecionado pra uma tela de autenticação antes que possa ter acesso livre à internet. Hotéis, shoppings, restaurantes com rede Wifi aberta, entre outros, são exemplos de locais onde o Captive Portal se motra útil. Pois, assim, o acesso fica restrito apenas a quem tem autorização.
      Esse tutorial é apenas de configuração de usuários e do próprio Captive Portal em um servidor PfSense. Se você não instalou e configurou o servidor previamente, garanta que isso seja feito antes de prosseguir. E, isso é importante. Garanta que o servidor DHCP e o DNS estejam configurados corretamente. Isso é extremamente necessáro para o funcionamento do Captive Portal. Para o tutorial estarei utilizando duas máquinas virtuais: uma representando o servidor e uma representando o cliente.
     O primeiro passo a ser feito é abrir a interface de configuração web do PfSense, pode-se acessar essa página digitando o endereço do gateway configurado no servidor. No meu caso: 192.168.0.254 
    Após realizar o login no servidor, você será redirecionado para a tela inicial da configuração web do pfsense. O que vamos fazer aqui é criar um usuário que irá se conectar à internet através do Captive Portal quando tudo estiver configurado.
 


    Passo 1. Clicar em "System" e depois em "User Manager";



    Passo 2. Clicar em "+Add", você será redirecionado para a tela de criação de usuários;



    Nessa tela há vários campos de informações a respeito do usuário. Por enquanto, só precisamos nos preocupar com o "username' que será o nome usado para o login na rede; o "password" que será a senha; e "full name" só para questão organizacional. Descendo um pouco nessa tela...



    No campo "Effective Privilleges" é onde será configurado o privilégio que é o que garantirá que o usuário possa se conectar através o Captive Portal. Então, clique em "+Add". 


     Nessa tela é só marcar "User-Services: Captive Portal login" e depois clicar em "Save" no fim da página. Você será redirecionado de volta a tela de configuração de usuários. Então, após tudo isso ser feito, basta clicar em "Save" no fim da página. Pronto, o usuário está criado. O "username" e o "password" configurados nesse procedimento serão utilizados para a realização do login.

     Agora, vamos à configuração do Captive Portal em si. Para isso será criado uma Zona de Captive Portal. Voltando à tela inicial do PfSense(veja imagem 1), clique em "Services" depois em "Captive Portal".

    
    Como pode ver, não há Zonas criadas, então, vamos criar uma clicando em "+Add".


    Aí serão colocadas as informações mais básicas da Zona: Nome e descrição. Existem algumas restrições para o nome da Zona como: Só pode conter letras, dígitos, underline e não pode ser iniciada por dígito. Após escolher um nome e uma descrição que lhe agrade clique em "Save & Continue".

   
    A primeira coisa a se fazer nessa tela é marcar a checkbox "Enable Captive Portal" para que as outras opções apareçam. Depois disso vem as partes que realmente importam para  a configuração do Captive Portal.
  •  Inferfaces é referente a qual inferface de rede você pretende que o Captive Portal atue. Como assim? É simples, se você quer que os usuários da LAN(Rede Interna) passem pelo Captive Portal, marque "LAN". Agora, se você quer que os usuários quem vem da WAN(usuários de fora) passem pelo Captive Portal, masque "WAN". Para agora, como nosso objetivo é usar o Captive Portal para usuários da LAN, vamos marcar a opção "LAN".
  • Maximum concurrent connections é número máximo de conexões simultâneas permitidas por IP.
    Continuando...


  • Idle timeout é o tempo em que o usuário pode permanecer ocioso, isto é, inativo na rede, antes que ele seja desconectado da rede. Ex. Se o Idle timeout for 10 minutos e uma pessoa passar 10 minutos inativa ela será desconectada automaticamente.
  • Hard timeout é o tempo máximo que um usuário pode permanecer conectado mesmo estando ativo. Ou seja, se o hard time out é 30 minutos, independente do usuário estar utilizando a rede ou não, ele será desconectado em 30 minutos.
  • Pass-through credits per MAC Address são créditos liberados por MAC. Duram o tempo estabelecido nos timeouts.


    As três primeiras opções não interferem muito na nossa configuração atual. Já a opção "After authentication redirection URL" é referente a página que o usuário será redirecioando após realizar o login no Captive Portal. No meu caso eu coloquei a página inicial do Instituto Federal de Alagoas, mas pode ser qualquer outro domínio válido que desejar. Continuando para uma parte essencial.



Na seção "Authentication" tem as opções que o Captive Portal deve levar em conta na hora de permitir ou não o login de um usuário. No nosso caso, ele deve permitir somente usuários cadastrados no servidor ou usuários que possuam um Voucher(falaremos disso daqui a pouco). As outras opções são irrelevantes para nossa finalidade aqui, portanto, basta seguir ao final da página e clicar em "Save". Pronto, uma parte já está configurada. Os usuários que forem cadastrados da maneira que ensinei mais em cima nesse tutorial podem logar no Captive Portal, porém, ainda falta configurar os vouchers. E sim, o que são vouchers? 

Os voucher são uma espécie de cupom, ou seja, um número que único que possui uma validade e pode ser utilizado dentro dessa validade. Nesse caso, voucher é um número gerado pelo servidor e entregue ao usuário. Este, pode utilizar esse voucher para fazer login no captive portal sem precisar ser um usuário cadastrado préviamente no servidor. Em que isso é útil? Um hotel, por exemplo. Vários clientes são hospedados em vários dias. Faria sentido se toda vez que um cliente novo aprecesse fosse cadastrado um novo usuário no servidor? Claro que não. É muito mais simples fazer uma tiragem de vouchers e distribuir aos clientes. Enfim, vamos à configuração.

Após salvar a Zona. você será redirecionado novamente a tela padrão do Captive Portal(Figura 6). Dessa vez, haverá uma  Zona criada(a zona que você acabou de criar). 


Vamos agora editar essa zona criada clicando no ícone do Lápis no canto direito da tela.


Para a criação dos vouchers marque a checkbox "Enable" e clique em "Save"  que vai estar no fim da página após carregar.



Após habilitar a criação dos voucher será possível clicar em "+Add" para a criação das tiragens de voucher. Clique lá. 



Essa é a tela de configuração dos vouchers. Os campos a serem preenchidos são referentes ao número da "Roll", os minutos de validade de um voucher, a quantidade de vouchers dessa "Roll" e um omentário sobre a "Roll". Esses campos podem ser preenchidos como na imagem, seguindo as instruções abaixo de cada campo. Após preencher os campos clique em "Save".  Pronto, os vouchers foram criados, agora é preciso visualizar esses vouchers. Afinal, você precisa entregá-los aos clientes. DEpois disso você será redirecioando para a tela de configurações dos vouchers.(figura abaixo)


Para visualizar os vouchers criados é só clicar no ícone da folha de papel com um X no meio que será realizado um download de um arquivo com os vouchers criados.



Pronto, todo o básico para o Captive Portal funcionar foi configurado. Agora, quando o cliente abrir o navegador ele será redirecionado para essa tela, onde o login pode ser feito tanto com o username e password configurados quanto pelos vouchers criados(lembrando que eles possuem um tempo de expiração, e quando acabado é preciso realizar uma nova tiragem): 






Pronto, por enquanto é só isso. Captive Portal configurado e funcionando. Espero que tenha ajudado, qualquer dúvida pode deixar um comentário aqui no post.

Comentários

  1. Já tentou autenticar no AD ou invés de usuário local? Facilitaria bastante.

    ResponderExcluir
  2. Você teria o tutorial de como instalar e configurar o servidor pfSense de forma a satisfazer os requisitos para utilizar o portal captive?

    ResponderExcluir
  3. Parabéns, Lucas! Belo tutorial de configuração. Vamos tentar implementar por aqui também. Muito obrigado.

    ResponderExcluir
  4. Snow Peak Titanium Flask - Titanium Rocks
    The mountain rock is home to a titanium welder host of titanium tube features and features for snow man titanium bracelet mountain rocks that bring titanium ring the snow mountain to titanium hair clipper life on the slopes.

    ResponderExcluir

Postar um comentário