BNG L2 para redes VLAN / Q-in-Q

September 24, 2020
BNG/BRAS
BNG L2 para redes VLAN / Q-in-Q
O desenvolvimento da função BNG começou com a 6ª versão do Stingray Service Gateway. Ela implementou a conectividade BNG L3 para processar tráfego IPoE e aplicar policiamento ao endereço IP recebido pelo assinante do Stingray SG. A versão 7.0 expandiu os recursos do BNG, que também funciona na camada de enlace L2 em redes VLAN e Q-in-Q.

Funções BRAS/BNG L2 para redes VLAN/Q-in-Q

A função BNG L2 do Stingray SG implementa:

  • AGENTE DE RELAY DHCP – monitoramento de solicitações DHCP de clientes, autorização imediata do cliente via protocolo Radius após uma resposta bem-sucedida do servidor DHCP.
  • PROXY ARP – monitoramento de solicitações ARP da rede local, bloqueio de solicitações ARP da WAN.
  • GUARDA DE ORIGEM IP (anti-spoofing) – verificação de que o pacote LAN pertence à mesma VLAN da qual o registro DHCP foi feito. Caso contrário, o pacote é descartado.
  • INTERCONEXÃO de tráfego local (troca de tráfego local entre assinantes).
  • TERMINAÇÃO DE TRÁFEGO LAN-WAN.

Como o BNG L2 opera na camada de enlace de dados, ele opera não apenas com os endereços IP dos usuários, mas também com seus endereços MAC e números de rede VLAN/Q-in-Q para identificar assinantes. Isso permite filtrar solicitações inapropriadas e aumentar a segurança da rede local. A identificação na rede Q-in-Q é preferível, pois permite identificar um usuário específico independentemente de seu hardware (como no caso de um endereço MAC) e não um grupo (como no caso de um cabeçalho VLAN).

BNG/BRAS L2 é usado apenas com o modo “em linha”. Se um pacote da rede local for descartado ou precisar ser transferido de volta para a rede, o conteúdo do pacote (carga útil) não será reconhecido e identificado.

BNG L2 L3 Scheme

Ativação BNG L2

Para habilitar a função BNG/BRAS, você precisa alterar o arquivo de configuração fastdpi.conf:

  • bras_enable=1 – habilita o BNG/BRAS.
  • bras_arp_ip – define um endereço IPv4 arbitrário para o BNG/BRAS. Ele não deve ser associado a interfaces ou a nenhum dos usuários.
  • bras_arp_mac – define o endereço MAC para o BNG/BRAS (XX:XX:XX:XX:XX:XX). Este endereço deve ser único. Pode ser falso, mas um MAC real de uma placa de DNA é recomendado.
  • udr=1 – ativa o UDR (Repositório de Dados do Usuário – banco de dados interno de propriedades dos usuários).

Exemplo de configuração:

udr=1
bras_enable=1
bras_arp_ip=192.168.1.255
bras_arp_mac=a0:00:b1:01:4e:cc

Sessão do Usuário

A sessão inicia após a solicitação do cliente (DHCPREQUEST/DHCPINFORM) receber uma resposta do servidor DHCP (DHCPACK). O módulo BNG do fastDPI recebe e registra no UDR as seguintes informações do usuário:

  • Endereço MAC
  • Endereço IP
  • Identificadores VLAN/Q-in-Q.

A autenticação de qualquer pacote do usuário e término/origem de tráfego é realizada utilizando esses dados.

A sessão do usuário possui 3 estados possíveis:

  • Ativo – uma resposta DHCPACK positiva foi recebida para uma solicitação de endereço IP DHCPREQUEST.
  • Encerrado – Solicitação DHCPRELEASE/DHCPDECLINE recebida de uma liberação de endereço IP.
  • Desconhecido – Falha na solicitação de concessão de endereço IP pelo fastDPI. As sessões estão neste estado quando o fastDPI é reiniciado.

O fim da sessão é considerado o recebimento de solicitações DHCPRELEASE ou DHCPDECLINE, após as quais todos os pacotes do usuário são descartados.

DHCP RELAY AGENT e DHCP RADIUS PROXY

Para monitorar o início/fim das sessões do usuário, o fastDPI BNG monitora as solicitações DHCP dos equipamentos do usuário. Há dois modos de monitoramento mutuamente exclusivos, definidos pelo parâmetro de configuração bras_dhcp_mode do arquivo fastdpi.conf:

  • bras_dhcp_mode=1 – neste modo, o fastDPI atua como Agente de Retransmissão DHCP
  • bras_dhcp_mode=2 – neste modo, o fastDPI atua como um servidor DHCP, que solicita endereços IP e outros parâmetros do servidor Radius via fastPCRF.

Ao trabalhar com um servidor DHCP localizado em um segmento de rede separado, o FastDPI BNG atua como um agente (AGENTE DE REtransmissão DHCP) para transferir solicitações DHCP do equipamento do usuário para servidores DHCP e respostas reversas dos servidores DHCP para o equipamento do usuário. Isso permite monitorar o início e o fim das sessões do usuário.

Os endereços dos servidores DHCP são especificados em fastdpi.conf pelo parâmetro bras_dhcp_server, e cada servidor DHCP (até 16) é descrito por um parâmetro separado:

bras_dhcp_server=host%dev:port{;name=val}*

aqui:

  • host – endereço IP do servidor DHCP;
  • dev – nome da interface de rede que está conectada ao servidor;
  • port – porta, 68 por padrão;
  • name=val – parâmetros adicionais:
    • reply_port – porta que recebe respostas do servidor DHCP (68 por padrão);
    • arp_proxy – sinalizador para responder a solicitações ARP do IP do servidor DHCP.

Exemplo de configuração para dois servidores DHCP:

bras_dhcp_server=192.168.1.1%eth0;arp_proxy=1
bras_dhcp_server=192.168.1.2%eth0;arp_proxy=1

Após o estabelecimento bem-sucedido da sessão, o assinante recebe um endereço IP e o fastDPI BNG envia imediatamente uma solicitação de autorização e o perfil do assinante, incluindo seu plano tarifário, serviços conectados e outras informações.

O modo DHCP RADIUS PROXY destina-se à construção de redes sem servidores DHCP dedicados. Em vez disso, utiliza-se o servidor Radius. O fastDPI, juntamente com o fastPCRF, atua como um servidor DHCP. A sequência de processamento das solicitações é a seguinte:

  • O FastDPI recebe a solicitação DHCP do equipamento do usuário e a redireciona para o fastPCRF.
  • O FastPCRF converte a solicitação DHCP em Solicitação de Acesso Radius e a redireciona para o servidor Radius.
  • O fastPCRF converte a resposta de Aceitação de Acesso/Rejeição de Acesso para o formato interno e a envia para o fastDPI.
  • O FastDPI gera uma resposta DHCP e a envia ao usuário. Ele também armazena o perfil do usuário e os serviços conectados.

Este modo de operação pode ser interessante para alguns provedores de Internet, pois não requer um servidor DHCP dedicado.

ARP PROXY

Para habilitar o processamento de solicitações ARP, você precisa alterar o arquivo de configuração fastdpi.conf:

bras_arp_proxy=1

Em seguida, o fastDPI BNG responde com seu endereço MAC às seguintes solicitações ARP, independentemente do endereço IP de origem:

  • solicitação de seu próprio endereço IP, caso o IP de destino seja igual ao endereço IP especificado no parâmetro bras_arp_ip.
  • solicitação de IP do servidor DHCP, se o sinalizador arp_proxy=1 estiver definido para o servidor DHCP. Nesse caso, o valor do parâmetro bras_arp_mac é retornado como endereço MAC.
  • solicitação do endereço IP local, se o status da sessão para esse endereço IP não for “Fechado” (não houve DHCPRELEASE/DHCPDECLINE).

IP SOURCE GUARD

O controle da correspondência entre os identificadores de VLAN e os endereços IP dos assinantes proporciona segurança adicional na rede. Após emitir um endereço IP via DHCP, o fastDPI BNG registra os identificadores de VLAN/Q-in-Q do assinante no UDR e, em seguida, utiliza esses dados para controlar a correspondência entre o endereço IP da origem do pacote e a tag da VLAN.

Para habilitar o modo de proteção de origem de IP, você precisa alterar o arquivo fastdpi.conf:

bras_ip_source_guard=
  • 0 – A proteção de origem IP está desabilitada – valor padrão.
  • 1 – A proteção de origem IP está habilitada e aplicada apenas às sessões ativas.
  • 2 – estrito: A proteção de origem IP está habilitada e aplicada às sessões nos estados Ativo e Desconhecido.

A proteção de origem IP é aplicada apenas ao tráfego de saída (LAN para WAN).

Interconexão de tráfego local

O FastDPI BNG pode interconectar tráfego local (intranet) entre usuários. A ativação deste recurso é controlada pelo arquivo de configuração fastdpi.conf:

bras_terminate_local=
  • 0 – interconexão desabilitada – valor padrão;
  • 1 – interconexão habilitada.

A interconexão só funciona se o ARP PROXY estiver habilitado para endereços locais.

O BNG compara o endereço MAC de destino do pacote com seu próprio endereço MAC especificado pelo parâmetro bras_arp_mac. Se esses endereços MAC corresponderem, o pacote será considerado local.

Término do tráfego de LAN para WAN

O FastDPI BNG é capaz de encerrar o tráfego de saída LAN -> WAN e originar o tráfego de entrada WAN -> LAN. A terminação é a remoção das tags VLAN de um pacote de saída, enquanto a originação é a adição de tags VLAN correspondentes ao endereço IP do destinatário.

A terminação do tráfego é habilitada no arquivo de configuração fastdpi.conf:

bras_vlan_terminate=
  • 0 – termination is disabled
  • 1 – VLAN-tags are removed from the packets
  • 2 – VLAN-tags replacement
  • 3 – VLAN-tags transformation.

No modo bras_vlan_terminate=1, o fastDPI BNG remove todas as tags de VLAN dos pacotes de saída (LAN -> WAN) e insere tags de VLAN nos pacotes de entrada (WAN -> LAN). Quando o tráfego é originado, as tags de VLAN são obtidas das propriedades do endereço IP do destinatário (do banco de dados UDR interno).

Este modo pode ser uma tarefa que consome muitos recursos para o fastDPI, pois este componente foi projetado para filtragem de pacotes, mas não para alterações. A cópia necessária do conteúdo do pacote, que ocorre ao remover/adicionar tags de VLAN, pode degradar significativamente o desempenho do fastDPI.

É por isso que o fastDPI BNG possui mais um modo de terminação de tráfego – substituição de tags de VLAN (bras_vlan_terminate=2). Neste modo, as tags de VLAN L2 permanecem no pacote e seu valor é substituído por uma constante definida pelo parâmetro de configuração bras_vlan_subst.

Entre em contato conosco para obter informações mais detalhadas sobre a configuração e operação do BNG L2 do Stingray Service Gateway. Nossos especialistas técnicos estão prontos para ajudar a entender esse problema, bem como para aconselhar sobre os recursos de outras plataformas.