Mam dwie witryny, A i B, w BGP AS 65000, a trzecią witrynę, C, w AS 65001. Wszystkie trzy witryny mają łączność za pośrednictwem przewoźnika MPLS i istnieje wewnętrzna łączność między witrynami A i B. Próbuję wpłynąć na BGP tak, że ruch z witryny A do witryny C będzie kierowany przez łącze MPLS strony A, a ruch z witryny B do witryny C będzie kierowany przez łącze MPLS strony B. Topologia jest podobna do opisanej w tym przykładzie .
Routery brzegowe w lokalizacjach A i B będą widzieć swoje własne łącze MPLS jako najlepszą ścieżkę, ponieważ trasy EBGP są lepsze niż trasy IBGP. Jednak routery znajdujące się dalej w AS 65000 będą preferowały jedno lub drugie łącze. Moim celem jest wymuszenie na wszystkich routerach w obu witrynach wyboru najbliższego łącza. (Obecnie nie jestem w stanie podzielić dwóch witryn na osobne AS).
Czy istnieje rozsądny sposób, aby to osiągnąć, jednocześnie umożliwiając łączenie awaryjne z lokacją C między linkami lokacji A i B.
Edycja: Powinienem zauważyć, że nie stosuje się tutaj IGP. W rzeczywistości sieci w każdej lokalizacji istnieją w VRF jako część znacznie, znacznie większej sieci. Jako takie, każde rozwiązanie musi być całkowicie oparte na BGP.
Odpowiedzi:
Czy istnieje jasna definicja między ośrodkiem A a ośrodkiem B?
Jeśli tak, to chciałbym zdefiniować zasady na routerach brzegowych, aby wstrzyknąć społeczność podczas odbierania tras od przewoźnika MPLS.
Po umieszczeniu tej społeczności w prefiksach (powiedzmy 100: 1 dla strony A i 100: 2 dla strony B), możesz następnie dodać politykę do każdego routera strony A, aby zwiększyć LP dla dowolnych tras ze społecznością 100: 1 i podobnie jest w przypadku witryny B ze społecznością 100: 2.
To rozwiązanie byłoby zgodne z wymogiem używania tylko BGP, a także byłoby wystarczająco elastyczne, aby B nadal mógł korzystać z łącza wysyłającego A, jeśli utraciłoby własne łącze wysyłające do przewoźnika.
źródło
Kiedy zrobiłem coś podobnego, nie korzystałem z eBGP między routerami. Miałem router mówiący BGP wysyłał tylko domyślną trasę do routerów Strony A i Strony B za pośrednictwem OSPF, a następnie redystrybuował trasy OSPF do BGP. Na łączu między dwiema stronami zastosowałem koszt OSPF.
Dzięki temu witryna A może mieć trasy do swoich sieci, sieci witryny B i domyślną trasę wydostania się z witryny A (koszt OSPF utrzymuje domyślną trasę z witryny B jako dodatkową opcję w przypadku utraty łącza do witryny A). Witryna A będzie rozmawiać bezpośrednio z witryną B, nie używając MPLS, chyba że wystąpi awaria łącza między stronami.
Również koszty OSPF przekładają się na BGP MED podczas redystrybucji, co powoduje, że sieć MPLS przewoźnika woli przesyłać ruch z Witryny A bezpośrednio do Witryny A, ale także w razie potrzeby korzystać z Witryny B, aby dostać się do Witryny A.
źródło
Czuję, że brakuje niektórych informacji. Dlaczego routery brzegowe nie preferują już najlepszej ścieżki?
Czy masz iBGP z pełną siatką w 65000? A może używasz odbicia trasy?
Jeśli masz iBGP z pełną siatką, to każdy router krawędziowy uczy się trasy od obu [AB] i będzie uciekał się do porównania kosztu IGP do następnego przeskoku, co powinno przełożyć się na najbliższą ramkę.
Jeśli istnieje odbicie trasy, będzie ono odzwierciedlać tylko najlepszą trasę z własnego POV, co może usunąć przekazywanie najlepszej ścieżki. Można to naprawić, dodając kolejną RR, która wybierze inną trasę jako najlepszą, a następnie pola krawędzi ponownie mogą wybrać najlepszą trasę. Jeśli ustalenie RR nie jest możliwe, to tak. Możesz dodać ten sam adres IPV4 w obu pętlach zwrotnych tras granicznych, a kiedy routery graniczne reklamują prefiks RR, ustawią następny przeskok na ten adres anycast. Następnie, nawet po refleksji, podążasz za IGP do najbliższej granicy.
źródło
Jeśli masz kontrolę nad IGP:
To, co zrobiliśmy, to mieć tylko routery eBGP w siatce iBGP. Reszta naszych wewnętrznych routerów to routery OSPF. Redystrybuujemy z BGP do OSPF w ramach każdego AS. Nasza konfiguracja różni się nieco od twojej, ale to powinno pozwolić metryki kosztu OSPF wpływać na ruch ścieżki, kierując go do najbliższego routera eBGP.
Jeśli nie masz kontroli nad IGP:
Być może możesz zastosować zasady importu do routerów wewnętrznych, aby statycznie preferowały ogłoszenia trasy żądanego wyjścia routera eBGP. Na przykład, jeśli iBGP zawiera dwa ogłoszenia dla danego prefiksu (jeden z routera ze strony A i jeden z routera ze strony B, ale tylko jeden jest zainstalowany w RIB), możesz lokalnie wstępnie ustawić żądane ogłoszenie, gdy tylko przyjdzie w środku. Musiałbym to sprawdzić, ale nie rozumiem, dlaczego to nie zadziała.
źródło