Primariamente devemos optar pelo tipo de gateway que utilizaremos,
nossas opções são:
- Captive: este é o modo que utilizamos em nosso exemplo de provedor, é onde antes de utilizar os recursos da rede, o usuário deve se autenticar em uma página web com usuário e senha. Este modo tem como objetivo SEGURANÇA.
- Passive: método que deve ser utilizado quando o gateway está funcionando por trás de NAT. Este modo também tem como objetivo SEGURANÇA.
- Open: este é o método abordado neste artigo. Método este que nos permite capturar a página inicial de nossos usuários e nos fornece uma página em branco para personalizá-la como desejado, mantendo apenas um botão "Login" para que ao clicar o usuário tenha a liberdade necessária para utilizar os recursos da rede. Este método foi utilizado nos dois últimos exemplos (Hotel de luxo/ Empresa de telemarketing) de nossos três exemplos iniciais.
As configurações de nosso gateway devem ser feitas no arquivo
/usr/local/nocat/nocat.conf, vamos personalizá-lo para que atenda
nossas necessidades:
# cd /usr/local/nocat
# vi nocat.conf
Comentarei apenas as partes onde alterei algo no arquivo de configuração:
#####Gateway Aplication settings.
#
# GatewayName -- The name of this gateway, to be optionally displayed
# on the splash and status pages. Any short string of text will do.
#
GatewayName INFOTEC Consultoria & Planejamento
Aqui é onde você pode informar detalhes que serão utilizados na página
inicial que você disponibilizará para seus usuários. Detalhes como o
aparecimento de "Bem vindo a INFOTEC Consultoria & Planejamento",
clique em aceitar e você poderá utilizar nossa rede para acessar a Internet!
##
#
# GatewayMode -- Determines the mode of operation of the gateway. Possible
# values are:
#
# Captive - Allow authentication against an auth service. LEGACY.
# Passive - Like Captive, but YOU MUST USE THIS if your gateway
# is behind a NAT. Will work anyway if not. *RECOMMENDED*.
# Open - Simply require a user to view a splash page and accept
# a use agreement.
#
# If Captive or Passive Mode is set, you will need to have values set for
# AuthServiceAddr, AuthServiceURL, and LogoutURL. You will want to leave a
# short value for LoginTimeout (probably <600).
#
# If Open Mode is set, you will need to have values set for SplashForm,
# HomePage, and possibly DocumentRoot (or provide an absolute path for
# SplashForm). Also, you will want to set a large value for LoginTimeout
# (probably >3600).
#
GatewayMode Open
Nesta opção você vai escolher o modo em que deseja que o gateway funcione, como foi explicitado utilizaremos o modo Open.
# For Open Mode portals, you probably want to comment out
# the preceding and set LoginTimeout to
# something large (like 86400, for one notification
# per day).
#
LoginTimeout 86400
Agora devemos informar ao gateway depois de liberado, quanto tempo de acesso o usuário terá livre antes que o gateway capture sua página inicial novamente, por padrão esta diretiva vem setada para 86400 que é um dia contado em segundos (isso mesmo segundos!!!).
###### Open Portal settings.
#
##
# HomePage -- The authservice's notion of a default
# redirect.
#
HomePage http://www.linuxdicas.com.br/
Nesta opção temos uma ferramenta comercialmente muito útil, porque com esta diretiva informamos ao gateway para que página desejamos jogar o usuário após a sua liberação, julgo esta diretiva comercialmente incrível pois com uma grande quantidade de usuários e uma mente comercialmente maliciosa podemos gerar grande lucro, tudo isso apenas com esta linha HUAHUAHUAHUAHUA.
# DocumentRoot -- Where all of the application templates (including
# SplashPage) are hiding. Can be different from Apache's DocumentRoot.
#
DocumentRoot /usr/local/nocat/htdocs
Aqui informamos ao gateway onde estarão os templates (!?!).
# SplashForm -- Form displayed to users on capture.
#
SplashForm splash.html
A página (template) que será visualizada pelos usuários quando sua página inicial for capturada, fica localizada em /usr/local/nocat/htdocs, faça um backup do template e modifique a original para personalizar e mandar a mensagem que quiser para seus usuários, mensagens estas comerciais, pessoais, informativas, advertências etc.
### Network Topology
#
# ExternalDevice - Required if and only if NoCatAuth can't figure it out
# from looking at your routing tables and picking the interface
# that carries the default route. Must be set to the interface
# connected to the Internet. Usually 'eth0' or 'eth1'
# under
Linux, or maybe even 'ppp0' if you're running
# PPP or PPPoE.
#
# ExternalDevice eth0
##
# InternalDevice - Required if and only if you have ethernet devices
# on your gateway besides your wireless device and your 'Net connection.
# Must be set to the interface connected to your local network, normally
# your wireless card. In Linux, some wireless devices are named 'wvlan0'
# or 'wlan0' rather than 'ethX'.
#
# InternalDevice eth1
Especifique qual placa de rede está ligada diretamente a Internet em
ExternalDevice e em qual placa de rede está localizada a rede
interna InternalDevice. A princípio mantenha estas diretivas
comentadas e teste o software, caso não funcione com as diretivas
comentadas tente especificar qual placa está ligada externamente e qual
está ligada internamente.
OBS: no meu micro só funcionou ao contrário, tive de colocar a placa de
rede que estava ligada na Internet em InternalDevice e a rede
interna em ExternalDevice?????? Mistérios do software : )
##
# LocalNetwork - Required if and only if NoCatAuth can't figure out
# the network address of your local (probably wireless) network,
# given your InternalDevice(s). Must be set to the network
# address and net mask of your internal network. You
# can use the number of bits in the netmask (e.g. /16, /24, etc.)
# or the full x.x.x.x specification.
#
LocalNetwork 192.168.0.1/24
Em nossa última diretiva especifique a rede local, tente primeiro com esta diretiva comentada, talvez o software tenha conseguido detectar sozinho sua rede local (Comigo não funcionou da 1ª vez mas funcionou de 2ª), caso o software não detecte sua rede local será necessário especificar manualmente.
OBS: além destas configurações comente tudo que não pertencer ao nosso contexto.
Exemplo:
Estamos utilizando o gateway de autenticação no modo OPEN, com isso tudo que for relativo aos outros modos CAPTIVE e PASSIVE deve ser comentado (Veja como ficou meu arquivo de configuração nocat.conf no final deste artigo).