IP : Protocolos de roteamento IP

Use uma rota estática para a interface Null0 para prevenção de loop

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback


Índice


Introdução

A interface Nula é usada tipicamente para impedir loops de roteamento. O Enhanced Interior Gateway Routing Protocol (EIGRP), por exemplo, sempre cria uma rota para a interface Null0 quando ela resume um grupo de rotas. Sempre que um protocolo de roteamento é resumido, significa que o roteador pode receber tráfego de qualquer endereço IP dentro daquele resumo. Devido a nem todos endereços IP estarem sempre em uso, existe o risco de pacotes de loops, no caso de rotas padrão, serem usados no roteador que recebe o tráfego para o resumo.

Pré-requisitos

Requisitos

Não existem requisitos específicos para este documento.

Componentes Utilizados

As informações neste documento são baseadas nas versões de software e hardware abaixo.

  • Software Release 12.3 do½ do¿Â do Cisco IOSïÂ.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.

Convenções

Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.

Sintaxe do comando

Uma rota estática ao null0 é uma rota estática normal, salvo que aponta à relação do null0, que é uma interface IOS virtual. Refira os comandos dos protocolos de IP Routing: Eu seciono da referência do comando ip do Cisco IOS, o volume 2 de 4: Protocolos de roteamento, Versão 12.3 para obter mais informações sobre do comando ip route. A próxima seção apresenta um exemplo de como usar o comando ip route criar uma rota estática ao null0.

Exemplo

Um cenário comum onde você possa precisar de adicionar uma rota estática ao null0 é aquele de um servidor de acesso que tenha muitos clientes que discam dentro. Esta encenação faz com que as rotas do host sejam instaladas na tabela de roteamento do servidor de acesso. Para assegurar a alcançabilidade a estes clientes, ao não inundar a toda a rede com as rotas do host, o outro Roteadores na rede tem tipicamente uma rota sumária que aponte ao servidor de acesso. No este tipo de configuração, o servidor de acesso deve ter que a mesma rota sumária que aponta à relação do null0 do servidor de acesso. Se não, os loop de roteamento podem ocorrer quando os host exteriores tentam alcançar os endereços IP de Um ou Mais Servidores Cisco ICM NT atribuídos não atualmente ao discado no cliente mas são parte da rota sumária. Isto é porque o servidor de acesso saltaria os pacotes para trás sobre a rota padrão do servidor de acesso na rede central, porque o servidor de acesso falta uma rota específica do host para o destino.

Considere este exemplo:

/image/gif/paws/14956/route_to_null_interface_01.gif

Um ISP pequeno (ISP-R1) dá a um de seus clientes um bloco da rede de 192.168.0.0/16. Neste exemplo, o cliente dividiu 192.168.0.0/16 nas redes de /24 e somente nos usos 192.168.1.0/24 e 192.168.2.0/24 neste momento. No roteador ISP-R1, o ISP configura uma rota estática para 192.168.0.0/16 para o roteador de cliente (cust-R2). O ISP conecta então a um backbone ISP, representado pelo roteador BB-R3. O roteador BB-R3 envia uma rota padrão ao ISP-R1 e recebe a rede 192.168.0.0/16 através do BGP do ISP-R1.

A alcançabilidade é garantida agora do Internet (roteador de ISP de backbone BB-R3) ao roteador de cliente cust-R2 porque cust-R2 tem uma rota padrão configurada para apontar ao ISP-R1. Contudo, se os pacotes são destinados aos blocos da rede que não são dentro uso fora da escala 192.168.0.0/16, a seguir o roteador cust-R2 usa a rota padrão ao ISP-R1 para enviar aqueles pacotes. Os blocos dão laços então entre o ISP-R1 e o cust-R2 até que o TTL expire. Isto pode ter um impacto enorme no CPU de roteador e na utilização do enlace. Um exemplo de onde este tráfego aos endereços IP de Um ou Mais Servidores Cisco ICM NT não utilizados pudesse vir do poderia ser ataque de recusa de serviço, varredura dos blocos IP para encontrar anfitriões vulneráveis, etc.

Configurações relevantes:

cust-R2
version 12.3
!
hostname cust-R2
!
ip subnet-zero
!
interface Loopback0
 ip address 10.2.2.2 255.255.255.255
!         
interface Ethernet0/0
 ip address 192.168.1.1 255.255.255.0
!
interface Ethernet1/0
 ip address 192.168.2.1 255.255.255.0
!
interface Serial2/0
 ip address 10.0.0.2 255.255.255.252

!--- This interface leads to ISP-R1.

!
ip classless
ip route 0.0.0.0 0.0.0.0 10.0.0.1

!--- Default route going to ISP-R1.

!
end

ISP-R1
version 12.3
!
hostname ISP-R1
!
ip subnet-zero
!
interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface Serial0/0
 ip address 10.0.0.1 255.255.255.252

!--- Interface to cust-R2.

!
interface Serial1/0
 ip unnumbered Loopback0

!--- Interface going to BB-R3.

!
router bgp 65501
 no synchronization
 network 192.168.0.0 mask 255.255.0.0

!--- ISP-R1 injects 192.168.0.0/16 into BGP to 
!--- advertise it to BB-R3.

 neighbor 10.3.3.3 remote-as 65503
 neighbor 10.3.3.3 ebgp-multihop 255
 no auto-summary
!
ip classless
ip route 10.3.3.3 255.255.255.255 Serial1/0
ip route 192.168.0.0 255.255.0.0 Serial0/0

!--- The first route is necessary for the eBGP 
!--- session to BB-R3 to come up.


!--- The route to 192.168.0.0/16 points towards cust-R2.

!
!
end

BB-R3
version 12.3
!
hostname BB-R3
!
ip subnet-zero
!
!
interface Loopback0
 ip address 10.3.3.3 255.255.255.255
!
interface Serial2/0
 ip unnumbered Loopback0

!--- This interface goes to ISP-R1.

!
router bgp 65503
 no synchronization
 bgp log-neighbor-changes
 neighbor 10.1.1.1 remote-as 65501
 neighbor 10.1.1.1 ebgp-multihop 255
 neighbor 10.1.1.1 default-originate 

!--- BB-R3 injects a default route into BGP and 
!--- sends it to ISP-R1.

 no auto-summary
!
ip classless
ip route 10.1.1.1 255.255.255.255 Serial2/0

!--- This route points to ISP-R1 and is 
!--- used to establish the eBGP peering.

!
end

Fluxo de pacote de informação:

Nota: Nós permitimos alguns comandos debug no Roteadores ilustrar melhor o fluxo de pacote de informação, para debugar o pacote IP e para debugar notavelmente o ICMP IP. Não permita estes comandos em um ambiente de produção a menos que você compreender inteiramente as consequências.

BB-R3# ping ip 192.168.20.1 repeat 1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:

*Oct  6 09:36:45.355: IP: tableid=0, s=10.3.3.3 (local), d=192.168.20.1 (Serial2/0), routed via FIB
*Oct  6 09:36:45.355: IP: s=10.3.3.3 (local), d=192.168.20.1 (Serial2/0), len 100, sending.
Success rate is 0 percent (0/1)
BB-R3#
*Oct  6 09:36:50.943: ICMP: time exceeded rcvd from 10.0.0.1

O BB-R3 envia um único pedido ICMP a um endereço IP de Um ou Mais Servidores Cisco ICM NT dentro do bloco 192.168.0.0/16 que não é dentro uso em cust-R2. O BB-R3 recebe uma estadia ICMP excedida para trás do ISP-R1.

No ISP-R1:

18:50:22: IP: tableid=0, s=10.3.3.3 (Serial1/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial1/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB
18:50:22: IP: s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), g=192.168.20.1, len 100, forward
18:50:22: IP: tableid=0, s=10.3.3.3 (Serial0/0), d=192.168.20.1 (Serial0/0), routed via RIB

O pacote inicial é recebido em serial1/0 do BB-R3 e enviado a cust-R2 de serial0/0 como esperado. O mesmo pacote chega para trás no ISP-R1 em serial0/0 e é enviado imediatamente para fora à mesma relação, a cust-R2, devido a esta rota:

ISP-R1# show ip route 192.168.20.1
Routing entry for 192.168.0.0/16, supernet
  Known via "static", distance 1, metric 0 (connected)
  Advertised by bgp 65501
  Routing Descriptor Blocks:
  * directly connected, via Serial0/0
      Route metric is 0, traffic share count is 1

Que acontece em cust-R2 que faz com que envie este tráfego de volta ao ISP-R1?

Em cust-R2:

*Oct  6 09:41:43.495: IP: s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), g=10.0.0.1, len 100, forward
*Oct  6 09:41:43.515: IP: tableid=0, s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), routed via RIB
*Oct  6 09:41:43.515: IP: s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), g=10.0.0.1, len 100, forward
*Oct  6 09:41:43.555: IP: tableid=0, s=10.3.3.3 (Serial2/0), d=192.168.20.1 (Serial2/0), routed via RIB

Nós vemos que cust-R2 envia estes pacotes de volta ao ISP-R1, devido a esta rota:

cust-R2# show ip route 192.168.20.1 longer-prefixes 
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is 10.0.0.1 to network 0.0.0.0

cust-R2#

O roteador cust-R2 não tem uma rota a 192.168.20.1 porque esta rede não é dentro uso na rede cliente, assim que a melhor ruta a 192.168.20.1 é a rota padrão que aponta ao ISP-R1.

O resultado é que os pacotes dão laços entre o ISP-R1 e o cust-R2 até que o TTL expire.

Note que se o pedido ICMP tinha ido a um endereço IP de Um ou Mais Servidores Cisco ICM NT dentro de uma rede que esteja no uso, este resultado não ocorreria. Por exemplo, se o pedido ICMP era para 192.168.1.x, que é conectado diretamente em cust-R2, nenhum dar laços ocorreria:

cust-R2# show ip rou 192.168.1.1
Routing entry for 192.168.1.0/24
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Routing Descriptor Blocks:
  * directly connected, via Ethernet0/0
      Route metric is 0, traffic share count is 1

A solução a este problema é configurar uma rota estática ao null0 para 192.168.0.0/16 em cust-R2.

cust-R2# conf t
Enter configuration commands, one per line.  End with CNTL/Z.
cust-R2(config)# ip route 192.168.0.0 255.255.0.0 Null0
cust-R2(config)# end
cust-R2#
*Oct  6 09:53:18.015: %SYS-5-CONFIG_I: Configured from console by console
cust-R2# show ip route 192.168.20.1
Routing entry for 192.168.0.0/16, supernet
  Known via "static", distance 1, metric 0 (connected)
  Routing Descriptor Blocks:
  * directly connected, via Null0
      Route metric is 0, traffic share count is 1

Se nós enviamos novamente agora o pedido ICMP do BB-R3 a 192.168.20.1, cust-R2 envia este tráfego ao null0, que provoca um ICMP não alcançável a ser gerado.

BB-R3# p ip 192.168.20.1 repeat 1

Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.20.1, timeout is 2 seconds:
U
Success rate is 0 percent (0/1)
BB-R3#
*Oct  6 09:54:33.051: ICMP: dst (10.3.3.3) host unreachable rcv from 10.0.0.2

Nota: Pode haver as situações onde o uso de uma rota estática sumária ao null0 não é praticável. Por exemplo, se no exemplo anterior:

  • O bloco 192.168.1.0/24 é conectado a um outro roteador que disque em cust-R2 através do ISDN

  • O ISP-R1 não atribui 192.168.0.0/16 mas somente 192.168.1.0/24

  • Uma desconexão do enlace de ISDN ocorre

Nota: O resultado seria que os pacotes no trânsito ou nos aplicativos que tentam alcançar este bloco de endereços IP de Um ou Mais Servidores Cisco ICM NT criam o mesmo loop de roteamento descrito mais cedo.

Nota: Para fixar este loop de roteamento, você deve usar o comando 200 do null0 de 192.168.1.0 255.255.255.0 da rota IP configurar uma Rota estática flutuante ao null0 para 192.168.1.0/24. Os 200 no comando são a distância administrativa. Refira o que é distância administrativa? para obter mais informações.

Nota: Porque nós usamos uma distância administrativa mais alta do que todo o protocolo de roteamento, se a rota a 192.168.1.0/24 através do enlace de ISDN se torna inativa, cust-R2 instala uma Rota estática flutuante. Os pacotes estão enviados então ao null0 até que o enlace de ISDN se torne ativo.


Informações Relacionadas


Document ID: 14956