Exemplo: Segmentação micro e macro usando política baseada em grupo em uma VXLAN
RESUMO VXLAN-GBP
Visão geral
Você pode alcançar a segmentação micro e macro, por exemplo, para proteger dados e ativos, em uma arquitetura VXLAN usando políticas baseadas em grupo (GBP). O GBP utiliza a tecnologia VXLAN subjacente para fornecer controle de acesso de endpoint agnóstico de localização. O GBP permite que você implemente políticas de segurança consistentes em todos os domínios de rede empresarial. Você pode simplificar a configuração de sua rede usando GBP, evitando a necessidade de configurar um grande número de filtros de firewall em todos os seus switches. O GBP bloqueia ameaças laterais, garantindo uma aplicação consistente de políticas de grupo de segurança em toda a rede, independentemente da localização de endpoints ou usuários. O VXLAN-GBP funciona aproveitando campos reservados no cabeçalho VXLAN para uso como tag de grupo escalável (SGT). Você pode usar os SGTs como condições de correspondência em regras de filtro de firewall. Usar um SGT é mais robusto do que usar endereços MAC ou portas para alcançar resultados semelhantes. Os SGTs podem ser atribuídos estaticamente (configurando o switch em uma por porta ou por base MAC), ou podem ser configurados no servidor RADIUS e empurrados para o switch através do 802.1X quando o usuário é autenticado.
A segmentação habilitada pelo VXLAN-GBP é especialmente útil em ambientes VXLAN de campus porque oferece a você uma maneira prática de criar políticas de acesso à rede que são independentes da topologia de rede subjacente. Ele simplifica as fases de projeto e implementação do desenvolvimento de políticas de segurança de aplicativos de rede e dispositivos de endpoint.
Você pode encontrar informações mais detalhadas sobre o padrão VXLAN-GBP no IEEE RFC, I-D.draft-smith-vxlan-group-policy. Para os propósitos deste exemplo, basta dizer que o VXLAN-GBP aproveita campos reservados no cabeçalho VXLAN como Tag de grupo escalável, como mostrado na ilustração.
A Tabela 1 mostra o suporte VXLAN-GBP para os diferentes switches e versões do Junos OS.
Switches | compatíveis com VXLAN-GBP com junos |
---|---|
Começando com o junos OS versão 21.1R1 |
EX4400-24P, EX4400-24T, EX4400-48F, EX4400-48P e EX4400-48T |
Começando com o junos OS versão 21.2R1 |
EX4400-24MP e EX4400-48MP |
Começando com o junos OS versão 21.4R1 |
|
Começando com o junos OS versão 22.4R1 |
|
Começando com o junos OS versão 23.2R1 |
|
A Tabela 2 até a Tabela 4 resume as diferenças de implementação do VXLAN-GBP entre as versões do Junos OS.
GBP no Junos OS Versão 21.1R1 e POSTERIOR | GBP no Junos OS Versão 22.4R1 e posterior |
---|---|
set firewall family ethernet-switching filter filter_name term term_name from match_conditions set firewall family ethernet-switching filter filter_name term term_name then gbp-src-tag/gbp-dst-tag tag |
set firewall family any filter filter_name micro-segmentation set firewall family any filter filter_name term term_name from match_conditions set firewall family any filter filter_name term term_name then gbp-tag tag
Nota:
|
GBP no Junos OS Versão 21.1R1 e POSTERIOR | GBP no Junos OS Versão 22.4R1 e posterior |
---|---|
|
|
GBP no Junos OS Versão 21.1R1 e POSTERIOR | GBP no Junos OS Versão 22.4R1 e posterior |
---|---|
set firewall family ethernet-switching filter filter_name term term_name from gbp-dst-tag gbp_tag set firewall family ethernet-switching filter filter_name term term_name from gbp-src-tag gbp_tag set firewall family ethernet-switching filter filter_name term term_name then discard
Nota:
A aplicação de políticas é apoiada apenas no endpoint de saída. Declaração de CLI para habilitar GBP: set chassis forwarding-options vxlan-gbp-profile |
set firewall family any filter filter_name term term_name from gbp-dst-tag gbp_tag set firewall family any filter filter_name term term_name from gbp-src-tag gbp_tag set firewall family any filter filter_name term term_name then discard
Nota:
O nome da família "qualquer" substituiu o nome da família "comutação de ethernet".
Nota:
A aplicação de políticas é sempre habilitada na saída se o GBP estiver habilitado, mas é opcional na entrada.
|
Versão do Junos OS 23.2R1 e posterior:
|
|
Versão do Junos OS 24.2R1 e posterior:
|
GBP no Junos OS Versão 22.4R1 e posterior
A Tabela 5 mostra as condições de correspondência gbP suportadas a partir do Junos OS Release 22.4R1:
Descrição das condições de correspondência | |
---|---|
|
Match IPv4/IPv6 endereços de origem ou destino/listas de prefixo. |
|
Endereço MAC de origem ou destino da correspondência. |
|
Nome da interface de correspondência.
Nota:
O Junos OS Release 23.4R1 e posteriormente oferece suporte a várias set firewall family any filter test term t1 from interface ge-0/0/0 set firewall family any filter test term t1 from interface ge-0/0/1 set firewall family any filter test term t1 from interface ge-0/0/2
Nota:
O Junos OS Release 23.4R1 e posteriores também permitem que você configure essa condição de correspondência ao lado da condição da set firewall family any filter test term t1 from interface ge-0/0/0 set firewall family any filter test term t1 from vlan-id 2000 |
|
IDs de VLAN compatíveis.
Nota:
Não é compatível com os switches EX4100
Nota:
O Junos OS Release 23.4R1 e posterior oferece suporte e <vlan_list> <vlan_range> opções. Por exemplo: set firewall family any filter test term t1 from vlan-id 2000-2100 set firewall family any filter test term t1 from vlan-id [3000 3010 3020]
Nota:
O Junos OS Release 23.4R1 e posterior também permite que você configure essa condição de correspondência ao lado da condição da |
O Junos OS Release 23.2R1 e posteriormente oferece suporte ao perfil vxlan-gbp-l2 e ao perfil vxlan-gbp-l3. Veja a tabela 6.
Perfis | com switches suportados |
---|---|
vxlan-gbp-profile |
|
vxlan-gbp-l2-profile e vxlan-gbp-l3-profile |
|
Os filtros de política gbP usam tags de destino de origem GBP e/ou GBP conforme correspondências para permitir ou descartar o tráfego. Começando pelo Junos OS Release 23.2R1, os switches EX4100, EX4400, EX4650, QFX5120-32C e QFX5120-48Y oferecem suporte a novos jogos L4 de filtro de política GBP (IPv4 e IPv6). Essas partidas ajudam a manter regras específicas que ajudam a bloquear apenas o tráfego de aplicativos, veja a Tabela 7.
Correspondências de aplicação de políticas para pacotes com tags MAC e IP GBP | |
---|---|
ip-version ipv4 destination-port dst_port |
Porta de destino Match TCP/UDP. |
ip-version ipv4 source-port src_port |
Porta de origem compatível com TCP/UDP. |
ip-version ipv4 ip-protocol ip-protocol |
Tipo de protocolo IP compatível. |
ip-version ipv4 is-fragment |
Combine se o pacote for um fragmento. |
ip-version ipv4 fragment-flags flags |
Combine com as bandeiras de fragmento (em formatos simbólicos ou hex). |
ip-version ipv4 ttl value |
Combine com o valor MPLS/IP TTL. |
ip-version ipv4 tcp-flags flags |
Combine com as bandeiras do TCP (em formatos simbólicos ou hex) - (apenas entrada). |
ip-version ipv4 tcp-initial |
Combine com o pacote inicial de uma conexão TCP ( apenas entrada). |
ip-version ipv4 tcp-established |
Combine com o pacote de uma conexão TCP estabelecida. |
ip-version ipv6 destination-port dst_port |
Combine com a porta de destino TCP/UDP. |
ip-version ipv6 source-port src_port |
Combine com a porta de origem TCP/UDP. |
ip-version ipv6 next-header protocol |
Combine com o próximo tipo de protocolo de cabeçalho. |
ip-version ipv6 tcp-flags flags |
Combine apenas com as bandeiras do TCP (em formatos simbólicos ou hex). |
ip-version ipv6 tcp-initial |
Combine com o pacote inicial de uma conexão TCP. |
ip-version ipv6 tcp-established |
Combine com o pacote de uma conexão TCP estabelecida. |
Essas partidas L4 não são suportadas nos switches EX9204, EX9208 e EX9214.
Quando não há condições combinadas, a ação padrão é aceitar o pacote. A partir do Junos OS Release 24.2R1, você pode especificar uma ação de descarte padrão explícita para pacotes que não correspondam a nenhuma condição. Veja a tabela 8.
Esse recurso é compatível com switches específicos da série EX4100, EX4400, EX4650 e QFX5120 mostrados na Tabela 1.
Descarte explícito de padrão |
Descrição |
---|---|
set firewall family any filter f1 term t1 from gbp-src-tag 100 set firewall family any filter f1 term t1 from gbp-dst-tag 200 set firewall family any filter f1 term t1 then accept set firewall family any filter f1 term t2 then discard |
Você pode criar um termo de filtro (por exemplo, t2) que contém uma ação de descarte, mas sem condições compatíveis. Isso é útil como um catch-all para pacotes que não correspondem a nenhuma das condições nos termos anteriores na sequência. Essa ação explícita de descarte padrão não se aplica a pacotes unicast transmitidos, multicast, originados por host ou desconhecidos. Esses tipos de tráfego são sempre aceitos. Se você não configurar a ação de descarte explícita, então a ação padrão é aceitar o pacote como é o caso em versões anteriores. |
- Atribuição de SGTs para atribuição de tags de 802,1X GBP
- Aplicação de políticas na entrada e propagação de tags
- Pacotes originados por host
- Inter-tags GBP MAC/IP
- Planejando suas atribuições sgt
- Topologia
Atribuição de SGTs para atribuição de tags de 802,1X GBP
Neste exemplo, configuramos SGTs em um servidor RADIUS e depois usamos o controle de acesso 802.1X nos switches de acesso habilitados para GBP para receber os SGTs quando um endpoint correspondente se conecta ao switch. Os servidores RADIUS são comumente usados em ambientes de campus para controle de acesso e, por exemplo, para governar a atribuição de VLANs.
-
Se você configurar a autenticação do 802.1X com modo único seguro ou múltiplo suplicante, a tagagem GBP será baseada em MAC. Se você configurar a autenticação 802.1X com modo suplicante único, a tagagem GBP será baseada em porta.
-
As correspondências de endereço IP, VLAN-ID e interface VLAN-ID+não contam com o 802.1X.
Para acomodar o uso de SGTs no servidor RADIUS, precisamos aproveitar atributos específicos (VSA) do fornecedor, conforme suportado pela estrutura de serviço AAA (esses VSA's são transportados como parte da mensagem de resposta de solicitação RADIUS padrão e fornecer uma extensão integrada para lidar com informações específicas da implementação, como nossos SGTs). A sintaxe exata no servidor RADIUS varia de acordo com se o esquema de autenticação é baseado em MAC ou EAP. Para clientes baseados em MAC, a configuração é assim:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100
Para clientes baseados em EAP, o SGT é empurrado do servidor RADIUS no momento da autenticação. A configuração é assim:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
Começando pelo Junos OS Release 23.4R1, além do existente Juniper-Switching-Filter
, um novo VSA chamado Juniper-Group-Based-Policy-Id
é suportado nos switches EX4400, EX4100, EX4650 e QFX5120.
Você não deve usar tanto o JUNiper-Group-Based-Policy-Id VSA quanto o Juniper-Switching-Filter VSA juntos para o mesmo cliente.
O cliente não será autenticado se ambos os VSAs existirem e conterem diferentes valores de tag GBP.
Você pode atribuir tags GBP dinamicamente do RADIUS em qualquer um desses VSA:
-
Juniper-Switching-Filter
transporta o filtro GBP e outras condições de correspondência e ação do filtro. -
Ele
Juniper-Group-Based-Policy-Id
carrega apenas a tag GBP.
O Juniper-Group-Based-Policy-Id
filtro de tags VSA para MAC e GBP baseado em porta é assim:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = “100”
Começando pelo Junos OS Release 23.4R1 e posterior, o suporte a recursos GBP também é adicionado às seguintes declarações de configuração sobre os switches EX4400, EX4100, EX4650 e QFX5120:
CLI |
Descrição |
---|---|
set protocols dot1x authenticator interface [interface-names] server-fail gbp-tag gbp-tag |
Especifique a tag GBP para aplicar na interface quando o servidor estiver inacessível. Se você configurar o Você só pode configurar essa opção quando a opção ou |
set protocols dot1x authenticator interface [interface-names] server-reject-vlan gbp-tag gbp-tag |
Especifique a tag GBP a ser aplicada quando o RADIUS rejeitar a autenticação do cliente. Se você configurar o Você só pode configurar quando |
|
Especifique a tag GBP para aplicar quando uma interface é movida para uma VLAN convidada. Se estiver Você só pode configurar quando Para obter mais informações sobre VLANs convidados, consulte a Autenticação 802.1X. |
Você pode usar o show dot1x interface detail
comando ou o show ethernet-switching table
comando para verificar qual tag GBP é recebida do RADIUS.
Aqui está a saída de exemplo do show ethernet-switching table
comando:
> show ethernet-switching table MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC, B - Blocked MAC) Ethernet switching table : 2 entries, 2 learned Routing instance : default-switch Vlan MAC MAC GBP Logical SVLBNH/ Active name address flags tag interface VENH Index source vlan200 00:10:94:00:00:05 D 100 xe-0/2/2.0 vlan200 00:10:94:00:00:06 DR 100 vtep.32769 21.2.0.1
Os filtros baseados em GBP são usados como classificadores para tags GBP. Esses filtros classificam fluxos de entrada e atribuem uma tag GBP.
Você pode ver como isso funciona nas seguintes amostras de código. As políticas de firewall GBP são emolduradas com base em tags GBP de origem e destino.
Uma tag de origem é o campo de 16 bits no cabeçalho VXLAN no pacote de entrada e é derivado do endereço de origem (IP/MAC/porta e assim por diante), enquanto a tag de destino é derivada no túnel de saída ou endpoint de entrada do destino (IP/MAC/porta e assim por diante), de acordo com a atribuição de tag configurada.
A tag GBP configurada é um valor não zero positivo na faixa (1-65535) para tags GBT especificadas em UM VSA (atributo específico do fornecedor) de um servidor RADIUS.
Digamos que temos essa configuração (mostrada abaixo) nos endpoints de entrada e saída. Recomendamos que você tenha a mesma configuração de atribuição de tags GBP em todo o sistema. Os pacotes do endereço 00:01:02:03:04:10:10
MAC de origem são atribuídos à tag 100, e os pacotes do endereço 00:01:02:03:04:20:20
MAC de origem são atribuídos 200.
set firewall family any filter assign_tag micro-segmentation set firewall family any filter assign_tag term tag100 from mac-address 00:01:02:03:04:10:10 set firewall family any filter assign_tag term tag100 then gbp-tag 100 set firewall family any filter assign_tag term tag200 from mac-address 00:01:02:03:04:20:20 set firewall family any filter assign_tag term tag200 then gbp-tag 200
Para pacotes com a tag GBP 100 e um endereço MAC de destino, a tag (gbp-dst-tag) do grupo de 00:01:02:03:04:10:10
destino será de 100 e será compatível a termot10-100. Da mesma forma, para pacotes com a tag GBP 100 e um endereço MAC de destino, a tag do grupo de 00:01:02:03:04:20:20
destino será de 200 e será compatível com o termo t10-200.
set firewall family any filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family any filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family any filter gbp-policy term t10-100 then accept set firewall family any filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family any filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family any filter gbp-policy term t10-200 then discard
A mesma atribuição de tag usada para mapear o endereço MAC de origem para a tag de origem também é usada para mapear o endereço MAC de destino para a tag de destino. Isso também vale para atribuições baseadas em portas.
No Junos OS Release 23.2R1 e posterior, os switches EX4100, EX4400, EX4650, QFX5120-32C e QFX5120-48Y oferecem suporte a partidas L4 adicionais para filtros de política GBP para filtros GBP baseados em MAC e IP. Veja a tabela 7. A configuração dos filtros L4 pode reduzir a escala GBP suportada. Essas correspondências são suportadas por padrão, no entanto, na série EX4650, QFX5120-32C e switches QFX5120-48Y, você pode usar para set forwarding-options evpn-vxlan gbp tag-only-policy
permitir apenas tags de origem e destino gbp como correspondência na política gbP.
Vamos analisar outro exemplo, desta vez usando uma tag de origem GBP de 300, e com pacotes do endereço 172.16.1.0/24
IPv4:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term tag300 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f1 term tag300 then gbp-tag 300
A partir do Junos OS Release 23.4R1, os switches EX4400, EX4650 e QFX5120 oferecem suporte a várias entradas em filtros GBP do tipo VLAN, porta e porta+VLAN do mesmo tipo em um termo usando a lista e opções de intervalo, enquanto os switches EX4100 oferecem suporte a várias entradas apenas em filtros GBP do tipo de porta.
Veja exemplos abaixo:
Neste exemplo, para pacotes com GBP tag 300, ele corresponde ao termo t1 em endereços VLAN ID que variam de 10 a 30.
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from vlan-id [10-30] set firewall family any filter f1 term t1 then gbp-tag 300
Neste exemplo, para pacotes com GBP tag 300, ele corresponde ao termo t1 para uma lista de interfaces de 101 a 104, onde 101 a 104 são o índice de interface interna contíguo alocado para respectivas interfaces.
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term t1 from interface xe-0/0/1 set firewall family any filter f1 term t1 from interface xe-0/0/2 set firewall family any filter f1 term t1 from interface xe-0/0/3 set firewall family any filter f1 term t1 from interface xe-0/0/4 set firewall family any filter f1 term t1 then gbp-tag 300
A prioridade da tagagem GBP é a seguinte, sendo a versão ip a maior prioridade:
-
ip-version ipv4
<ip address> | <prefix-list> -
ip-version ipv6
<ip address> | <prefix-list> -
mac-address
<mac address> -
interface
<interface_name> vlan-id <vlan id> -
vlan-id
<vlan id> -
interface
<interface_name>
Observe que, por padrão, a aplicação de políticas é feita no endpoint de saída. Se você quiser fazer aplicação de políticas na folha de entrada, veja a seção abaixo.
Você pode habilitar o VXLAN-GBP selecionando um dos três perfis que melhor atendem às suas necessidades de rede. Cada perfil UFT é configurado com valores máximos diferentes para cada tipo de endereço. Veja a compreensão dos perfis GBP para obter mais informações sobre quando usar esses perfis. Veja o perfil vxlan-gbp, o perfil vxlan-gbp-l2 e o perfil vxlan-gbp-l3 para ver as escalas suportadas por esses perfis.
set chassis forwarding-options vxlan-gbp-profile
set chassis forwarding-options vxlan-gbp-l2-profile
set chassis forwarding-options vxlan-gbp-l3-profile
Aplicação de políticas na entrada e propagação de tags
A partir do Junos Release 22.4R1, você pode executar a aplicação de políticas mais perto da entrada. A aplicação da entrada economiza a largura de banda da rede descartando pacotes marcados na entrada que de outra forma seriam descartados na saída. Para oferecer suporte à aplicação de políticas em ou mais perto da entrada, propagamos as tags baseadas em MAC e IP-MAC em toda a rede usando comunidades BGP estendidas dentro das rotas EVPN Tipo 2 e Tipo 5. Consulte as rotas EVPN Tipo 2 e Type 5 para obter informações sobre esses tipos de rotas.
O anúncio de rota EVPN é desencadeado pela instalação (ou uma mudança) de uma rota EVPN, como o aprendizado MAC-IP ao receber um pacote de um novo host. Neste caso, a rota IP de origem é instalada no banco de dados evpn.0 e um anúncio EVPN Tipo 2 (que inclui a tag GBP, se atribuído) é enviado a todos os pares eBGP.
Depois que esses anúncios se propagam pela rede para os endpoints remotos, os endpoints remotos têm informações suficientes para tomar decisões de filtro de firewall GBP em pacotes recebidos na entrada remota. Quando os pacotes são recebidos na entrada, os endpoints remotos podem procurar a rota de destino e obter a tag GBP de destino recebida anteriormente por meio do anúncio EVPN Type 2. Armados com a tag GBP de destino, os endpoints remotos podem, posteriormente, tomar decisões de aplicação de políticas GBP em seus pacotes de entrada.
Como as tags GBP são propagadas usando anúncios de rota EVPN Tipo 2, a propagação de tags é necessariamente realizada por endereço MAC ou IP. No entanto, isso não tem relação com a atribuição de tags, que pode continuar a ser qualquer um dos métodos suportados, como VLAN ou Port, entre outros.
Por exemplo, se você configurar a atribuição de tags com base na porta, e um pacote de um novo host for recebido nessa porta, então a tag atribuída para essa porta é propagada em um anúncio de rota Tipo 2, juntamente com o MAC de origem e o endereço IP do pacote de entrada. Se um pacote de um host diferente for posteriormente recebido nessa mesma porta, então a mesma tag é propagada em outro anúncio de rota tipo 2, juntamente com o MAC de origem e endereço IP deste host diferente.
Se um switch leaf de borda receber um anúncio EVPN Tipo 2 com uma tag GBP, o switch instala a rota Tipo 2 e gera um anúncio EVPN Tipo 5 com essa tag GBP para seus pares eBGP, como os switches leaf de borda em outros data centers (para tráfego inter-DC). Esta rota tipo 5 contém um endereço IP de /32 e uma tag GBP.
Essa propagação de tag tipo 2 a Tipo 5 GBP é suportada, mas a propagação da tag Tipo 5 para Tipo 2 GBP não é suportada.
Para topologias multihoming, mantenha a configuração idêntica entre membros multihoming.
Você deve habilitar a declaração a seguir para realizar a aplicação da política no nó de entrada. Quando a aplicação de entrada é habilitada ou desativada, o Mecanismo de encaminhamento de pacotes (PFE) é reiniciado.
set forwarding-options evpn-vxlan gbp ingress-enforcement
Propagação de tags para rotas de prefixo IP usando anúncios EVPN Tipo 5
A partir do Junos OS Release 24.2R1, oferecemos suporte à propagação de tags GBP para rotas de prefixo IP usando anúncios EVPN Tipo 5. Antes desta versão, a propagação da tag GBP só foi desencadeada pelo aprendizado MAC-IP no dataplane, o que significava que a propagação de tags só ocorreu para rotas IP de /32.
Com suporte para rotas de prefixo IP, a propagação de tags agora pode ocorrer, por exemplo, quando você cria uma interface e permite o anúncio de rotas EVPN diretas (set routing-instances <instance> protocols evpn ip-prefix-routes advertise direct-nexthop
). Se você também atribuir uma tag GBP a esse prefixo IP, então o anúncio EVPN Type 5 subsequente inclui a tag GBP, propagando a tag mesmo antes do aprendizado MAC-IP ocorrer.
Em geral, a propagação de tags GBP dentro de anúncios EVPN Tipo 5 ocorre sempre que você cria um filtro GBP que atribui uma tag a um prefixo IP e essa rota de prefixo IP é instalada no banco de dados de roteamento evpn.0. (Você pode criar o filtro GBP antes ou depois da instalação da rota.)
Embora o switch gere um anúncio tipo 5, se o switch souber de um novo host (por exemplo, através do aprendizado MAC-IP no dataplane), o switch também gerará um anúncio tipo 2. Pode ser desejável, em muitos casos, suprimir esses anúncios redundantes /32 para reduzir o tráfego EVPN. Para isso, crie uma política BGP para rejeitar rotas de /32.
Por exemplo, o seguinte cria uma política chamada T5_EXPORT com o termo chamado fm_v4_host que rejeita /32 rotas de hosts IPv4:
set policy-options policy-statement T5_EXPORT term fm_v4_host from route-filter 0.0.0.0/0 prefix-length-range /32-/32 set policy-options policy-statement T5_EXPORT term fm_v4_host then reject
Se um switch receber um anúncio EVPN para uma rota de prefixo IP e tag GBP associada, e se você tiver configurado um filtro GBP que atribua uma tag diferente à mesma rota de prefixo IP, prevalecerá a tag GBP no filtro GBP configurado localmente. O switch substitui a tag GBP no anúncio EVPN recebido pela tag GBP atribuída localmente antes de anunciar novamente a rota EVPN.
A propagação da tag de prefixo IP é habilitada automaticamente quando você cria um filtro GBP para um prefixo IP e associa o filtro GBP a uma instância de roteamento. Por exemplo:
set firewall family any filter f1 micro-segmentation set firewall family any filter f1 term tag300 from ip-version ipv4 172.16.1.0/24 set firewall family any filter f1 term tag300 then gbp-tag 300 set routing-instances <routing-instance> forwarding-options evpn-vxlan gbp ingress-src-tag filter f1
onde <routing-instance> está o nome da instância de roteamento a que você deseja que o filtro se aplique.
Uma vez que uma rota de prefixo IP é associada a uma tag GBP, a tag GBP é exibida na saída dos show route
comandos para essa rota de prefixo IP. Por exemplo:
show route match-prefix 5:* extensive bgp.evpn.0: 6 destinations, 6 routes (6 active, 0 holddown, 0 hidden) Restart Complete 5:10.255.1.1 (1 entry, 1 announced) <trimmed> gbp-tag:0L:53 router-mac:52:54:00:00:92:f0 Import Accepted Route Label: 9100 Overlay gateway address: 0.0.0.0 ESI 00:00:00:00:00:00:00:00:00:00 Localpref: 100 Router ID: 10.255.1.1 Secondary Tables: VRF-100.evpn.0 Thread: junos-main Indirect next hops: 1 <trimmed>
show route table VRF-100.inet.0 match-prefix 10.1.1* extensive VRF-100.inet.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden) Restart Complete 10.1.1.3/32 (1 entry, 1 announced) TSI: KRT in-kernel 10.1.1.3/32 -> {indirect(1048574)} Opaque data client: EVPN-Type5 Opaque data: tlv_type :32820 Type5 gbp_tag 53. Address: 0xa15f928 Opaque-data reference count: 2 Page 0 idx 0, (group DC2_TORS type External) Type 1 val 0xa32fd40 (adv_entry) Advertised metrics: Nexthop: Self AS path: [65201] 65200 I Communities: gbp-tag:0L:53 Advertise: 00000001 Path 10.1.1.3 <trimmed>
Para ver a ligação entre uma instância de roteamento e um filtro GBP, use o show evpn gbp-src-tag filter-bind routing-instance
comando.
Para ver a rota de prefixo IP para mapeamento de tags GBP, use o show evpn gbp-src-tag ip-prefix inet
comando.
As limitações deste recurso incluem:
-
Você só pode associar um filtro GBP a uma instância de roteamento. Você não pode associar o mesmo filtro GBP a várias instâncias de roteamento.
-
Você não pode associar dois filtros GBP diferentes com a mesma condição de correspondência de prefixo IP à mesma instância de roteamento.
-
Você só pode associar um filtro GBP baseado em IP a uma instância de roteamento. Associar outros tipos de filtros GBP não tem efeito.
-
Esse recurso só é compatível com os switches da Série EX4400, EX4650 e QFX-5120 listados na Tabela 1.
Pacotes originados por host
Quando os pacotes são retirados de uma interface integrada de roteamento e ponte (IRB) em um endpoint de túnel virtual (VTEP), o kernel insere uma tag GBP de origem no cabeçalho VXLAN e envia o pacote. O valor da tag GBP de origem está configurado usando a seguinte declaração:
set forwarding-options evpn-vxlan host-originated-packets gbp-src-tag gbp-src-tag
Inter-tags GBP MAC/IP
Por padrão, um filtro GBP baseado em MAC só se aplica ao tráfego comutada, e um filtro GBP baseado em IP só se aplica ao tráfego roteado.
A partir do Junos OS Release 24.2R1, os filtros GBP baseados em MAC também podem ser aplicados ao tráfego roteado, e os filtros GBP baseados em IP também podem ser aplicados ao tráfego comutada.
Isso é chamado de inter-taging MAC/IP e é suportado nos switches específicos da série EX4100, EX4400, EX4650 e QFX5120 mostrados na Tabela 1.
Para habilitar a inter-tags MAC/IP:
set forwarding-options evpn-vxlan gbp mac-ip-inter-tagging
Abaixo, você pode ver a mesma tag GBP 100 aparecer nas tabelas MAC e IP quando você habilita a inter tags MAC/IP.
show ethernet-switching table MAC flags (S - static MAC, D - dynamic MAC, L - locally learned, P - Persistent static, C - Control MAC SE - statistics enabled, NM - non configured MAC, R - remote PE MAC, O - ovsdb MAC, B - Blocked MAC) Ethernet switching table : 2 entries, 2 learned Routing instance : default-switch Vlan MAC MAC GBP Logical SVLBNH/ Active name address flags tag interface VENH Index source vlan100 52:54:00:22:22:22 D 100 xe-0/0/8.0 vlan200 52:54:00:44:44:44 D xe-0/0/9.0
show ethernet-switching mac-ip-table MAC IP flags (S - Static, D - Dynamic, L - Local , R - Remote, Lp - Local Proxy, Rp - Remote Proxy, K - Kernel, RT - Dest Route, (N)AD - (Not) Advt to remote, RE - Re-ARP/ND, RO - Router, OV - Override, Ur - Unresolved, B - Blocked, RTS - Dest Route Skipped, RGw - Remote Gateway, GBP - Group Based Policy, RTF - Dest Route Forced, SC - Static Config, P - Probe, NLC - No Local Config, LD - Local Down) Routing instance : default-switch Bridging domain : vlan100 IP MAC Flags GBP Logical Active address address Tag Interface source 10.100.100.100 52:54:00:22:22:22 DL,K,RT,AD 100 xe-0/0/8.0 10.100.100.101 52:54:00:63:0e:40 S,K irb.100 2001:db8::9300:6463:e40 52:54:00:63:0e:40 S,K irb.100
Planejando suas atribuições sgt
Antes de criar qualquer regra, pode ser útil organizar o seu esquema criando uma tabela para todos os seus endpoints (usuários e dispositivos) e o valor SGT atribuído. A tabela abaixo pode ser usada para simplificar ainda mais a lógica e esclarecer suas regras.
Extremidade |
Valor de SGT atribuído |
---|---|
Funcionário permanente (PE) |
100 |
Contratante (CON) |
200 |
Equipe de segurança (SS) |
300 |
Câmera de segurança (CAM) |
400 |
Servidor de engenharia (ES) |
500 |
A relação entre o servidor RADIUS e os SGTs, os cabeçalhos de pacotes EX4400 e VXLAN e um filtro de firewall central para gerenciar a política de acesso é tal que uma matriz se torne uma maneira útil de organizar os valores. Na tabela a seguir, listamos as funções de usuário na primeira coluna e tipos de dispositivos em toda a primeira linha para criar uma matriz de acesso. Cada função de usuário e tipo de dispositivo é atribuído a um SGT e a configuração RADIUS foi atualizada com as informações.
Este exemplo usa três tipos de funcionários, Funcionários Permanentes (PE), Contratados (CON) e Equipe de Segurança (SS). Ele também usa dois tipos de recursos, o Eng Server (ES) e a câmera de segurança (CAM). Usamos Y para indicar que o acesso é permitido, e N para mostrar quando o acesso é bloqueado. A tabela serve como um recurso útil ao criar as várias regras de firewall na política e torna o mapeamento de acesso simples e claro.
ES (SGT 500) | CAM (SGT 400) | PE (SGT 100) | CON (SGT 200) | SS (SGT 300) | |
---|---|---|---|---|---|
PE (SGT 100) | Y | N | Y | Y | N |
CON (SGT 200) | N | N | Y | N | N |
SS (SGT 300) | N | Y | N | N | Y |
Topologia
Para uma questão de simplicidade, toda a configuração neste exemplo é feita em um único switch da série EX4400 da Juniper que executa o Junos OS Release 22.4.1R1. O switch está conectado a um servidor RADIUS para AAA. Este switch funciona como saída neste exemplo. Lembre-se que para SGTs você deve definir o firewall no switch de saída, enquanto você normalmente faria isso no gateway VXLAN de entrada para a camada de acesso.
- Requisitos
- Configuração
- Configurando um switch Juniper EX4400 autônomo para VXLAN-GBP
- Limitações para switches EX e switches QFX:
Requisitos
O GBP aprimorado é suportado no Junos OS 22.4R1 nos seguintes switches: EX4100, EX4400, EX4650, QFX5120-32C e QFX5120-48Y.
Configuração
Segmentação baseada em VXLAN-GBP:
- Os usuários fazem login na rede e são autenticados pelo servidor RADIUS (no qual os SGTs estão configurados para todos os endpoints).
- Usando filtros de firewall, o EX4400 seleciona o tráfego com base na autenticação 802.1X ou endereço MAC e, em seguida, atribui uma tag de grupo a quadros correspondentes. (Para clientes autenticados dot1x, a configuração de firewall estática não é necessária). A mecânica disso é realizada usando firewall conforme mostrado aqui:
set firewall family any filter name micro-segmentation set firewall family any filter name term name from source-mac-address MAC-Addr
set firewall family any filter name term name then gbp-tag PE-GRP
- O tráfego com tags que passam pelo EX4400 é avaliado com base nos valores sgt, novamente, usando a mecânica do filtro de firewall.
-
Habilite
chassis forwarding-options vxlan-gbp-profile
primeiro o dispositivo. - Use as
gbp-dst-tag
condições e/ougbp-src-tag
correspondência para escrever suas regras de firewall e incluí-las na política de roteamento no switch de saída que você usa para microssegmento gbP. A partir do Junos OS Release 23.2R1, além das tags de origem e destino, o novo filtro de política GBP IPv4 e IPv6 L4 é compatível com protocolo, portas de origem, portas de destino, bandeiras tcp e outras partidas. Veja a tabela 7. -
Se você deseja que a aplicação de políticas ocorra no endpoint de entrada, você precisa habilitar a opção
set fowarding-options evpn gbp ingress-enforcement
.
-
Configurando um switch Juniper EX4400 autônomo para VXLAN-GBP
Use os seguintes comandos para configurar a segmentação VXLAN-GBP em um ambiente de sandbox. Normalmente, você criaria as regras do filtro de firewall no switch que serve como gateway VXLAN (saída) para a camada de acesso, mas, por uma questão de simplicidade, estamos usando o mesmo EX4400 autônomo tanto para as regras do filtro de firewall quanto para o servidor RADIUS (EAP, aqui). Os valores que usamos neste exemplo são retirados das tabelas anteriores.
Os comandos abaixo incluem variáveis como nomes de perfil e endereços IP, que devem ser adaptados para fazer sentido para o seu ambiente de teste.
- Configure o servidor de raio:
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- Configure as portas físicas para oferecer suporte à autenticação RADIUS:
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- Configure as tags SGT no servidor RADIUS usando o filtro de comutação da Juniper ou a Id de política baseada em grupo da Juniper:
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Group-Based-Policy-Id = "500"
- Habilite o VXLAN-GBP no switch:
set chassis forwarding-options vxlan-gbp-profile
- Crie regras de filtro de firewall que aproveitam os SGTs (usando valores organizados na matriz):
set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family any filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family any filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family any filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family any filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Execute uma verificação de confirmação no Junos para verificar se os comandos e as variáveis que você usou são válidos. Quando satisfeito com sua configuração, comprometa a configuração do candidato para torná-la ativa no dispositivo. Esses comandos são mostrados abaixo. Você também pode revisar sua configuração digitando
run show configuration
.commit check configuration check succeeds commit commit complete
Limitações para switches EX e switches QFX:
-
Switches EX9204, EX9208 e EX9214:
-
Para tráfego de trânsito que passa pelo túnel Tipo 2 EVPN-VXLAN, a aplicação de políticas baseadas em tags GBP na saída PE funciona corretamente apenas se a etiqueta GBP de origem carimbada na entrada PE no cabeçalho VxLAN for levada na rede underlay sem qualquer comprometimento.
-
Os SGTs configurados por RADIUS/802.1X não são suportados.
-
O suporte para a propagação de tags de /32 rotas e aplicação de políticas no endpoint de entrada começa no junos OS versão 24.2R1.
-
A propagação de tags de rotas de prefixo IP usando anúncios EVPN Tipo 5 não é suportada.
-
Os perfis de UFT gbp não são suportados.
-
-
O número de tags exclusivas para as plataformas EX4400 e QFX5120 é restrito a 1K.
-
As
interface
correspondências eVLAN
GBP não são suportadas nos switches EX4100. -
A tag de GBP baseada em IP multicast não é suportada.
-
O GBP baseado em IP não é aplicado para fluxos de comutação de Camada 2 e o GBP baseado em MAC não é aplicado a fluxos de roteamento de Camada 3 de acesso ao acesso.
-
O IPACL não é suportado quando o GBP baseado em porta (
interface
) está configurado. -
A ação de policiamento e contagem é suportada apenas para entradas de políticas GBP baseadas em MAC e IP.
-
O GBP baseado em VLAN não é compatível com interfaces lógicas de estilo de provedor de serviços.
-
Os filtros de atribuição de tags GBP não oferecem suporte à opção de balcão.
-
Diferentes critérios de correspondência de filtros GBP (MAC, PORT & PORT+VLAN) não fazem parte do mesmo filtro.
GbP Junos OS Versão 21.1R1 e posterior
Atribuição de SGTs com um servidor RADIUS
Neste exemplo, configuramos SGTs em um servidor RADIUS e depois usamos o controle de acesso 802.1X no EX4400 para recebê-los. Os servidores RADIUS são comumente usados em ambientes de campus para controle de acesso e, por exemplo, para governar a atribuição de VLANs.
Para acomodar o uso de SGTs no servidor RADIUS, precisamos aproveitar atributos específicos (VSA) do fornecedor, conforme suportado pela estrutura de serviço AAA (esses VSA são transportados como parte da mensagem de resposta de solicitação RADIUS padrão e fornecem uma extensão integrada para lidar com informações específicas da implementação, como nossos SGTs). A sintaxe exata no servidor RADIUS varia de acordo com se o esquema de autenticação é baseado em MAC ou EAP. Para clientes baseados em MAC, a configuração é assim:
001094001199 Cleartext-Password := "001094001199" Juniper-Switching-Filter = "apply action gbp-tag 100"
Para clientes baseados em EAP, o SGT é empurrado do servidor RADIUS no momento da autenticação. A configuração é assim:
PermEmp01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100"
A partir do Junos Release 21.1R1, os switches EX4400 introduzem uma nova condição de correspondência para uso com VXLAN-GBP que permite ao firewall reconhecer as tags SGT que são passadas pelo servidor RADIUS e inseridas no cabeçalho VXLAN.
Você pode ver como isso funciona nas seguintes amostras de código. As políticas de firewall GBP são emolduradas com base em tags GBP de origem e destino. Uma tag de origem é o campo de 16 bits no cabeçalho VXLAN no pacote de entrada, enquanto a tag de destino é derivada no endpoint do túnel de saída, de acordo com a atribuição de tag configurada.
Digamos que temos um ponto final de saída com a configuração mostrada abaixo. Os pacotes do endereço 00:01:02:03:04:10:10
MAC de origem são atribuídos à tag 100, e os pacotes do endereço 00:01:02:03:04:20:20
MAC de origem são atribuídos 200.
set firewall family ethernet-switching filter assign_tag term tag100 from source-mac-address 00:01:02:03:04:10:10 set firewall family ethernet-switching filter assign_tag term tag100 then gbp-src-tag 100 set firewall family ethernet-switching filter assign_tag term tag200 from source-mac-address 00:01:02:03:04:20:20 set firewall family ethernet-switching filter assign_tag term tag200 then gbp-src-tag 200
Para pacotes com a tag GBP 100 e um endereço MAC de destino, a tag (gbp-dst-tag) do grupo de 00:01:02:03:04:10:10
destino será de 100 e será compatível a termot10-100. Da mesma forma, para pacotes com a tag GBP 100 e um endereço MAC de destino, a tag do grupo de 00:01:02:03:04:20:20
destino será de 200 e será compatível com o termo t10-200.
set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 from gbp-dst-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-100 then accept set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-src-tag 100 set firewall family ethernet-switching filter gbp-policy term t10-200 from gbp-dst-tag 200 set firewall family ethernet-switching filter gbp-policy term t10-200 then discard
A mesma atribuição de tag usada para mapear o endereço MAC de origem para a tag de origem também é usada para mapear o endereço MAC de destino para a tag de destino. Isso também vale para atribuições baseadas em portas.
Vamos analisar outra amostra de código, desta vez usando uma tag de origem GBP de 300, e com interface ge-0/0/30.0
de entrada de pacotes. Como você pode ver abaixo, a tag de origem GBP 300 é atribuída e na direção de saída, e 300 também é tag de grupo de destino GBP.
set firewall family ethernet-switching filter assign_tag term tag300 from interface ge-0/0/30.0 set firewall family ethernet-switching filter assign_tag term tag300 then gbp-src-tag 300
Observe que você precisa configurar o filtro de firewall GBP no switch de saída, porque não há como o switch de entrada saber quais etiquetas de grupo são usadas no switch de saída. Além disso, você deve habilitar o VXLAN-GBP globalmente no nó de entrada, para que ele possa realizar a pesquisa nas partidas e adicionar SGT no cabeçalho VXLAN, e também no nó de saída. Faça isso com o comando de configuração mostrado aqui:
set chassis forwarding-options vxlan-gbp-profile
Antes de criar qualquer regra, pode ser útil organizar o seu esquema criando uma tabela para todos os seus endpoints (usuários e dispositivos) e o valor SGT atribuído. Aqui, mostramos uma dessas tabelas, dos quais os valores serão posteriormente aplicados em uma matriz, que pode ser usada para simplificar ainda mais a lógica e esclarecer suas regras.
Extremidade |
Valor de SGT atribuído |
---|---|
Funcionário permanente (PE) |
100 |
Contratante (CON) |
200 |
Equipe de segurança (SS) |
300 |
Câmera de segurança (CAM) |
400 |
Servidor de engenharia (ES) |
500 |
A relação entre o servidor RADIUS e os SGTs, os cabeçalhos de pacotes EX4400 e VXLAN e um filtro de firewall central para gerenciar a política de acesso é tal que uma matriz se torne uma maneira útil de organizar os valores. Na tabela a seguir, listamos as funções de usuário na primeira coluna e tipos de dispositivos em toda a primeira linha para criar uma matriz de acesso. Cada função de usuário e tipo de dispositivo é atribuído a um SGT e a configuração RADIUS foi atualizada com as informações.
Este exemplo usa três tipos de funcionários, Funcionários Permanentes (PE), Contratados (CON) e Equipe de Segurança (SS). Ele também usa dois tipos de recursos, o Eng Server (ES) e a câmera de segurança (CAM). Usamos Y para indicar que o acesso é permitido, e N para mostrar quando o acesso é bloqueado. A tabela serve como um recurso útil ao criar as várias regras de firewall na política e torna o mapeamento de acesso simples e claro.
ES (SGT 500) | CAM (SGT 400) | PE (SGT 100) | CON (SGT 200) | SS (SGT 300) | |
---|---|---|---|---|---|
PE (SGT 100) | Y | N | Y | Y | N |
CON (SGT 200) | N | N | Y | N | N |
SS (SGT 300) | N | Y | N | N | Y |
Topologia
Para uma questão de simplicidade, toda a configuração neste exemplo é feita em um único switch da série EX4400 da Juniper que executa o Junos OS Release 21.1R1. O switch está conectado a um servidor RADIUS para AAA. Este switch funciona como saída neste exemplo. Lembre-se que para SGTs você deve definir o firewall no switch de saída, enquanto você normalmente faria isso no gateway VXLAN de entrada para a camada de acesso.
Requisitos
O VXLAN-GBP tem suporte para o Junos OS Release 21.1R1 nos seguintes switches: EX4400-24P, EX4400-24T, EX4400-48F, EX4400-48P e EX4400-48T. Consideremos neste exemplo um switch EX4400.
A partir do Junos Release 21.4R1, o VXLAN-GBP também tem suporte para os seguintes switches: QFX5120-32C, QFX5120-48T, QFX5120-48Y, QFX5120-48YM, EX4650 e EX4650-48Y-VC.
Configuração
Podemos resumir a sequência de eventos subjacentes à segmentação baseada em VXLAN-GBP, dispostos nos parágrafos acima, da seguinte forma:
- Os usuários fazem login na rede e são autenticados pelo servidor RADIUS (no qual os SGTs estão configurados para todos os endpoints).
- Usando filtros de firewall, o EX4400 seleciona o tráfego com base na autenticação 802.1X ou endereço MAC e, em seguida, atribui uma tag de grupo a quadros correspondentes. (para clientes autenticados dot1x, a configuração de firewall estática não é necessária). A mecânica disso é realizada usando firewall, como mostrado aqui:
set firewall family ethernet-switching filter name term name from source-mac-address MAC-Addr
set firewall family ethernet-switching filter name term name then gbp-src-tag PE-GRP
- O tráfego com tags que passam pelo EX4400 é avaliado com base nos valores sgt, novamente, usando a mecânica do filtro de firewall. Para que isso aconteça, você primeiro precisa ativar
chassis forwarding-options vxlan-gbp-profile
o switch, depois usar asgbp-dst-tag
condições e/ougbp-src-tag
combinar para escrever suas regras de firewall, e incluí-las na política de roteamento no switch de saída que você usa para microssegção gbP.
Configurando um switch Juniper EX4400 autônomo para VXLAN-GBP
Use os seguintes comandos para configurar a segmentação VXLAN-GBP em um ambiente de sandbox. Normalmente, você criaria as regras do filtro de firewall no switch que serve como gateway VXLAN (saída) para a camada de acesso, mas, por uma questão de simplicidade, estamos usando o mesmo EX4400 autônomo tanto para as regras do filtro de firewall quanto para o servidor RADIUS (EAP, aqui). Os valores que usamos neste exemplo são das tabelas anteriores.
Os comandos abaixo incluem variáveis como nomes de perfil e endereços IP, que devem ser adaptados para fazer sentido para o seu ambiente de teste.
- Configure o servidor de raio:
set groups dot1xgbp access radius-server 10.204.96.102 port 1812 set groups dot1xgbp access radius-server 10.204.96.102 secret “secret key" set groups dot1xgbp access profile radius_profile_dev12 authentication-order radius set groups dot1xgbp access profile radius_profile_dev12 radius authentication-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 radius accounting-server 10.204.96.102 set groups dot1xgbp access profile radius_profile_dev12 accounting order radius
- Configure as portas físicas para oferecer suporte à autenticação RADIUS:
set groups dot1xgbp protocols dot1x authenticator authentication-profile-name radius_profile_dev12 set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 supplicant multiple set groups dot1xgbp protocols dot1x authenticator interface xe-0/0/46.0 mac-radius
- Configure as tags SGT no servidor RADIUS:
Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 100" Contractor01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 200" SecurityStaff01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 300" SecurityCam01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 400" EngServer01 Auth-Type = EAP, Cleartext-Password := "gbp" Juniper-Switching-Filter = "apply action gbp-tag 500"
- Habilite o VXLAN-GBP no switch:
set chassis forwarding-options vxlan-gbp-profile
- Crie regras de filtro de firewall que aproveitam os SGTs (usando valores organizados na matriz):
set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe from gbp-dst-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-pe then count PE-PE set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-es then count PE-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-src-tag 100 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term pe-to-cam then count PE-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-cam then count CON-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-src-tag 200 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term con-to-es then count CON-ES set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam from gbp-dst-tag 400 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then accept set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-cam then count SS-CAM set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-src-tag 300 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es from gbp-dst-tag 500 set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then discard set groups gbp-policy firewall family ethernet-switching filter gbp-policy term ss-to-es then count SS-ES set apply-groups gbp-policy
- Execute uma verificação de confirmação no Junos para verificar se os comandos e as variáveis que você usou são válidos. Quando satisfeito com sua configuração, comprometa a configuração do candidato para torná-la ativa no dispositivo. Esses comandos são mostrados abaixo. Você também pode revisar sua configuração digitando
run show configuration
.commit check configuration check succeeds commit commit complete