Pruebas de tránsito de AS en BGP

Fecha: 4 y 5 de diciembre del 2014 Clase: in-company a empresa #########

 

Escenario

 

 

 

En este escenario se simula un ISP con  acceso a carriers diferentes, la obtención de rutas por defecto y la preferencia

de las mismas entre cada uno. También se analiza el proceso de tránsito por el AS y como detenerlo.

 

Estas pruebas fueron realizadas en Packet Tracert (tránsito) y con equipos reales (filtro de tránsito).

 

Verificación inicial

 

ISP_3#sh ip route (en la tabla de enrutamiento)

---resumido---

Gateway of last resort is 200.45.0.1 to network 0.0.0.0

 

* 0.0.0.0/32 is subnetted, 1 subnets

B* 0.0.0.0 [20/0] via 200.45.0.1, 00:24:06 (AS 100)

180.0.0.0/29 is subnetted, 1 subnets

B 180.0.0.0 [20/0] via 200.45.0.1, 00:24:06 (AS 100)

190.0.0.0/29 is subnetted, 1 subnets

B 190.0.0.0 [20/0] via 200.69.0.1, 00:24:06 (AS 200)

C 200.0.0.0/24 is directly connected, Ethernet0/0/0

D 200.2.0.0/24 [90/284160] via 200.0.0.2, 00:23:33, Ethernet0/0/0

D 200.3.0.0/24 [90/284160] via 200.0.0.3, 00:23:33, Ethernet0/0/0

200.45.0.0/30 is subnetted, 1 subnets

C 200.45.0.0 is directly connected, FastEthernet0/0

200.69.0.0/30 is subnetted, 1 subnets

C 200.69.0.0 is directly connected, FastEthernet0/1

ISP_3#

 

ISP_3#sh ip bgp (en la tabla propia de BGP)

BGP table version is 8, local router ID is 200.69.0.2

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network               Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0/32          200.45.0.1               0          0                0        100 ? (prefiere esta ruta según el router-id mas bajo)

*                             200.69.0.1               0              0              0        200 ? ( ? es una ruta redistribuida en BGP)

*> 180.0.0.0/29      200.45.0.1               0           0              0        100 i  ( i  es una ruta advertida por el comando network)

*> 190.0.0.0/29      200.69.0.1               0           0             0          200 i

*> 200.0.0.0/24         0.0.0.0                   0           0     32768                 i

*> 200.2.0.0/24      200.0.0.2                 0           0            0           300 ?

*> 200.3.0.0/24      200.0.0.3                 0           0            0           300 ?

 

ISP_3#

 

Prueba de caída del ISP_1

 

Con esta prueba se verifica la redundancia de las salida a internet por el enlace de respaldo.

 

 

%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to down

%BGP-5-ADJCHANGE: neighbor 200.45.0.1 Down Interface flap

%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to down

 

ISP_3#sh ip route (verificación)

---resumido---

Gateway of last resort is 200.69.0.1 to network 0.0.0.0

 

* 0.0.0.0/32 is subnetted, 1 subnets

B* 0.0.0.0 [20/0] via 200.69.0.1, 00:22:48 (vía ISP_2)

190.0.0.0/29 is subnetted, 1 subnets

B 190.0.0.0 [20/0] via 200.69.0.1, 00:22:48

C 200.0.0.0/24 is directly connected, Ethernet0/0/0

D 200.2.0.0/24 [90/284160] via 200.0.0.2, 00:13:05, Ethernet0/0/0

D 200.3.0.0/24 [90/284160] via 200.0.0.3, 00:06:19, Ethernet0/0/0

200.69.0.0/30 is subnetted, 1 subnets

C 200.69.0.0 is directly connected, FastEthernet0/1

ISP_3#

 

Prueba de tránsito por el AS 300

 

Se reestablece el vínculo a ISP 1 (AS 100), la prueba se realiza desde el router perteneciente al ISP 2 (AS 200), este

tráfico se debería alcanzar por un NAP u otro punto de acceso a internet, y no por el sistema autónomo 300.

 

Internet_2#trace 180.0.0.2 (IP del router Internet_1 en el AS 100)

Type escape sequence to abort.

Tracing the route to 180.0.0.2

 

1 190.0.0.1 0 msec 0 msec 0 msec

2 200.69.0.2 0 msec 0 msec 1 msec (entra al AS 300)

3 200.45.0.1 0 msec 1 msec 0 msec (sale del AS 300)

4 180.0.0.2 0 msec 0 msec 0 msec

Internet_2#

 

ISP_2#sh ip route (verificación en AS 200)

---resumido---

Gateway of last resort is 190.0.0.2 to network 0.0.0.0

 

B    200.0.0.0/24 [20/0] via 200.69.0.2, 00:10:26

     200.69.0.0/30 is subnetted, 1 subnets

C       200.69.0.0 is directly connected, Serial0/0

     190.0.0.0/29 is subnetted, 1 subnets

C       190.0.0.0 is directly connected, Ethernet0/0

     172.16.0.0/30 is subnetted, 3 subnets

C       172.16.0.8 is directly connected, Loopback2

C       172.16.0.4 is directly connected, Loopback1

C       172.16.0.0 is directly connected, Loopback0

     180.0.0.0/29 is subnetted, 1 subnets

B       180.0.0.0 [20/0] via 200.69.0.2, 00:10:27

S*   0.0.0.0/0 [1/0] via 190.0.0.2

ISP_2#

 

ISP_2#sh ip bgp

BGP table version is 8, local router ID is 172.16.0.9

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0             190.0.0.2                0                  32768     ?

*                            200.69.0.2            0                               300 100 ? (AS 100 vía AS 300)

*> 180.0.0.0/29     200.69.0.2            0                              300 100 i  (AS 100 vía AS 300)

*> 190.0.0.0/29     0.0.0.0                  0                   32768         i

*> 200.0.0.0          200.69.0.2            0                            0 300 i

ISP_2#

 

Aplicación del filtro de tránsito

 

Utilizando un filter-list que compare el atributo AS PATH contra una access-list es probablemente la mejor solución.

Esto asegura que siempre sean advertidos prefijos de nuestro propio AS.

 

La expresión ^$ asegura que sean advertidos sólo los prefijos locales, evitando reenviar información de otros AS al exterior.

 

ISP_3(config)#ip as-path access-list 1 permit ^$

ISP_3(config)#router bgp 300

ISP_3(config-router)#neighbor 200.45.0.1 filter-list 1 out

ISP_3(config-router)#neighbor 200.69.0.1 filter-list 1 out

ISP_3(config-router)#^Z

ISP_3#

 

ISP_2#sh ip route (verificación)

---resumido---

Gateway of last resort is 190.0.0.2 to network 0.0.0.0

 

B    200.0.0.0/24 [20/0] via 200.69.0.2, 00:13:52  (no existe la ruta a 180.0.0.0/29 aprendida anteriormente desde el AS 300)

     200.69.0.0/30 is subnetted, 1 subnets

C       200.69.0.0 is directly connected, Serial0/0

     190.0.0.0/29 is subnetted, 1 subnets

C       190.0.0.0 is directly connected, Ethernet0/0

S*   0.0.0.0/0 [1/0] via 190.0.0.2

ISP_2#

 

ISP_2#sh ip bgp (verificación)

BGP table version is 14, local router ID is 172.16.0.9

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 0.0.0.0           190.0.0.2                0                    32768         ?

*> 190.0.0.0/29     0.0.0.0                0                    32768         i

*> 200.0.0.0    200.69.0.2                0                             0 300 i  (no existe 180.0.0.0/29 aprendida anteriormente desde el AS 300)

ISP_2#

 

 

(2014) St. Claus learned networking for deliver packets ?

Rosario, Argentina