Condições de correspondência do filtro de firewall com base em campos de endereço
Você pode configurar condições de correspondência de filtro de firewall que avaliam os campos de endereços de pacotes — endereços de origem e destino IPv4, endereços de origem e destino IPv6 ou endereços de origem e destino do controle de acesso de mídia (MAC) em relação a endereços especificados ou valores de prefixo.
Correspondência implícita no endereço '0/0 exceto' para condições de correspondência do filtro de firewall com base em campos de endereço
Cada condição de correspondência do filtro de firewall com base em um conjunto de endereços ou prefixos de endereço está associado a uma correspondência implícita no endereço (para tráfego IPv4 ou VPLS) ou (para tráfego IPv6).0.0.0.0/0 except0:0:0:0:0:0:0:0/0 except Como resultado, qualquer pacote cujo campo de endereço especificado não corresponda a nenhum dos endereços ou prefixos de endereço especificados não corresponde a todo o termo.
Combinar um campo de endereço com uma máscara ou prefixo de sub-rede
Você pode especificar uma única condição de correspondência para combinar com um endereço de origem ou endereço de destino que se encaixa em um prefixo de endereço especificado.
- Notação de máscara de sub-rede IPv4
- Notação de prefixo
- Comprimento de prefixo padrão para endereços IPv4
- Comprimento de prefixo padrão para endereços IPv6
- Comprimento de prefixo padrão para endereços MAC
Notação de máscara de sub-rede IPv4
Para um endereço IPv4, você pode especificar um valor de máscara de sub-rede em vez de um comprimento de prefixo. Por exemplo:
[edit firewall family inet filter filter_on_dst_addr term term3 from] user@host# set address 10.0.0.10/255.0.0.255
Notação de prefixo
Para especificar o prefixo do endereço, use a notação /.prefixprefix-length No exemplo a seguir, uma correspondência ocorre se um endereço de destino corresponder ao prefixo :10.0.0.0/8
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 10.0.0.0/8
Comprimento de prefixo padrão para endereços IPv4
Se você não especificar um endereço IPv4, o comprimento do prefixo será padrão ./prefix-length/32 O exemplo a seguir ilustra o valor padrão do prefixo:
[edit firewall family inet filter filter_on_dst_addr term term2 from] user@host# set destination-address 10 user@host# show destination-address { 10.0.0.0/32; }
Comprimento de prefixo padrão para endereços IPv6
Se você não especificar um endereço IPv6, o comprimento do prefixo será padrão ./prefix-length/128 O exemplo a seguir ilustra o valor padrão do prefixo:
[edit firewall family inet6 filter filter_on_dst_addr term term1 from] user@host# set destination-address ::10 user@host# show destination-address { ::10/128; }
Comprimento de prefixo padrão para endereços MAC
Se você não especificar um endereço de controle de acesso ao meio (MAC) de um pacote de ponte de VPLS, Camada 2 ou CCC de Camada 2, o comprimento do prefixo é padrão para ./prefix-length/48 O exemplo a seguir ilustra o valor padrão do prefixo:
[edit firewall family vpls filter filter_on_dst_mac_addr term term1 from] user@host# set destination-mac-address 01:00:0c:cc:cc:cd user@host# show destination-address { 01:00:0c:cc:cc:cd/48; }
Igualando um campo de endereço a um valor excluído
Para as condições de correspondência de campo de endereço, você pode incluir a palavra-chave para especificar que uma correspondência ocorre para um campo de endereço que não corresponda ao endereço ou prefixo especificados.except
- Excluindo endereços IP no tráfego IPv4 ou IPv6
- Excluindo endereços IP em VPLS ou tráfego de ponte de camada 2
- Excluindo endereços MAC em VPLS ou tráfego de ponte de camada 2
- Excluir todos os endereços requer uma correspondência explícita no endereço '0/0'
Excluindo endereços IP no tráfego IPv4 ou IPv6
Para as seguintes condições de correspondência IPv4 e IPv6, você pode incluir a palavra-chave para especificar que uma correspondência ocorre para um campo de endereço IP que não corresponda ao endereço IP ou prefixo especificado:except
address address except— Ocorre uma correspondência se o endereço IP de origem ou o endereço IP de destino não corresponderem ao endereço ou prefixo especificados.
source-address address except— Ocorre uma correspondência se o endereço IP de origem não corresponder ao endereço ou prefixo especificados.
destination-address address except— Ocorre uma correspondência se o endereço IP de destino não corresponder ao endereço ou prefixo especificados.
No exemplo a seguir, ocorre uma correspondência para quaisquer endereços de destino IPv4 que se caiam sob o prefixo, exceto para endereços que estão abaixo .172.0.0.0/8172.16.0.0/16 Todos os outros endereços implicitamente não correspondem a essa condição.
[edit firewall family inet filter filter_on_dst_addr term term1 from] user@host# set destination-address 172.16.0.0/16 except user@host# set destination-address 172.0.0.0/8 user@host# show destination-address { 172.16.0.0/16 except; 172.0.0.0/8; }
No exemplo a seguir, ocorre uma correspondência para qualquer endereço de destino IPv4 que não fique dentro do prefixo :10.1.1.0/24
[edit firewall family inet filter filter_on_dst_addr term term24 from] user@host# set destination-address 0.0.0.0/0 user@host# set destination-address 10.1.1.0/24 except user@host# show destination-address { 0.0.0.0/0; 10.1.1.0/24 except; }
Excluindo endereços IP em VPLS ou tráfego de ponte de camada 2
Para as seguintes condições de correspondência de ponte de VPLS e Camada 2 apenas em roteadores da Série MX, você pode incluir a palavra-chave para especificar se uma correspondência ocorre para um campo de endereço IP que não corresponda ao endereço IP ou prefixo especificados:except
ip-address address except— Ocorre uma correspondência se o endereço IP de origem ou o endereço IP de destino não corresponderem ao endereço ou prefixo especificados.
source-ip-address address except— Ocorre uma correspondência se o endereço IP de origem não corresponder ao endereço ou prefixo especificados.
destination-ip-address address except— Ocorre uma correspondência se o endereço IP de destino não corresponder ao endereço ou prefixo especificados.
No exemplo a seguir, para filtrar o tráfego VPLS em um roteador da Série MX, ocorre uma correspondência se o endereço IP de origem estiver dentro da faixa de exceção e do endereço IP de destino corresponder :55.0.1.0/255.0.255.05172.16.5.0/8
[edit] firewall { family vpls { filter fvpls { term 1 { from { ip-address { 55.0.0.0/8; 55.0.1.0/255.0.255.0 except; } } then { count from-55/8; discard; } } } } }
Excluindo endereços MAC em VPLS ou tráfego de ponte de camada 2
Para as seguintes condições de correspondência de tráfego de ponte de Camada 2 ou VPLS, você pode incluir a palavra-chave para especificar se uma correspondência ocorre para um campo de endereço MAC que não corresponda ao endereço MAC ou prefixo especificado:except
source-mac-address address except— Ocorre uma correspondência se o endereço MAC de origem não corresponder ao endereço ou prefixo especificados.
destination-mac-address address except— Ocorre uma correspondência se o endereço MAC de destino não corresponder ao endereço ou prefixo especificados.
Excluir todos os endereços requer uma correspondência explícita no endereço '0/0'
Se você especificar uma condição de correspondência de filtro de firewall que consiste em uma ou mais condições de correspondência de exceção de endereço (condições de correspondência de endereço que usam a palavra-chave), mas sem condições de correspondência de endereço compatíveis , os pacotes que não correspondem a nenhum dos prefixos configurados falha na operação geral da correspondência.except Para configurar um termo de filtro de firewall de condições de correspondência de exceção de endereço para combinar com qualquer endereço que não esteja na lista de prefixo, inclua uma correspondência explícita de modo que o termo contenha um endereço compatível.0/0
Para o exemplo a seguir, filtro de firewall para tráfego IPv4, o termo não descarta o tráfego correspondente, e o contador está ausente da saída do comando do modo operacional:from-trusted-addressesINTRUDERS-COUNTshow firewall
[edit] user@host# show policy-options prefix-list TRUSTED-ADDRESSES { 10.2.1.0/24; 192.168.122.0/24; } [edit firewall family inet filter protect-RE] user@host# show term from-trusted-addresses { from { source-prefix-list { TRUSTED-ADDRESSES except; } protocol icmp; } then { count INTRUDERS-COUNT; discard; } } term other-icmp { from { protocol icmp; } then { count VALID-COUNT; accept; } } term all { then accept; }
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 Filter: __default_bpdu_filter__
Para causar um termo de filtro de condições de correspondência de exceção de endereço para combinar com qualquer endereço que não esteja na lista de prefixo, inclua uma correspondência explícita do conjunto de condições de correspondência:0/0
[edit firewall family inet filter protect-RE] user@host# show term from-trusted-addresses from { source-prefix-list { 0.0.0.0/0; TRUSTED-ADDRESSES except; } protocol icmp; }
Com a inclusão do endereço de prefixo de origem à condição de correspondência, o termo descarta o tráfego correspondente, e o contador INTRUDERS-COUNT é exibido na saída do comando do modo operacional:0.0.0.0/0from-trusted-addressesshow firewall
[edit] user@host# run show firewall Filter: protect-RE Counters: Name Bytes Packets VALID-COUNT 2770 70 INTRUDERS-COUNT 420 5 Filter: __default_bpdu_filter__
Igualando o campo de endereço IP a um único valor
Para tráfego IPv4 e IPv6 e para tráfego de ponte de VPLS e Camada 2 apenas em roteadores da Série MX, você pode usar uma única condição de correspondência para combinar um único endereço ou valor de prefixo com o campo de endereço IP de origem ou destino.
- Correspondente ao campo de endereço IP no tráfego IPv4 ou IPv6
- Igualando o campo de endereço IP em VPLS ou tráfego de ponte de camada 2
Correspondente ao campo de endereço IP no tráfego IPv4 ou IPv6
Para tráfego IPv4 ou IPv6, você pode usar uma única condição de correspondência para especificar o mesmo endereço ou valor de prefixo que a correspondência para o campo de endereço IP de origem ou destino. Em vez de criar termos de filtro separados que especifiquem o mesmo endereço para as condições e condições de correspondência, você usa apenas a condição de correspondência.source-addressdestination-addressaddress Uma correspondência ocorre se o endereço IP de origem ou o endereço IP de destino corresponderem ao endereço ou prefixo especificados.
Se você usar a palavra-chave com a condição de correspondência, uma correspondência ocorrerá se o endereço IP de origem e o endereço IP de destino corresponderem ao valor especificado antes que a exceção se aplique.exceptaddress
Em um termo de filtro de firewall que especifica a condição da correspondência ou da correspondência, você também não pode especificar a condição da correspondência.source-addressdestination-addressaddress
Igualando o campo de endereço IP em VPLS ou tráfego de ponte de camada 2
Para tráfego de ponte de VPLS ou Camada 2 apenas em roteadores da Série MX, você pode usar uma única condição de correspondência para especificar o mesmo endereço ou valor de prefixo que a correspondência para o campo de endereço IP de origem ou destino. Em vez de criar termos de filtro separados que especifiquem o mesmo endereço para as condições e condições de correspondência, você usa apenas a condição de correspondência.source-ip-addressdestination-ip-addressip-address Uma correspondência ocorre se o endereço IP de origem ou o endereço IP de destino corresponderem ao endereço ou prefixo especificados.
Se você usar a palavra-chave com a condição de correspondência, uma correspondência ocorrerá se o endereço IP de origem e o endereço IP de destino corresponderem ao valor especificado antes que a exceção se aplique.exceptip-address
Em um termo de filtro de firewall que especifica a condição da correspondência ou da correspondência, você também não pode especificar a condição da correspondência.source-ip-addressdestination-ip-addressip-address
Combinar um campo de endereços com prefixos não lucrativos
Somente para tráfego IPv4, especifique uma única condição de correspondência para combinar o campo de endereços de ORIGEM ou destino com qualquer prefixo especificado. Os prefixos não precisam ser contíguos. Ou seja, os prefixos sob a condição ou condição de correspondência não precisam ser adjacentes ou vizinhos uns aos outros.source-addressdestination-address
No exemplo a seguir, uma correspondência ocorre se um endereço de destino corresponder ao prefixo ou ao prefixo:10.0.0.0/8192.168.0.0/32
[edit firewall family inet filter filter_on_dst_addr term term5 from] user@host# set destination-address 10.0.0.0/8 user@host# set destination-address 192.168.0.0/32 user@host# show destination-address { destination-address 10.0.0.0/8; destination-address 192.168.0.0/32; }
A ordem na qual você especifica os prefixos dentro da condição da correspondência não é significativa. Os pacotes são avaliados em relação a todos os prefixos na condição de correspondência para determinar se uma correspondência ocorre. Se os prefixos se sobreporem, são usadas regras de correspondência mais longas para determinar se uma correspondência ocorre. Uma condição compatível de prefixos não consistentes inclui uma declaração implícita , o que significa que qualquer prefixo que não corresponda a qualquer prefixo incluído na condição da partida é explicitamente considerado não compatível.0/0 except
Como os prefixos são independentes de pedidos e usam regras de correspondência mais longas, prefixos mais longos subsume os mais curtos, desde que sejam do mesmo tipo (se você especificar ou não).except Isso ocorre porque qualquer coisa que corresponda ao prefixo mais longo também corresponderia ao mais curto.
Considere o exemplo a seguir:
[edit firewall family inet filter filter_on_src_addr term term1 from] source-address { 172.16.0.0/10; 172.16.2.0/24 except; 192.168.1.0; 192.168.1.192/26 except; 192.168.1.254; 172.16.3.0/24; # ignored 10.2.2.2 except; # ignored }
Dentro da condição de jogo, dois endereços são ignorados.source-address O valor é ignorado porque se encaixa no endereço , que é do mesmo tipo.172.16.3.0/16172.16.0.0/10 O valor é ignorado porque é subsumido pelo valor implícito de correspondência.10.2.2.2 except0.0.0.0/0 except
Suponha que o endereço IP de origem a seguir seja avaliado por este filtro de firewall:
Endereço IP de origem — Esse endereço corresponde ao prefixo e, portanto, a ação na declaração é tomada.172.16.1.2172.16.0.0/10then
Endereço IP de origem — esse endereço combina com o prefixo.172.16.2.2172.16.2.0/24 Como esse prefixo é negado (ou seja, inclui a palavra-chave), ocorre uma incompatibilidade explícita.except O próximo termo no filtro é avaliado, se houver um. Se não houver mais termos, o pacote será descartado.
Endereço IP de origem — este endereço não corresponde a nenhum dos prefixos incluídos na condição.10.1.2.3source-address Em vez disso, combina com o implícito no final da lista de prefixos configurados sob a condição da correspondência, e é considerado uma incompatibilidade.0.0.0.0/0 exceptsource-address
A declaração é ignorada porque se encaixa no endereço — ambos são do mesmo tipo.172.16.3.0/24172.16.0.0/10
A declaração é ignorada porque é subsumida pela declaração implícita no final da lista de prefixos configurados sob a condição de correspondência.10.2.2.2 except0.0.0.0/0 exceptsource-address
Quando um termo de filtro de firewall inclui a condição da correspondência e um termo subsequente inclui a condição de correspondência para o mesmo endereço, os pacotes podem ser processados por este último termo antes de serem avaliados por quaisquer termos de intervenção.from address addressfrom source-address address Como resultado, os pacotes que devem ser rejeitados pelos termos de intervenção podem ser aceitos, ou pacotes que devem ser aceitos podem ser rejeitados.
Para evitar que isso ocorra, recomendamos que você faça o seguinte. Para cada termo de filtro de firewall que contenha a condição de correspondência, substitua esse termo por dois termos separados:from address address um que contém a condição de correspondência, e outro que contém a condição da correspondência.from source-address addressfrom destination-address address
Combinar um campo de endereços com uma lista de prefixos
Você pode definir uma lista de prefixos de endereço IPv4 ou IPv6 para uso em uma declaração de política de roteamento ou em uma condição de correspondência de filtro de firewall sem estado que avalia os campos de endereços de pacotes.
Para definir uma lista de prefixos de endereço IPv4 ou IPv6, inclua a declaração.prefix-list prefix-list
prefix-list name { ip-addresses; apply-path path; }
Você pode incluir a declaração nos seguintes níveis de hierarquia:
[edit policy-options]
[edit logical-systems logical-system-name policy-options]
Depois de definir uma lista de prefixo, você pode usá-la ao especificar uma condição de correspondência de filtro de firewall com base em um prefixo de endereço IPv4 ou IPv6.
[edit firewall family family-name filter filter-name term term-name] from { source-prefix-list { prefix-lists; } destination-prefix-list { prefix-lists; } }