Jak zdiagnozować pętlę pomostową (Ethernet)?


43

Biorąc pod uwagę, że drzewo opinające uległo awarii (lub nie masz żadnego drzewa opinającego) i otrzymałeś pętlę Ethernet, jaki jest najlepszy sposób na zdiagnozowanie, gdzie jest problem?

Który przełącznik ?, który kabel? i tak dalej.


Czy jakaś odpowiedź ci pomogła? jeśli tak, powinieneś zaakceptować odpowiedź, aby pytanie nie wyskakiwało wiecznie, szukając odpowiedzi. Alternatywnie możesz podać i zaakceptować własną odpowiedź.
Ron Maupin

Odpowiedzi:


31

OK, więc załóżmy, że masz topologię taką jak:

          SW1
         /   \
        /     \
       /       \
PC A--SW2-----SW3--PC B

Z jakiegoś powodu istnieje pętla pomostowa, STP jest wyłączone lub ktoś zastosował filtr w niewłaściwym miejscu.

Komputer A chce komunikować się z komputerem B. Najpierw ARP dla MAC komputera B, miejscem docelowym jest transmisja z MAC ffff.ffff.ffff. Ramka trafia więc zarówno do SW1, jak i SW3. SRC MAC to PC A. SW1 następnie zalewa ramkę w kierunku SW3, a SW3 zaleją ramkę od SW2 do SW1.

SW1 i SW3 nauczyły się MAC komputera A, gdy pojawiła się pierwsza ramka. Kiedy druga nadchodzi z przeciwnego kierunku, musi ją ponownie nauczyć. Ponieważ te zdarzenia występują tak szybko i wielokrotnie, zobaczysz komunikaty dziennika narzekające na trzepotanie MAC. Coś w stylu „MAC FLAP 0000.0000.0001 trzepocze między Gi0 / 24 a Gi0 / 23”. To dobry znak, że masz pętlę.

Co możesz wtedy zrobić, to spróbować prześledzić ten MAC. Spróbuj przeszukać pamięć podręczną ARP urządzenia w tej samej podsieci i sprawdź, jaki adres IP ma to urządzenie. Tak więc z MAC możesz spróbować prześledzić go za pomocą sh-tablicy-adresów-mac lub z adresem IP, może masz listę ze wszystkimi adresami IP i miejscem ich połączenia.

Jeśli host otrzyma adres IP z serwera DHCP, możesz również spróbować tam znaleźć skąd pochodzi. Jeśli masz włączoną opcję 82, byłoby to bardzo pomocne.

Inne oznaki są takie, że CLI będzie bardzo powolny. Obciążenie procesora będzie bardzo wysokie. Przełączniki wykonują prawie wszystko w układach ASIC, więc jeśli przełącznik ma obciążenie procesora powyżej 50%, prawdopodobnie nie jest to dobre. Należy wdrożyć monitorowanie SNMP i uważać na duże obciążenie procesora. Poszukaj również wiadomości klap MAC. Jeśli przełączniki mają pętlę, diody LED prawdopodobnie będą migać jak szalone.

Co możesz zrobić, aby zabezpieczyć się przed pętlami:

  • Włącz STP! (duh)
  • Monitorowanie obciążenia procesora przez SNMP
  • Włącz pułapki SNMP dla niektórych zdarzeń, takich jak zmiany topologii STP
  • Włącz kontrolę burzy na portach, aby ograniczyć emisję
  • Nie rozpinaj zbyt mocno sieci VLAN w topologii L2
  • Włącz zabezpieczenia portów i ogranicz liczbę adresów MAC na port
  • Włącz Option82, jeśli korzystasz z DHCP

Muszę powiedzieć, że element obciążenia procesora trochę mnie zaskakuje. Nie widziałem tego wcześniej podczas mostkowania pętli, chociaż całe moje doświadczenie w radzeniu sobie z nimi dotyczy sprzętu ProCurve. Na nich CLI nigdy nie wydawał się powolny.
Paul Gear

Ciekawy. Może HP robi coś innego niż Cisco. niektóre rzeczy, które mogłyby na to wpłynąć, to szybkość interfejsów zaangażowanych w pętlę. Jeśli jest to emisji pojedynczej lub emisji. Jeśli przełącznik ma SVI w vlan, czy nie.
Daniel Dib

1
Tak - trochę dziwne. Wydawało mi się, że wszystkie te rzeczy (oprócz kwestii zmiany adresu IP) byłyby w krzemie ...
Paul Gear

Właściwie teraz, kiedy o tym myślę, jestem prawie pewien, że nigdy nie mieliśmy przełącznika IP w sieci VLAN, której dotyczy problem. Wszystkie nasze łącza do przełączania w tej witrynie były nieoznaczone w tranzytowej sieci VLAN, która nie zawierała żadnych adresów IP zarządzania.
Paul Gear

22

Jeden z moich użytkowników niedawno pożyczył przełącznik na pulpicie od czyjegoś biurka. Po zwróceniu przełącznika podłączyli wszystkie luźne końce sieci Ethernet, które były w pobliżu. Jeden z tych kabli trafił do sieci, a drugi miał dwa końce tego samego kabla. Przełącznik pulpitu został podłączony do sieci, a także podłączony do siebie. Przełącznik nie miał STP, więc transmisje przychodzące z sieci zapętlałyby drugi kabel w obu kierunkach. Oczywiście za każdym razem, gdy sygnał odbierany był na zapętlonych portach, jest replikowany z powrotem do sieci. Doprowadziło to HSRP do absolutnego szaleństwa i - z powodu złego projektu - spowodowało również awarie sąsiedztwa OSPF w całym kampusie.

Pierwszą oznaką problemu był Macflap przesłany na mój e-mail. To natychmiast doprowadziło nas do właściwej szafy na okablowanie. Stamtąd był to proces eliminacji oparty na diodach LED portu, interfejsie pps i logach. Nie trzeba dodawać, że od tego czasu ponownie zarchiwizowałem cały kampus. Najlepszym środkiem zapobiegawczym jest prawdopodobnie bpduguard. Od tego czasu wdrożyłem tę funkcję i było to dość proste. Otrzymanie tego błędnego dziennika systemowego w moim e-mailu jest niczym innym jak rozkoszą.


3
Niestety, wiadomości dziennika MAC Flaps są bezużyteczne, jeśli masz jakieś punkty dostępowe WIFI podłączone do różnych przełączników, ponieważ użytkownicy wędrujący od jednego AP do drugiego spowodują taki komunikat. BPDU Guard (lub podobne mechanizmy) to MUSI na przełącznikach dostępu. Jeśli jesteś leniwy, możesz również wstawić instrukcję „errdisable recovery cause bpduguard”, która powoduje, że porty ustawione na blokowanie błędów są automatycznie przełączane w stan przekazywania po 5 minutach, więc nie trzeba resetować portu w konfiguracji po rozłączeniu naruszający kabel
Remi Letourneau,

1
> Stamtąd był to proces eliminacji oparty na diodach LED portu ... Ach, Das Blinkenlichten.
Arthur Kay

11

W przypadku większości urządzeń procesor strzela do 100%, a jedyne, co możesz zrobić, to przerwać zbędne połączenia fizyczne. Gdy procesor się uspokoi, możesz ponownie podłączyć linki jeden po drugim i zobaczyć, który z nich ponownie powoduje pętlę.

W przypadku dużego podwozia (jak 6500) musiałem wyciągnąć wszystkie ostrza i podłączyć je z powrotem po jednym na raz. Kiedy już zorientowałem się, które ostrze, musiałem wyciągnąć wszystkie poszczególne linki (16 GBIC) i umieścić je z powrotem w jednym. Nigdy nie zabawne.

Niektóre bardziej nowoczesne urządzenia mają chroniony procesor, co powinno ułatwić sobie z tym sprawę - nadal możesz wchodzić w interakcje z urządzeniem. W tym momencie możliwe staje się spojrzenie na liczniki ruchu i takie w celu ustalenia nieprawidłowego działania łącza.


11

Niedawno zacząłem w firmie, w której używają limitów transmisji na każdym porcie. Jeśli port przekracza> 5% swojej pojemności podczas emisji, przełącznik przełącza go w tryb ERRDISABLE.

 storm-control broadcast level 5.00  
 storm-control action shutdown

Jest to ratowanie życia, gdy jedna grupa ma tendencję do podłączania urządzeń, które łączą sieci bezprzewodowe z siecią LAN.

Chociaż w przypadku twojego rzeczywistego pytania zawsze uważałem, że ma charakter ręczny.


9

dla IOS:

Prawdopodobnie adresy MAC będą trzepotały między portami. Poszukaj MAC_MOVE_NOTIFICATION(lub podobnych) błędów w:

sh logg

Teraz, aby znaleźć port:

sh int g0/1 controller

szukać nietypowych Multicasti Broadcastliczb. Wszelkie kolizje są złym znakiem.

Na koniec nie można się zalogować, ponieważ procesor jest pwned :)

sh proc cpu

Jak działa przełącznik? Jeśli jest to tylko przełącznik L2, nie chcesz niczego powyżej ~ 10%


9

W przypadku niezarządzanego lub równoważności niezarządzanego (brak szczegółowych danych logowania lub znajomości systemu operacyjnego przełącznika itp.), Przełączników i pętli mostkowej, opiszę, w jaki sposób zająłbym się znalezieniem pętli ręcznie. Odnosi się to również do podstawowego dna pierwotnego pytania: „nie masz STP”.

Podstawowy algorytm lokalizowania błędów w tej pętli jest podobny do STP, z tym wyjątkiem, że nie masz łatwego dostępu do wysyłania jednostek BPDU z identyfikatorami portów.

  • Najpierw podłącz urządzenie obsługujące zrzut / sniffing pakietów do portu w jednym z przełączników. To urządzenie stało się teraz urządzeniem głównym twojego drzewa.
    • Jeśli musisz zlokalizować usterkę w wielu lokalizacjach, np. W „kampusie” lub podobnym, zyskasz dzięki możliwości zdalnego logowania się za pomocą przenośnego klienta ssh na maszynie zrzucającej pakiety.
      • Osobiście używałbym mojego laptopa z Linuksem z połączeniem internetowym z tcpdump na ekranie i ssh do niego na przykład z iPada lub telefonu.
    • Jeśli nie możesz się zalogować zdalnie, użyj przyjaciela do wizualnego monitorowania tcpdump, który prawdopodobnie zalewa prędkość łącza, dzięki czemu łatwo zauważyć różnicę, gdy ścieżka do urządzenia źródłowego pętli zostanie odłączona.
  • Następnie będziesz musiał zasadniczo odtworzyć drzewo, zaczynając od przełącznika głównego.
    1. A ponieważ możesz mieć scenariusz, w którym masz wiele zapętlonych łączy zasilających urządzenie root, musisz zacząć od usunięcia wszystkich połączonych portów jednocześnie.
    2. Ponownie podłącz porty jeden po drugim, a jeśli w dowolnym momencie ponownie pojawi się pakiet, podążaj za tym portem do podłączonego przełącznika na drugim końcu.
    3. Powtarzaj krok 1, aż znajdziesz zapętlone porty i nie możesz przejść dalej w drzewie instrukcji.
    4. Po rozwiązaniu sytuacji pętli w tym przełączniku wróć do przełącznika powyżej w drzewie i wznów krok 2. Ta rekurencja trwa do końca, aż do ponownego podłączenia ostatniego kabla do przełącznika głównego.

Jest to całkowicie wyczerpujące ręczne wyszukiwanie zapętlonych portów.

Zwykle będzie tylko jedna para portów, które są zapętlone, co oznacza, że ​​wyczerpujące i bezpieczne wyszukiwanie z usunięciem najpierw wszystkich połączonych portów (linków), a następnie ich ponownym połączeniem nie jest konieczne. Jeśli tylko jedna para portów w dół „drzewko” jest zapętlone, możesz je znaleźć, po prostu odłączając jeden port na raz.

Niemniej jednak ogólna, „odporna na faul” metoda, algorytm staje się tym, co opisałem powyżej.


7

Ojej. Ale ok, mogę wymyślić dwa sposoby, w które mógłbym pójść na to ...

Eyeball it: Jeśli przełączniki mają wskaźniki portów, powinieneś być w stanie sprawdzić, które porty są najbardziej aktywne. To oni zaczynają patrzeć na początku. Mamy nadzieję, że kable są oznakowane, dzięki czemu możesz wyszukać nisko zawieszony owoc znalezienia dwóch zajętych portów na dwóch przełącznikach z tym samym kablem.

Monitorowanie SNMP: Jeśli masz statystyki użytkowania SNMP (lub podobne), poszukaj najbardziej obciążonego przełącznika i najbardziej obciążonych portów. Następnie spójrz na kable.

... jeśli masz nieoznaczone kable, rozpocznij śledzenie i etykietowanie w ramach sprawdzania najbardziej obciążonych portów.


2
Pułapka SNMP byłaby lepsza niż odpytywanie SNMP, które zwykle wykonuje się tylko raz na 300 sekund. Powódź i kolejne załamanie mogą nastąpić tak szybko, że SNMP nie monitoruje niczego. Nadal pomocne są monitory SNMP, które nie odbierają danych z przełączników, które nie nadążają, może dać punkt wyjścia.
generalnetworkerror

3

Odpowiem na to pytanie, opierając się na założeniu, że istnieje pełna awaria dla danej domeny warstwy 2 i że nie masz dostępu do zarządzania, ponieważ wszystkie procesory są powiązane.

Najlepszym sposobem rozwiązania problemu z zapętleniem mostka jest rozpoczęcie odłączania łączy w górę, dopóki nie zniknie. Załóżmy, że masz standardową przełączaną warstwę dostępu ze wszystkimi przełącznikami dostępu podłączonymi do pary przełączników dystrybucji. Przejdź do pierwszego przełącznika dostępu i odłącz łącza ładujące, jeśli diody LED portów przełączników przestaną działać mentalnie, to nie jest ten przełącznik, podłącz go z powrotem i przejdź do następnego. Powtarzaj, aż dojdziesz do przełącznika, w którym odłączyłeś łącza ładujące, a diody LED nadal migają szybko, to jest twój przełącznik z pętlą.

Teraz rozpocznij proces odłączania na portach użytkowników końcowych, aż dioda LED się uspokoi, a kiedy to zrobią, ostatnim odłączonym od ciebie portem będzie problem, prześledzić kabel i odpowiednio ukarać użytkownika.


2

Szczerze mówiąc, jeśli zdalnie podłączysz się (lub za pomocą kabla konsoli) do urządzenia, zauważysz, że jest bardzo powolny, wystąpi opóźnienie od momentu pisania do liter pojawiających się na CLI.

Jeśli jest to przełącznik Cisco, 2 łatwe do obejrzenia statystyk interfejsu, będzie stale używany w 100% (lub 255/255). W latach pracy z przełącznikami nie widziałem jeszcze, aby port osiągnął 100% wykorzystania. Poza tym sprawdź użycie procesora (zwykle „pokaż historię procesora procesora”), zapętlone interfejsy zwykle mocno uderzają w procesor, chyba że używasz wysokiej klasy przełącznika.

STP powinien być jednak naprawdę włączony!


2

Miałem ten problem w sieci na drugim końcu USA i musiałem zdalnie pomagać niektórym analitykom pierwszego poziomu przez telefon i mój link do ich witryny. Problem komplikował dodatkowo fakt, że mieli kilka marek przełączników, które powoli dodawali do sieci przez lata. Kiedy przenieśli biuro, zaznaczyli, dokąd płynął każdy port, a następnie założyli wszystko dokładnie tak samo w nowym biurze i wszystko uruchomili. Nie trzeba dodawać, że garść przełączników, które miały działające drzewo opinające, nie zbiegały się w ten sam sposób i miały różnego rodzaju pętle i problemy. Zanim skończyłem naprawiać, odkryto, że nie mniej niż trzy niezarządzane przełączniki zostały połączone w pętle z resztą infrastruktury.

Sposób, w jaki mogłem wyśledzić każdy z niezarządzanych przełączników, był za pomocą narzędzia o nazwie nedi (na przełącznikach, którymi można zarządzać, włączyłem lldp / cdp). Najpierw wygenerowałem mapy za pomocą nedi. Następnie w obszarach, w których mapa pokazała połączenia z jednego przełącznika do drugiego, a następnie z powrotem do tego samego przełącznika, poprosiłem technika sieci na miejscu, aby ręcznie prześledził linię. Albo ręcznie wyłączyłem interfejsy związane z pętlą, albo kazałem osobie na miejscu odłączyć kable. W końcu udało mi się sprawić, że sieć działa tak, jak powinna, pomimo wszystkich zwariowanych wyłączników marki.


1

Jedną z rzeczy, które można tutaj zrobić, jest sprawdzenie, które maszyny są podłączone do przełącznika za pomocą poleceń show cdp neighborlub show lldp neighbor.

Jeśli polecenie ochrony BPDU nie jest używane, a ktoś podłącza nieuczciwy przełącznik o niższym priorytecie (lub starszy adres MAC), nowe urządzenie będzie negocjować jako katalog główny drzewa opinającego, co z pewnością spowoduje problem.


0

Z mojego doświadczenia wynika, że ​​zawsze był to kabel, który właśnie podłączyłem, nie zamknąłem ani nie dodałem do kanału portu. Trudniejsze jest, gdy ktoś to zrobił i nie od razu się przyzna.


0

Określenie pętli naprawdę zależy od marki posiadanego przełącznika. Na przykład na przełączniku Extreme mogę uruchomić klienta elrp na sieci VLAN, a przełącznik zasadniczo wyśle ​​ramkę rozgłoszeniową na wszystkie porty dla tej sieci VLAN i sprawdzi, czy którykolwiek z nich zwróci, jeśli tak, to powie mi, który port (y) ramka została odebrana z powrotem, ujawniając w ten sposób kandydatów na pętlę.

Na Cisco możesz włączyć kontrolę burzy, która jest nieco bardziej tępym instrumentem, ponieważ po prostu zablokuje port na pewien czas, aż status zniknie (lub wyczyścisz stan błędny) - ogólnie rzecz biorąc, jednak tego rodzaju jest istotne tylko wtedy, gdy używasz przełączników Cisco w mieszanej topologii urządzeń, które nie obsługują drzewa ani nie przekazują jednostek BPDU.


0

Bez wątpienia najszybszym podejściem, jakie znalazłem, jest monitorowanie szybkości pakietów / s interfejsów. Interfejsy szybkiego pokazu z odpowiednim filtrem CLI będą wyświetlać każdy interfejs i szybkość pakietu / s. Aby znaleźć źródło pętli, poszukaj jedynego interfejsu z szaloną wysoką szybkością INPUT pakietu / s. W typowym środowisku korporacyjnym, z typowymi profilami wykorzystania, działa za każdym razem bezawaryjnie. Na 6500 z wieloma interfejsami znalezienie źródła nie zajmuje dużo czasu ...


0

Podczas pętli, dla dużej liczby ruchu rozgłoszeniowego (np. Żądanie ARP) na stacji końcowej może również zwiększyć obciążenie procesora (na przykład, jeśli używasz taniej karty Realtek 100 Mb / s, która oblicza sumę kontrolną na procesorze). Jeśli fizycznie możliwe jest znalezienie pętli, jeśli kabel zostanie odłączony, łącze natychmiast straciło na 2 portach.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.