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 0.0.0.0/0 except (para tráfego IPv4 ou VPLS) ou 0:0:0:0:0:0:0:0/0 except (para tráfego IPv6). 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 prefix/prefix-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 /prefix-length um endereço IPv4, o comprimento do prefixo será padrão /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 /prefix-length um endereço IPv6, o comprimento do prefixo será padrão /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 /prefix-length 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 /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 except 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.
- 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 except 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:
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 172.0.0.0/8 prefixo, exceto para endereços que estão abaixo 172.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 except 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:
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 55.0.1.0/255.0.255.0 destino corresponder 5172.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 except 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:
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 except 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. 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 0/0 modo que o termo contenha um endereço compatível.
Para o exemplo a seguir, filtro de firewall para tráfego IPv4, o from-trusted-addresses termo não descarta o tráfego correspondente, e o INTRUDERS-COUNT contador está ausente da saída do show firewall comando do modo operacional:
[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 0/0 conjunto de condições de correspondência:
[edit firewall family inet filter protect-RE] user@host# show term from-trusted-addresses from { source-address { 0.0.0.0/0; } source-prefix-list { TRUSTED-ADDRESSES except; } protocol icmp; }
Com a inclusão do endereço de prefixo de origem 0.0.0.0/0 à condição de correspondência, o from-trusted-addresses termo descarta o tráfego correspondente, e o contador INTRUDERS-COUNT é exibido na saída do comando do show firewall modo operacional:
[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 source-address condições e destination-address condições de correspondência, você usa apenas a condição de address correspondência. 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 except palavra-chave com a condição de address 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.
Em um termo de filtro de firewall que especifica a condição da correspondência ou da source-addressdestination-address correspondência, você também não pode especificar a condição da address correspondência.
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 source-ip-address condições e destination-ip-address condições de correspondência, você usa apenas a condição de ip-address correspondência. 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 except palavra-chave com a condição de ip-address 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.
Em um termo de filtro de firewall que especifica a condição da correspondência ou da source-ip-addressdestination-ip-address correspondência, você também não pode especificar a condição da ip-address correspondência.
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 source-address condição ou destination-address condição de correspondência não precisam ser adjacentes ou vizinhos uns aos outros.
No exemplo a seguir, uma correspondência ocorre se um endereço de destino corresponder ao 10.0.0.0/8 prefixo ou ao 192.168.0.0/32 prefixo:
[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 0/0 except , 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.
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 except ou não). 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 source-address jogo, dois endereços são ignorados. O 172.16.3.0/16 valor é ignorado porque se encaixa no endereço 172.16.0.0/10, que é do mesmo tipo. O 10.2.2.2 except valor é ignorado porque é subsumido pelo valor implícito 0.0.0.0/0 except de correspondência.
Suponha que o endereço IP de origem a seguir seja avaliado por este filtro de firewall:
Endereço 172.16.1.2IP de origem — Esse endereço corresponde ao 172.16.0.0/10 prefixo e, portanto, a ação na then declaração é tomada.
Endereço 172.16.2.2IP de origem — esse endereço combina com o 172.16.2.0/24 prefixo. Como esse prefixo é negado (ou seja, inclui a except palavra-chave), ocorre uma incompatibilidade explícita. O próximo termo no filtro é avaliado, se houver um. Se não houver mais termos, o pacote será descartado.
Endereço 10.1.2.3IP de origem — este endereço não corresponde a nenhum dos prefixos incluídos na source-address condição. Em vez disso, combina com o implícito 0.0.0.0/0 except no final da lista de prefixos configurados sob a condição da source-address correspondência, e é considerado uma incompatibilidade.
A 172.16.3.0/24 declaração é ignorada porque se encaixa no endereço 172.16.0.0/10— ambos são do mesmo tipo.
A 10.2.2.2 except declaração é ignorada porque é subsumida pela declaração implícita 0.0.0.0/0 except no final da lista de prefixos configurados sob a condição de source-address correspondência.
Quando um termo de filtro de firewall inclui a condição da from address address correspondência e um termo subsequente inclui a condição de from source-address address 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. 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 from address address correspondência, substitua esse termo por dois termos separados: um que contém a from source-address address condição de correspondência, e outro que contém a condição da from destination-address address correspondência.
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 prefix-list prefix-list declaração.
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; } }