Projeto - Implementar o Cluster NxFilter
A ideia de se implementar o Cluster NxFilter é - principalmente - aumentar a disponibilidade e qualidade dos serviços DNS na rede interna/externa, afinal o NxFilter é na sua essência um servidor DNS.
Então vamos primeiro entender como funciona um servidor DNS e como ele poderia ser usado com HA e/ou Load Balance.
Servidor DNS
Segundo a RFC 1035 ao consultar um determinado domínio a um servidor DNS usa protocolo e porta UDP/53:
" Consultas enviadas usando UDP podem se perder,
por tanto uma estratégia de retransmissão é necessária.
...
A política ideal para retransmissão do pacote UDP irá variar de acordo
com a performance da Internet e necessidades do cliente,
então o seguinte deve ser implementado:
- O cliente deve tentar outros servidores DNS e endereços de servidor
antes de repetir a consulta ao mesmo servidor.
- O intervalo entre as retransmissões deve ser, se possível,
baseado em estatísticas.
...
Dependendo da conexão do cliente, o intervalo mínimo das
retransmissões é de 2 a 5 segundos."
Então a possibilidade de cadastrar servidores DNS primário e secundário na máquina cliente atende tal requisito. De certo modo já temos a nossa alta disponibilidade, já que se o primeiro servidor NxFilter não responder o cliente irá consultar o segundo servidor NxFilter registrado.
Motivos para se ter o Cluster
Como visto antes a implementação base de consultas DNS já atende nossa necessidade, porém não por completo. Não se pode simplesmente levantar dois servidores Nx e configurar como primário e secundário, é preciso fazer com que eles trabalhem de forma integrada.
Problemas que se teria para mais de um servidor NxFilter ativo sem o modo de cluster:
1. Se é utilizada a autenticação, como o servidor saberá que o usuário já está autenticado ?
2. Se é feita alguma configuração ( Whitelist, definição de AD, ou qualquer outra )
você teria de repetir o processo em cada um dos servidores NxFilter da sua empresa.
3. Atualização de lista de filtro teria de ser repetido em cada servidor.
4. Teria de se comprar pacotes de licenças Jahalist para cada um dos servidores.
5. As políticas de acesso e as rules também teriam de ser aplicadas a cada um dos servidores.
6. Ou seja, tudo e qualquer coisa pertinente teria de ser aplicado em cada um dos servidor DNS.
Os problemas causados e o trabalho para manter isso não compensariam o uso, o Cluster do NxFilter visa atender essas necessidades.
Existem dois modos de se implementar o Cluster NxFilter.
- Via GUI
- Via Console
Modo 1 - Criando o Cluster usando a GUI
É muito prático e simples definir um cluster NxFilter, é possível fazê-lo por linha de comando ou GUI.
Simularemos um ambiente onde o servidor Master terá o ip 192.168.10.50 e o Slave será 192.168.10.51.
Configurando o Master
Usando a GUI, entre em ‘‘Config > Cluster’’
O parâmetro ‘‘Mode’’, vem por padrão com o valor ‘‘None’’ marque a opção para ‘‘Master’’, isso irá fazer com o que o campo ‘‘Slave IP’’ fique habilitado.
Clique em Submit, e pare o servidor NxFilter.
Configurando o Slave
Acesse a mesma interface no servidor Slave
Mais uma vez o parâmetro ‘‘Mode’’ vem por padrão com o valor ‘‘None’’ marque a opção para ‘‘Slave’’, isso irá fazer com o que o campo ‘‘Master IP’’ fique habilitado. E dessa vez vamos preencher com o IP do Master - 192.168.10.50.
Clique em Submit, e pare o servidor NxFilter.
Modo 2 - Criando o Cluster via console
- Pare os servidores NxFilter.
- Entre na pasta /nxfilter/conf
- Edit o arquivo cfg.properties de cada um dos servidores conforme as instruções a seguir
Configurando o Master
No arquivo /nxfilter/conf/cfg.properties, deixe as propriedades conforme explicado:
cluster_mode = 1
master_ip =
slave_ip = 192.168.10.51
Configurando o Slave
No arquivo /nxfilter/conf/cfg.properties, deixe as propriedades conforme explicado:
cluster_mode = 2
master_ip = 192.168.10.50
slave_ip =
Ativando os serviços
Agora ative o servidor Master, no arquivo de log deverá ver algo como:
INFO [09-12 03:10:15] - Starting NxOEM v3.4.2
INFO [09-12 03:10:15] - It's running as a master node.
Após o inicio do Master, inicie o serviço NxFilter Slave. O Log deverá ter os seguintes registros:
INFO [09-12 03:13:39] - Starting NxOEM v3.4.2
INFO [09-12 03:13:39] - It's running as a slave node.
INFO [09-12 03:13:40] - MasterCheck started.
Verificando o Master
Ao levantar o serviço Master e Slave algumas coisas mudam no Slave, o ambiente GUI não abrirá mais a parte gráfica, apenas a informação onde indica o Master.
Não importará a opção selecionada, ele sempre abrirá a tela de configuração de Cluster.
Término do processo
Nesse ponto está preparado o cluster NxFilter, agora é configurar as estações cliente ( ou o servidor DHCP ) para apontar os servidores DNS primário (192.168.10.50) e secundário (192.168.10.51) do NxFilter.