Documentação BQN
Fechar ícone

Introdução

A partir da versão R5.0, é possível associar vários servidores BQN num único cluster. O cluster abrange aspetos de gestão: configuração comum de regras, atualizações de software comuns e visibilidade comum a partir de qualquer um dos servidores que compõem o cluster.

Iniciar sessão em qualquer um dos servidores do cluster:

A página inicial mostra o volume de tráfego de cada servidor e, ao clicar numa caixa BQN, será redirecionado para a página inicial habitual do BQN desse servidor.

As páginas podem apresentar não só informações do servidor local, mas também de qualquer servidor do cluster. Por exemplo, em Status->Interfaces->Throughput, um seletor no canto superior direito permite visualizar a taxa de transferência de um BQN Id específico ou de todos os servidores do cluster (o ícone ao lado de BQN 0 indica que estamos conectados ao BQN 0):

Nesta versão, o cluster não inclui aspetos relacionados com a API (integração via REST, RADIUS ou sistemas de faturação), que cada servidor BQN executa de forma independente. Também não abrange a distribuição do tráfego no plano de dados: cada servidor BQN receberá o seu tráfego de acordo com uma distribuição de tráfego externa (por exemplo, com base na localização na rede do ISP onde cada servidor BQN está implementado).

Implementação em cluster

Segue-se um exemplo de uma implementação de um cluster de três servidores:

Cada servidor do cluster possui um identificador único; neste exemplo, os identificadores 0, 1 e 2. O servidor com o ID mais baixo (0, neste caso) é aquele que comunica com os outros servidores do cluster; é o que designamos por servidor primário. Os outros dois são servidores secundários. O cluster é resiliente: se o servidor primário ficar indisponível, o seguinte com o ID mais baixo (1, no nosso exemplo) assumirá a função de servidor primário.

As comunicações entre os servidores do cluster utilizam os endereços IP de gestão dos servidores. Existem dois tipos de comunicação:

  • Tráfego de controlo do cluster: TCP, com portas no intervalo 63501-63755. Um BQN com um Id superior a 0 ficará à escuta na porta 63500 + Id. Por exemplo, um BQN com Id 1 utilizará a porta 63501 e um BQN com Id 100 utilizará a porta 63600.
  • Transferências de dados: SSH/SCP na porta 22.

Todos os servidores do cluster devem estar conectados aos outros servidores através destas portas.

Para definir um cluster, precisamos da lista de IDs com o endereço IP e a porta SSH através dos quais podem ser contactados. Isto é simples se todos os endereços de gestão dos servidores estiverem na mesma sub-rede.

BQN
Id
Cluster
IP Address
SSH/SCP
Port
0 192.168.0.121 22
1 192.168.0.122 22
2 192.168.0.123 22

Se houver NAT ou redirecionamento de portas, isso deve ser tido em conta ao configurar o cluster. No exemplo seguinte, os BQN são acessíveis através de endereços IP públicos e a sua porta SSH está redirecionada.

BQN
Id
Cluster
IP Address
SSH/SCP
Port
0 216.58.205.46 2022
1 216.58.205.47 2022
2 216.58.205.48 2022

A secção seguinte descreve os detalhes para verificar a conectividade de rede e os passos de configuração necessários para criar um cluster.

Configuração do cluster

Segue-se um procedimento passo a passo para criar um cluster. Vamos utilizar um exemplo simples de cluster com um servidor primário com o ID BQN 0 e apenas um servidor secundário com o ID 1.

Instalação do software

Todos os servidores BQN que façam parte do cluster devem ter o software BQN instalado (R5.0 ou superior), seguindo os passos descritos em secção Instalação do Software .

Definição de identificadores BQN (ID BQN)

Cada servidor BQN terá um identificador único. O BQN com o ID mais baixo funcionará como servidor principal.

A nossa recomendação é começar pelo ID 0 e continuar com 1, 2, etc.

Por predefinição, um servidor BQN tem o ID 0, pelo que o servidor que será o principal não necessita de alteração do ID. Para os restantes servidores, siga este procedimento:

  • Vá a Administração->Cluster e clique em «Modificar ID do BQN».
  • Introduza o novo valor de ID do BQN, entre 0 e 255 (por exemplo, 1). A alteração provoca a reinicialização do software; por isso, se o BQN estiver a processar tráfego, isso causará uma interrupção do serviço. A interface gráfica irá encerrar a sua sessão. Inicie sessão novamente para continuar.

Conectividade de endereços IP OAM

Os endereços IP de gestão dos BQN devem estar acessíveis entre si. Assim, por exemplo, no caso de dois BQN com os endereços IP 192.168.56.111 e 192.168.56.112, acedemos a ambos os servidores para verificar a sua conectividade mútua:


ssh bqnadm@192.168.56.111
bqnadm@bqn0# net ping 192.168.56.112
PING 192.168.56.112 (192.168.56.112) 56(84) bytes of data.
64 bytes from 192.168.56.112: icmp_seq=1 ttl=64 time=0.202 ms
64 bytes from 192.168.56.112: icmp_seq=2 ttl=64 time=0.149 ms
64 bytes from 192.168.56.112: icmp_seq=3 ttl=64 time=0.193 ms
64 bytes from 192.168.56.112: icmp_seq=4 ttl=64 time=0.193 ms
^C
--- 192.168.0.122 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3050ms
rtt min/avg/max/mdev = 0.149/0.184/0.202/0.022 ms
bqnadm@bqn0# exit
ssh bqnadm@192.168.56.112
bqnadm@bqn1# net ping 192.168.56.111
PING 192.168.56.111 (192.168.56.111) 56(84) bytes of data.
64 bytes from 192.168.56.111: icmp_seq=1 ttl=64 time=0.200 ms
64 bytes from 192.168.56.111: icmp_seq=2 ttl=64 time=0.199 ms
64 bytes from 192.168.56.111: icmp_seq=3 ttl=64 time=0.202 ms
^C
--- 192.168.0.121 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2032ms
rtt min/avg/max/mdev = 0.199/0.200/0.202/0.011 ms
bqnadm@bqn1# exit

O cluster utiliza o intervalo de portas TCP entre 63501 e 63755.

Cada servidor, com exceção do BQN ID 0, fica à escuta numa porta cujo número depende do identificador BQN. Por exemplo, o BQN ID 1 ficará à escuta na porta 63501. A porta deve estar acessível a partir de servidores com um ID BQN inferior. Por exemplo, o ID BQN 0 deve aceder à porta 63501 no ID BQN 1. Se for adicionado ao cluster um novo servidor com o ID 2, tanto o ID BQN 0 como o ID BQN 1 terão de aceder à porta 63502 no ID BQN 2.

Para verificar se essas portas estão abertas, gere tráfego TCP para cada endereço e porta BQN através do telnet e verifique se este é recebido utilizando o tcpdump no destino. Por exemplo, para verificar se o bqn0 consegue enviar tráfego TCP para o bqn1, temos de verificar a porta 63501 (a porta em que um bqn com ID 1 está a escutar). Inicie o tcpdump no destino:


ssh root@bqn1
bqn1:~ # tcpdump -i enp0s3 'tcp and port 63501'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes

Gere tráfego para a porta utilizando o telnet (é de esperar que seja rejeitado, uma vez que não há porta a escutar quando o cluster ainda não está configurado):


ssh root@bqn0
bqn0:~ # telnet 192.168.56.112 63501
Trying 192.168.56.112...
telnet: connect to address 192.168.56.112: Connection refused
bqn0:~ #

enquanto, no destino, o tráfego é recebido:


bqn1:~ # tcpdump -i enp0s3 'tcp and port 63501'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes
19:55:01.510551 IP 192.168.56.111.51808 > 192.168.56.112.63501: Flags [S], seq 1158501329, win 29200, options [mss 1460,sackOK,TS val 277566580 ecr 0,nop,wscale 7], length 0
19:55:01.511800 IP 192.168.56.112.63501 > 192.168.56.111.51808: Flags [R.], seq 0, ack 1158501330, win 0, length 0
19:55:26.344664 IP 192.168.56.111.51812 > 192.168.56.112.63501: Flags [S], seq 3902161536, win 29200, options [mss 1460,sackOK,TS val 277591420 ecr 0,nop,wscale 7], length 0
19:55:26.344835 IP 192.168.56.112.63501 > 192.168.56.111.51812: Flags [R.], seq 0, ack 3902161537, win 0, length 0

No que diz respeito às outras portas, se houver, verifique se estas são acessíveis a partir de servidores com um ID BQN inferior, seguindo o procedimento anterior.

O SSH também é utilizado. Para verificar a ligação SSH do bqn0 ao bqn1.


bqn0:~ # ssh bqnadm@192.168.56.112
Password:
Last login: Thu Mar 26 19:28:22 2026 from 192.168.56.1
Have a lot of fun...
Copyright (c) 2009-2015 Bequant S.L.
bqnadm@bqn1# exit

E, da mesma forma, de bqn1 para bqn0:


bqn1:~ # ssh bqnadm@192.168.56.111
Password:
Last login: Thu Mar 26 19:35:17 2026 from 192.168.56.1
Have a lot of fun...
Copyright (c) 2009-2015 Bequant S.L.
bqnadm@bqn0# exit

Se for necessário adicionar um terceiro servidor ao cluster, a conectividade entre este servidor e os outros dois deve ser verificada conforme descrito anteriormente.

Por vezes, é possível aceder a um endereço IP OAM do BQN através de um endereço IP público que está mapeado para o endereço IP real do BQN. Nesse caso, é necessário adicionar as portas do cluster ao mapeamento (por exemplo, 63501-63502). Ao verificar a conectividade, utilize o endereço IP público para aceder a esse servidor BQN.

Unificar a configuração em todo o cluster

Se o cluster for criado com BQNs que já estavam a ser utilizados de forma independente, é necessário verificar as respetivas configurações para identificar diferenças e chegar a um consenso sobre uma configuração comum. Caso existam diferenças e não se proceda à unificação, a configuração do servidor principal será utilizada como configuração do cluster.

O exemplo seguinte ilustra um procedimento típico. Vamos adicionar dois servidores ao cluster. Vamos modificar a configuração do bqn0 para que sirva como uma versão unificada de ambos os servidores.

  1. No servidor principal, aceda a Administração->Cópia de segurança->Guardar configuração e guarde a configuração (por exemplo, bqn0-v1.conf).
  2. Faça o mesmo no servidor secundário, em Administração->Cópia de segurança->Guardar configuração, e guarde a configuração (por exemplo, bqn1-v1.conf).
  3. Compare os dois ficheiros. Por exemplo, utilizando a ferramenta kdiff3, encontramos as seguintes diferenças:
  • O servidor NTP 216.229.0.50 não consta na interface bqn0. Vamos adicioná-lo.
  • O bqn0 não tem a API REST ativada. Vamos ativá-la.
  • As diferenças na interface não representam problema, uma vez que são específicas de cada servidor; por isso, não tomamos qualquer medida. O encaminhamento também é específico de cada servidor (neste exemplo é o mesmo, mas se fosse diferente, não seriam unificados).
  • No perfil dos testes de velocidade, o bqn1 tem uma entrada adicional; adicionamo-la ao bqn0.
  • No ficheiro sw-updates, o bqn0 tem uma entrada a mais; adicione-a ao bqn1.
  • O bqn0 tem uma regra adicional para atualizações de software durante o horário de ponta; adicione-a ao bqn1.

Após os passos anteriores, devemos ter os ficheiros bqn0-v2.conf e bqn1-v2.conf com a configuração combinada.

Pode repetir o procedimento para outros servidores BQN que pretendam ser adicionados ao cluster.

Aceda ao servidor principal em Administração->Cópia de segurança->Carregar configuração e carregue o ficheiro bqn0-v2.conf.

Os servidores secundários irão receber automaticamente esta configuração unificada assim que o cluster estiver configurado.

Configurar o cluster

Vamos iniciar a criação do cluster configurando o servidor primário. Aceda à interface gráfica do servidor primário, selecione «Administração» → «Cluster» e clique em «Adicionar BQN a um cluster...»

Na caixa de diálogo, introduza o ID secundário do BQN (1) e o seu endereço IP de gestão do BQN. No campo «Endereço IP para este BQN no cluster», introduza o endereço primário.

Neste exemplo, utilizamos os endereços IP de gestão 192.168.56.111 e 192.168.56.112. Se os servidores forem acessíveis através de endereços IP públicos, utilize-os em vez desses.

Segue-se o mesmo procedimento no servidor BQN secundário: aceda à interface gráfica do servidor secundário, selecione «Administração» > «Cluster» e clique em «Adicionar BQN a um cluster...»

Na caixa de diálogo, introduza o ID do BQN principal (0) e o endereço IP do BQN principal. No campo «Endereço IP deste BQN no cluster» , introduza o endereço IP do servidor secundário.

Os IPs podem ser os endereços de gestão, como neste exemplo, mas se algum dos servidores for acessível através de um endereço IP público, utilize esse endereço em vez disso.

O cluster deve apresentar o estado «pronto » e o status «concluído»:

Pode repetir o processo para adicionar mais servidores ao cluster, acedendo à interface gráfica desse servidor e clicando em «Adicionar BQN a um cluster».

Assim que todos os servidores tiverem sido adicionados ao cluster e o estado do cluster estiver «concluído», aceda a todos os servidores do cluster e clique em «Sincronizar chaves SSH», para ativar a ligação direta entre eles.

Etiquetas de estilo dos documentos
[.p-highlight] Lorem ipsum... [.p-highlight]

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

[.p-highlight-blue] Lorem ipsum... [.p-highlight-blue]

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

[.p-highlight-red] Lorem ipsum... [.p-highlight-red]

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Pré-visualização do estilo de uma única palavra [.c-highlight]mono-espaçada[.c-highlight].
Pré-visualização do single word mono-spaced estilo.
anterior
NEXT