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 campos de endereço de pacote — 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) — contra endereços especificados ou valores de prefixo.
Correspondência implícita no endereço '0/0 exceto' para condições de correspondência de 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á associada 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.
Combinando 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 enquadra em um prefixo de endereço especificado.
- Notação da 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 da 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 de endereço, use a notação prefix/prefix-length. No exemplo a seguir, uma correspondência ocorre se um endereço de destino combinar com o 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á inadimplente para /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á inadimplente para /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 de mídia (MAC) de um pacote de ponte de VPLS, Camada 2 ou Camada 2, o comprimento do prefixo será inadimplente 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; }
Combinar um campo de endereço com um valor excluído
Para as condições de correspondência do 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 combinar com o endereço ou prefixo especificados.
destination-address address except— Ocorre uma correspondência se o endereço IP de destino não combinar com o endereço ou prefixo especificados.
No exemplo a seguir, ocorre uma correspondência para quaisquer endereços de destino IPv4 que se enquadram no 172.0.0.0/8 prefixo, exceto para endereços 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 172.16.0.0/16 except user@host# set 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 se enquadra no 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 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 especificado:
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 combinar com o endereço ou prefixo especificados.
destination-ip-address address except— Ocorre uma correspondência se o endereço IP de destino não combinar com o 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 o endereço IP de 55.0.1.0/255.0.255.0 destino combinar 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 VPLS ou Camada 2, 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 combinar com o 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 falham 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-prefix-list { 0.0.0.0/0; TRUSTED-ADDRESSES except; } protocol icmp; }
Com a adiçã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 exibe na saída do show firewall comando do 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 ao campo de endereço IP de origem ou destino.
- Igualando o 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
Igualando o 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 especificam 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 combinarem com o endereço ou prefixo especificados.
Se você usar a except palavra-chave com a address 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.
Em um termo de filtro de firewall que especifica a condição de correspondência ou a source-addressdestination-address condição de 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 especificam 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 combinarem com o endereço ou prefixo especificados.
Se você usar a except palavra-chave com a ip-address 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.
Em um termo de filtro de firewall que especifica a condição de correspondência ou a source-ip-addressdestination-ip-address condição de correspondência, você também não pode especificar a condição da ip-address correspondência.
Combinando um campo de endereço com prefixos não lucrativos
Apenas para tráfego IPv4, especifique uma única condição de correspondência para combinar o campo de endereço ip ou de destino com qualquer prefixo especificado. Os prefixos não precisam ser contíguos. Ou seja, os prefixos sob a source-address condição de destination-address 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 combinar com o 10.0.0.0/8 prefixo ou o 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 de 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 ocorre uma correspondência. Se os prefixos se sobreporem, as regras de correspondência mais longas são usadas para determinar se ocorre uma correspondência. 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 nenhum 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 mais longas, prefixos mais longos subsuem os mais curtos, desde que sejam do mesmo tipo (especificando 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 ele se enquadra no endereço 172.16.0.0/10, que é do mesmo tipo. O 10.2.2.2 except valor é ignorado porque é subsumido pelo valor de correspondência implícito 0.0.0.0/0 except .
Suponha que o seguinte endereço IP de origem seja avaliado por este filtro de firewall:
Endereço 172.16.1.2IP de origem — Este endereço combina com o 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 do 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, ele combina com o implícito 0.0.0.0/0 except no final da lista de prefixos configurados sob a condição de source-address correspondência, e é considerado uma incompatibilidade.
A 172.16.3.0/24 declaração é ignorada porque se enquadra 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 de from address address correspondência e um termo subsequente inclui a from source-address address 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 intervenientes. Como resultado, pacotes que devem ser rejeitados pelos termos intervenientes 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 from address address condição de 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 de from destination-address address correspondência.
Combinando um campo de endereço com uma lista de prefixo
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 stateless que avalia campos de endereço 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; } }