Cele:
- Skonfiguruj EBGP pomiędzy AS 1 i AS 2 oraz pomiędzy AS 3 i AS 4.
- Skonfiguruj EBGP pomiędzy AS 2 i AS 3. Do wysyłania aktualizacji BGP użyj
interfejsów Loopback. - Rozgłoś interfejsy Loopback w BGP od wszystkich routerów. Upewnij się, że mają pełną łączność.
Adresy IP routerów:
R1
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.12.1/24 |
Loopback 0 | 1.1.1.1/24 |
R2
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.12.2/24 |
FastEthernet 1/0 | 10.0.23.2/24 |
Loopback 0 | 2.2.2.2/24 |
R3
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.23.3/24 |
FastEthernet 1/0 | 10.0.34.3/24 |
Loopback 0 | 3.3.3.3/24 |
R4
Interfejs | IP |
---|---|
FastEthernet 0/0 | 10.0.34.4/24 |
Loopback 0 | 4.4.4.4/24 |
Schemat sieci:
Router: 3640
IOS: c3640-jk9o3s-mz.124-16a.bin
Rozwiązanie
Skonfiguruj EBGP pomiędzy AS 1 i AS 2 oraz pomiędzy AS 3 i AS 4.
W zadaniu tym skupiamy się na konfiguracji EBGP pomiędzy czterema różnymi systemami autonomicznymi. Każdy z routerów tworzy odrębny AS. Zaczynamy od ustanowienia sesji BGP pomiędzy R1 i R2 oraz R3 i R4:
R1(config)#router bgp 1 R1(config-router)#neighbor 10.0.12.2 remote-as 2
R2(config)#router bgp 2 R2(config-router)#neighbor 10.0.12.1 remote-as 1
R3(config)#router bgp 3 R3(config-router)#neighbor 10.0.34.4 remote-as 4
R4(config)#router bgp 4 R4(config-router)#neighbor 10.0.34.3 remote-as 3
Sprawdzimy status sesji BGP na R1:
R1#show ip bgp summary BGP router identifier 1.1.1.1, local AS number 1 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.12.2 4 2 5 5 1 0 0 00:02:11 0
Jego sąsiadem jest router o adresie IP 10.0.12.2 (czyli R2), który znajduje się w AS numer 2, a sesja pomiędzy nimi została nawiązana ponad 2 minuty temu. Routery korzystają z wersji 4 (V 4) protokołu BGP. Jak dotąd R2 nie rozgłasza żadnych sieci w BGP. Sytuacja wygląda podobnie pomiędzy R3 i R4:
R3#show ip bgp summary BGP router identifier 3.3.3.3, local AS number 3 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.34.4 4 4 4 4 1 0 0 00:01:46 0
Skonfiguruj EBGP pomiędzy AS 2 i AS 3. Do wysyłania aktualizacji BGP użyj
interfejsów Loopback.
W tym kroku nawiążemy sesję BGP pomiędzy R2 i R3 z tą różnicą, że aktualizacje BGP wysyłane będą przy pomocy interfejsów Loopback. Musimy najpierw wpisać 2.2.2.2 oraz 3.3.3.3 do tablicy routingu, w przeciwnym razie komunikacja nie będzie możliwa. Wpisy te dodamy statycznie na R2 i R3:
R2(config)#ip route 3.3.3.3 255.255.255.255 fastEthernet 1/0
R3(config)#ip route 2.2.2.2 255.255.255.255 fastEthernet 0/0
Sprawdzamy łączność:
R2#ping 3.3.3.3 source loopback 0 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: Packet sent with a source address of 2.2.2.2 !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/11/20 ms
Wracamy do BGP:
R2(config)#router bgp 2 R2(config-router)#neighbor 3.3.3.3 remote-as 3 R2(config-router)#neighbor 3.3.3.3 update-source loopback 0 R2(config-router)#neighbor 3.3.3.3 ebgp-multihop 2
R3(config)#router bgp 3 R3(config-router)#neighbor 2.2.2.2 remote-as 2 R3(config-router)#neighbor 2.2.2.2 update-source loopback 0 R3(config-router)#neighbor 2.2.2.2 ebgp-multihop 2
W EBGP domyślnie możemy zestawić sesję tylko z bezpośrednio połączonym routerem (TTL jest ustawiony na 1). Routery R2 i R3 połączone są ze sobą przez FastEthernet, ale my do wysyłania pakietów BGP korzystamy z interfejsów Loopback. Tak więc mamy jeden dodatkowy „skok” i musimy użyć opcji ebgp-multihop 2 (TTL = 2). Sprawdzamy status BGP na R2:
R2#show ip bgp summary BGP router identifier 2.2.2.2, local AS number 2 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 3.3.3.3 4 3 9 9 1 0 0 00:05:03 0 10.0.12.1 4 1 21 21 1 0 0 00:18:30 0
Nawiązał on sesję BGP z dwoma sąsiadami, R1 (10.0.12.1) oraz nowo skonfigurowany R3 (3.3.3.3).
Rozgłoś interfejsy Loopback w BGP od wszystkich routerów. Upewnij się, że mają pełną łączność.
Każdy z routerów ma jeden interfejs Loopback. Rozgłosimy teraz te sieci w BGP:
R1(config)#router bgp 1 R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 2 R2(config-router)#network 2.2.2.0 mask 255.255.255.0
R3(config)#router bgp 3 R3(config-router)#network 3.3.3.0 mask 255.255.255.0
R4(config)#router bgp 4 R4(config-router)#network 4.4.4.0 mask 255.255.255.0
Zobaczmy teraz sytuację na R1:
R1#show ip bgp BGP table version is 5, local router ID is 1.1.1.1 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 *> 1.1.1.0/24 0.0.0.0 0 32768 i *> 2.2.2.0/24 10.0.12.2 0 0 2 i *> 3.3.3.0/24 10.0.12.2 0 2 3 i *> 4.4.4.0/24 10.0.12.2 0 2 3 4 i
R1#show ip route bgp 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 10.0.12.2, 03:47:56 3.0.0.0/24 is subnetted, 1 subnets B 3.3.3.0 [20/0] via 10.0.12.2, 03:47:25 4.0.0.0/24 is subnetted, 1 subnets B 4.4.4.0 [20/0] via 10.0.12.2, 03:46:54
Mamy wszystkie sieci. Widzimy, że np. trasa do 4.4.4.0/24 prowadzi przez AS 2, 3 i 4 (Path), co też pasuje do naszego schematu sieci. Dystans administracyjny (administrative distance) dla tras z EBGP wynosi 20. Sprawdźmy łączność:
R1#ping 2.2.2.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/9/12 ms
Ping do R2 przeszedł. Sprawdźmy dalej:
R1#ping 3.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: ..... Success rate is 0 percent (0/5)
Tutaj już problem. Router R1 wysyła pakiet do R3 (interfejs Loopback), ale adres źródłowy pakietu ICMP to 10.0.12.1 (czyli adres jego interfejsu FastEthernet 0/0). R3 w swojej tablicy routingu nie ma trasy do linku pomiędzy R1-R2, dlatego nie może wysłać odpowiedzi do R1 (poniżej debug pakietów ICMP na R3):
R3#debug ip icmp ICMP packet debugging is on R3# *Mar 1 04:46:56.946: ICMP: echo reply sent, src 3.3.3.3, dst 10.0.12.1
Rozwiązaniem jest rozgłoszenie sieci 10.0.12.0/24 w BGP:
R1(config)#router bgp 1 R1(config-router)#network 10.0.12.0 mask 255.255.255.0
Sprawdzamy tablicę routingu na R3:
R3#show ip route bgp 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/0] via 2.2.2.2, 03:38:12 2.0.0.0/8 is variably subnetted, 2 subnets, 2 masks B 2.2.2.0/24 [20/0] via 2.2.2.2, 03:37:41 4.0.0.0/24 is subnetted, 1 subnets B 4.4.4.0 [20/0] via 10.0.34.4, 03:36:51 10.0.0.0/24 is subnetted, 3 subnets B 10.0.12.0 [20/0] via 2.2.2.2, 00:00:19
oraz jeszcze raz ping:
R1#ping 3.3.3.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 3.3.3.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 12/17/28 ms
Tym razem działa. Testujemy dalej ping z R1 do R4:
R1#ping 4.4.4.4 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4.4.4.4, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/44 ms
Tutaj też bez problemów, ponieważ rozgłosiliśmy już sieć 10.0.12.0/24 w BGP.
Podobny problem będziemy mieć pingując z R2 do R4 (R4 nie ma trasy do 10.0.23.0/24) oraz pingując z routera R4 sieci 2.2.2.0/24 lub 1.1.1.0/24 (R1 i R2 nie mają tras do 10.0.34.0/24). W tym celu poprawimy konfigurację BGP
R2(config)#router bgp 2 R2(config-router)#network 10.0.23.0 mask 255.255.255.0
R4(config)#router bgp 4 R4(config-router)#network 10.0.34.0 mask 255.255.255.0
Po tym zabiegu mamy pełną łączność, tablica routingu przykładowo z R4:
R4#show ip route | begin Gateway Gateway of last resort is not set 1.0.0.0/24 is subnetted, 1 subnets B 1.1.1.0 [20/0] via 10.0.34.3, 03:44:31 2.0.0.0/24 is subnetted, 1 subnets B 2.2.2.0 [20/0] via 10.0.34.3, 03:44:01 3.0.0.0/24 is subnetted, 1 subnets B 3.3.3.0 [20/0] via 10.0.34.3, 03:43:30 4.0.0.0/24 is subnetted, 1 subnets C 4.4.4.0 is directly connected, Loopback0 10.0.0.0/24 is subnetted, 3 subnets B 10.0.12.0 [20/0] via 10.0.34.3, 00:06:38 B 10.0.23.0 [20/0] via 10.0.34.3, 00:03:05 C 10.0.34.0 is directly connected, FastEthernet0/0
Ma on wpisy do wszystkich sieci, zarówno do interfejsów Loopback jak i do linków pomiędzy AS 1 – AS 2 oraz AS 2 – AS 3.
0 Komentarze.