Ajude-nos a melhorar a sua experiência.

Conte-nos a sua opinião.

Tem dois minutos para uma pesquisa?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
list Table of Contents
keyboard_arrow_right

Esta tradução automática foi útil?

starstarstarstarstar
Go to English page
ISENÇÃO DE RESPONSABILIDADE:

Esta página será traduzida com software de tradução por máquina de terceiros. Embora esforços razoáveis tenham sido feitos para fornecer uma tradução de qualidade, a Juniper Networks não pode garantir sua exatidão. Se houver dúvidas sobre a exatidão das informações contidas nesta tradução, consulte a versão em inglês. O PDF para download está disponível apenas em inglês.

Exemplo: Encaminhamento de pacotes para a interface de descarte

date_range 18-Jan-25

Este exemplo mostra como usar o roteamento de descarte para mitigar ataques de negação de serviço (DoS), proteger recursos vitais de rede contra ataques externos, fornecer serviços de proteção aos clientes para que cada cliente possa iniciar sua própria proteção e registrar e rastrear tentativas de DoS.

Requisitos

Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.

Visão geral

No roteamento de descarte, os roteadores são configurados com regras que não permitem que milhões de solicitações em um curto período de tempo sejam enviadas para o mesmo endereço. Se muitas solicitações forem recebidas em um curto período de tempo, o roteador simplesmente descarta as solicitações sem encaminhá-las. As solicitações são enviadas a um roteador que não encaminha os pacotes. As rotas problemáticas são às vezes referidas como rotas de descarte ou rotas black-holed. Os tipos de rotas que devem ser descartadas são identificados como ataques a clientes de pares ou outros clientes, ataques de clientes a pares ou outros clientes, controladores de ataque, que são hosts que fornecem instruções de ataque e espaços de endereço não alocados, conhecidos como bogons ou endereços IP inválidos.

Após a tentativa de ataque ser identificada, os operadores podem implementar uma configuração para mitigar o ataque. Uma maneira de configurar o roteamento de descarte no Junos OS é criar uma rota estática de descarte para cada salto próximo usado para rotas de descarte. Uma rota estática de descarte usa a opção discard .

Por exemplo:

content_copy zoom_out_map
user@host# show routing-options
static {
    route 192.0.2.101/32 discard;
    route 192.0.2.103/32 discard;
    route 192.0.2.105/32 discard;
}
content_copy zoom_out_map
user@host> show route protocol static terse
inet.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

A V Destination        P Prf   Metric 1   Metric 2  Next hop        AS path
* ? 192.0.2.101/32     S   5                        Discard
* ? 192.0.2.103/32     S   5                        Discard
* ? 192.0.2.105/32     S   5                        Discard

Outra estratégia, que é o foco principal deste exemplo, é usar a política de roteamento e a interface de descarte. Nessa abordagem, a interface de descarte contém o próximo salto que você está atribuindo às rotas nulas. Uma interface de descarte pode ter apenas uma unidade lógica (unidade 0), mas você pode configurar vários endereços IP na unidade 0.

Por exemplo:

content_copy zoom_out_map
user@host# show interfaces dsc
unit 0 {
    family inet {
        address 192.0.2.102/32 {
            destination 192.0.2.101;
        }
        address 192.0.2.104/32 {
            destination 192.0.2.103;
        }
        address 192.0.2.106/32 {
            destination 192.0.2.105;
        }
    }
}
content_copy zoom_out_map
user@host> show interfaces terse dsc
b
Interface               Admin Link Proto    Local                 Remote
dsc                     up    up
dsc.0                   up    up   inet     192.0.2.102         --> 192.0.2.101
                                            192.0.2.104         --> 192.0.2.103
                                            192.0.2.106         --> 192.0.2.105

A vantagem de usar uma interface de descarte em vez de usar rotas estáticas de descarte é que a interface de descarte permite que você configure e atribua filtros à interface para contagem, registro e amostragem do tráfego. Isso é demonstrado neste exemplo.

Para realmente descartar pacotes, é necessário uma política de roteamento anexada às sessões bgp. Para localizar rotas elegíveis para descartes, você pode usar um filtro de rota, uma lista de acesso ou um valor de comunidade BGP.

Por exemplo, veja como você usaria um filtro de rota:

Filtro de rota

content_copy zoom_out_map
protocols {
    bgp {
        import blackhole-by-route;
    }
}
policy-options {
    policy-statement blackhole-by-route {
        term specific-routes {
            from {
                route-filter 10.10.10.1/32 exact;
                route-filter 10.20.20.2/32 exact;
                route-filter 10.30.30.3/32 exact;
                route-filter 10.40.40.4/32 exact;
            }
            then {
                next-hop 192.0.2.101
            }
        }
    }
}

Figura 1 mostra a rede de amostra.

Figura 1: Descartar a rede de amostra de interfaceDescartar a rede de amostra de interface

O exemplo inclui três roteadores com sessões BGP (EBGP) externas estabelecidas.

O dispositivo R1 representa o dispositivo de ataque. O dispositivo R3 representa o roteador mais próximo do dispositivo que está sendo atacado. O dispositivo R2 mitiga o ataque encaminhando pacotes para a interface de descarte.

O exemplo mostra um filtro de saída aplicado à interface de descarte.

Nota:

Um problema com o uso de um único filtro de rota nulo é a visibilidade. Todos os pacotes de descarte aumentam o mesmo contador. Para ver quais categorias de pacotes estão sendo descartadas, use o uso de classe de destino (DCU) e associe uma classe definida pelo usuário com cada comunidade de rotas nulas. Em seguida, consulte as aulas de DCU em um filtro de firewall. Para exemplos relacionados, veja Exemplo: Prefixos de origem e destino de agrupamento em uma classe de encaminhamento e Exemplo: Configuração de um filtro de limitação de taxa com base na classe de destino.

Em comparação com o uso de filtros de rota e listas de acesso, usar um valor da comunidade é a abordagem menos difícil administrativamente e mais escalável. Portanto, esta é a abordagem mostrada neste exemplo.

Por padrão, o próximo salto deve ser igual ao endereço peer BGP (EBGP) externo. Alterar o próximo salto para serviços de rota nulos requer que o recurso multihop seja configurado nas sessões de EBGP.

Configuração rápida da CLI mostra a configuração de todos os dispositivos em Figura 1.

A seção #configuration756__policy-discard-st descreve as etapas do dispositivo R2.

Configuração

Procedimento

Configuração rápida da CLI

Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.

Dispositivo R1

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.1/30
set interfaces lo0 unit 0 family inet address 192.168.0.1/32
set protocols bgp group ext type external
set protocols bgp group ext peer-as 200
set protocols bgp group ext neighbor 10.0.0.2
set routing-options autonomous-system 100

Dispositivo R2

content_copy zoom_out_map
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.2/30
set interfaces fe-1/2/1 unit 0 family inet address 10.1.0.1/30
set interfaces dsc unit 0 family inet filter output log-discard
set interfaces dsc unit 0 family inet address 192.0.2.102/32 destination 192.0.2.101
set interfaces lo0 unit 0 family inet address 192.168.0.2/32
set protocols bgp import blackhole-policy
set protocols bgp group ext type external
set protocols bgp group ext multihop
set protocols bgp group ext export dsc-export
set protocols bgp group ext neighbor 10.0.0.1 peer-as 100
set protocols bgp group ext neighbor 10.1.0.2 peer-as 300
set policy-options policy-statement blackhole-policy term blackhole-communities from community blackhole-all-routers
set policy-options policy-statement blackhole-policy term blackhole-communities then next-hop 192.0.2.101
set policy-options policy-statement dsc-export from route-filter 192.0.2.101/32 exact
set policy-options policy-statement dsc-export from route-filter 192.0.2.102/32 exact
set policy-options policy-statement dsc-export then community set blackhole-all-routers
set policy-options policy-statement dsc-export then accept
set policy-options community blackhole-all-routers members 100:5555
set routing-options static route 192.0.2.102/32 next-hop 192.0.2.101
set routing-options autonomous-system 200
set firewall filter log-discard term one then count counter
set firewall filter log-discard term one then log

Dispositivo R3

content_copy zoom_out_map
set interfaces fe-1/2/1 unit 0 family inet address 10.1.0.2/30
set interfaces lo0 unit 0 family inet address 192.168.0.3/32
set interfaces lo0 unit 0 family inet address 192.0.2.102/32
set protocols bgp group ext type external
set protocols bgp group ext peer-as 200
set protocols bgp group ext neighbor 10.1.0.1
set routing-options autonomous-system 300

Procedimento passo a passo

O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter instruções sobre como fazer isso, veja Use o editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.

Para configurar o dispositivo R2:

  1. Crie as interfaces do roteador.

    content_copy zoom_out_map
    [edit interfaces]
    user@R2# set fe-1/2/0 unit 0 family inet address 10.0.0.2/30
    user@R2# set fe-1/2/1 unit 0 family inet address 10.1.0.1/30
    user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
    
  2. Configure um filtro de firewall que corresponda a todos os pacotes e contagens e registre os pacotes.

    content_copy zoom_out_map
    [edit firewall filter log-discard term one]
    user@R2# set then count counter
    user@R2# set then log
    
  3. Crie uma interface de descarte e aplique o filtro de firewall de saída.

    Os filtros de firewall de entrada não têm impacto neste contexto.

    content_copy zoom_out_map
    [edit interfaces dsc unit 0 family inet]
    user@R2# set filter output log-discard
    user@R2# set address 192.0.2.102/32 destination 192.0.2.101
    
  4. Configure uma rota estática que envia o próximo salto para o endereço de destino especificado na interface de descarte.

    content_copy zoom_out_map
    [edit routing-options static]
    user@R2# set route 192.0.2.102/32 next-hop 192.0.2.101
    
  5. Configure o peering BGP.

    content_copy zoom_out_map
    [edit protocols bgp ]
    user@R2# set group ext type external
    user@R2# set group ext multihop
    user@R2# set group ext neighbor 10.0.0.1 peer-as 100
    user@R2# set group ext neighbor 10.1.0.2 peer-as 300
    
  6. Configure as políticas de roteamento.

    content_copy zoom_out_map
    [edit policy-options policy-statement blackhole-policy term blackhole-communities]
    user@R2# set from community blackhole-all-routers
    user@R2# set then next-hop 192.0.2.101
    [edit policy-options policy-statement dsc-export]
    user@R2# set from route-filter 192.0.2.101/32 exact
    user@R2# set from route-filter 192.0.2.102/32 exact
    user@R2# set then community set blackhole-all-routers
    user@R2# set then accept
    [edit policy-options community blackhole-all-routers]
    user@R2# set members 100:5555
    
  7. Aplicar as políticas de roteamento.

    content_copy zoom_out_map
    [edit protocols bgp ]
    user@R2# set import blackhole-policy
    user@R2# set group ext export dsc-export
    
  8. Configure o número do sistema autônomo (AS).

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set autonomous-system 200
    

Resultados

A partir do modo de configuração, confirme sua configuração emitindo comandos show interfacesshow routing-optionsshow protocols show policy-optionse show firewall comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.

content_copy zoom_out_map
[edit]
user@R2# show interfaces
fe-1/2/0 {
    unit 0 {
        family inet {
            address 10.0.0.2/30;
        }
    }
}
fe-1/2/1 {
    unit 0 {
        family inet {
            address 10.1.0.1/30;
        }
    }
}
dsc {
    unit 0 {
        family inet {
            filter {
                output log-discard;
            }
            address 192.0.2.102/32 {
                destination 192.0.2.101;
            }
        }
    }
}
lo0 {
    unit 0 {
        family inet {
            address 192.168.0.2/32;
        }
    }
}
content_copy zoom_out_map
user@R2# show protocols
bgp {
    import blackhole-policy;
    group ext {
        type external;
        multihop;
        export dsc-export;
        neighbor 10.0.0.1 {
            peer-as 100;
        }
        neighbor 10.1.0.2 {
            peer-as 300;
        }
    }
}
content_copy zoom_out_map
user@R2# show policy-options
policy-statement blackhole-policy {
    term blackhole-communities {
        from community blackhole-all-routers;
        then {
            next-hop 192.0.2.101;
        }
    }
}
policy-statement dsc-export {
    from {
        route-filter 192.0.2.101/32 exact;
        route-filter 192.0.2.102/32 exact;
    }
    then {
        community set blackhole-all-routers;
        accept;
    }
}
community blackhole-all-routers members 100:5555;
content_copy zoom_out_map
user@R2# show routing-options
static {
    route 192.0.2.102/32 next-hop 192.0.2.101;
}
autonomous-system 200;
content_copy zoom_out_map
user@R2# show firewall
filter log-discard {
    term one {
        then {
            count counter;
            log;
        }
    }
}

Se você terminar de configurar o dispositivo, entre no commit modo de configuração.

Verificação

Confirme se a configuração está funcionando corretamente.

Limpar os contadores de firewall

Propósito

Libere os contadores para ter certeza de que está começando de um estado zero (0) conhecido.

Ação

  1. A partir do Dispositivo R2, execute o clear firewall comando.

    content_copy zoom_out_map
    user@R2> clear firewall filter log-discard
  2. A partir do Dispositivo R2, execute o show firewall comando.

    content_copy zoom_out_map
    user@R2> show firewall filter log-discard
    Filter: /log-discard                                       
    Counters:
    Name                                                Bytes              Packets
    counter                                                 0                    0

Pingando no endereço 192.0.2.101

Propósito

Envie pacotes para o endereço de destino.

Ação

A partir do Dispositivo R1, execute o ping comando.

content_copy zoom_out_map
user@R1> ping 192.0.2.101
PING 192.0.2.101 (192.0.2.101): 56 data bytes
^C
--- 192.0.2.101 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

Significado

Como esperado, a solicitação de ping falha e nenhuma resposta é enviada. Os pacotes estão sendo descartados.

Verificando o filtro de saída

Propósito

Verifique se o filtro de firewall do Dispositivo R2 está funcionando corretamente.

Ação

A partir do Dispositivo R2, insira o show firewall filter log-discard comando.

content_copy zoom_out_map
user@R2> show firewall filter log-discard
Filter: log-discard                                       
Counters:
Name                                                Bytes              Packets
counter                                               336                    4

Significado

Como esperado, o contador está sendo incrementado.

Nota:

O pacote de ping transporta mais 20 bytes de sobrecarga IP, bem como 8 bytes de cabeçalho ICMP.

Verificando o atributo da comunidade

Propósito

Verifique se a rota está sendo marcada com o atributo da comunidade.

Ação

A partir do Dispositivo R1, insira o show route extensive comando, usando o endereço vizinho para Dispositivo R2, 192.0.2.101.

content_copy zoom_out_map
user@R1> show route 192.0.2.101 extensive

inet.0: 4 destinations, 4 routes (4 active, 0 holddown, 0 hidden)
192.0.2.101/32 (1 entry, 1 announced)
TSI:
KRT in-kernel 192.0.2.101/32 -> {10.0.0.2}
        *BGP    Preference: 170/-101
                Next hop type: Router, Next hop index: 684
                Address: 0x94141d8
                Next-hop reference count: 2
                Source: 10.0.0.2
                Next hop: 10.0.0.2 via fe-1/2/0.0, selected
                Session Id: 0x8000a
                State: <Active Ext>
                Local AS:   100 Peer AS:   200
                Age: 53:03 
                Validation State: unverified 
                Task: BGP_200.10.0.0.2+63097
                Announcement bits (1): 2-KRT 
                AS path: 200 I
                Communities: 100:5555
                Accepted
                Localpref: 100
                Router ID: 192.168.0.2

Significado

Como esperado, quando o Dispositivo R2 anuncia a rota 192.0.2.101 para o Dispositivo R1, o Dispositivo R2 adiciona a tag da comunidade 100:5555.

footer-navigation