Switch port security i bonding
Switch port security i bonding
Witam
Problem taki mi się dzisiaj objawił. Musiałem zrestartować switche i po zaplanowanym nocnym reload żaden z serwerów zarówno windows jak i linux, na który używam bondingu (na windows jest to HP-team czy jak to się tam zwie a na linuksach bonding) nie uzyskał połączenia z siecią. Konifguracja każdego portu wygląda tak:
interface GigabitEthernet1/0/12
switchport access vlan 70
switchport mode access
switchport port-security
switchport port-security violation protect
switchport port-security mac-address sticky
switchport port-security mac-address sticky jakis mac
spanning-tree portfast
Kabli w portach żadnych nie zmieniałem więc adresy MAC pojawiły się na portach takie same - czy jest jeszcze coś o czym nie wiem/zapomniałem/nie wziąłem pod uwagę?
Problem taki mi się dzisiaj objawił. Musiałem zrestartować switche i po zaplanowanym nocnym reload żaden z serwerów zarówno windows jak i linux, na który używam bondingu (na windows jest to HP-team czy jak to się tam zwie a na linuksach bonding) nie uzyskał połączenia z siecią. Konifguracja każdego portu wygląda tak:
interface GigabitEthernet1/0/12
switchport access vlan 70
switchport mode access
switchport port-security
switchport port-security violation protect
switchport port-security mac-address sticky
switchport port-security mac-address sticky jakis mac
spanning-tree portfast
Kabli w portach żadnych nie zmieniałem więc adresy MAC pojawiły się na portach takie same - czy jest jeszcze coś o czym nie wiem/zapomniałem/nie wziąłem pod uwagę?
Główne pytanie, czy "jakis mac" to adres nauczony dynamicznie, czy wpisany przez Ciebie poleceniem:
"switchport port-security mac-address sticky mac-address"?
Bo sticky pozwala również na wpisywanie adresów manualnie właśnie tym poleceniem wyżej (wg mnie nie ma to sensu).
Jest to możliwe, ale nie zalecane:
http://tinyurl.com/26mjmy
"Note Although you can specify a sticky secure MAC address by entering the mac-address sticky mac-address keywords, we recommend using the mac-address mac-address interface configuration command to enter static secure MAC addresses."
i tutaj:
http://tinyurl.com/2zo4tr
"Sticky secure MAC addresses—These can be dynamically learned or manually configured, stored in the address table, and added to the running configuration. (...) Although sticky secure addresses can be manually configured, we do not recommend it."
Reasumując, albo wpisujesz "switchport port-security mac-address mac-address" jak chcesz statycznie, albo "switchport port-security mac-address sticky" jak chcesz dynamicznie.
Jeśli więc "jakis mac" został przez Ciebie wpisany tym poleceniem z początku, to lepiej to zmienić.
Jeśli "jakis mac" to jest adres nauczony dynamicznie, będziemy myśleć dalej.
"switchport port-security mac-address sticky mac-address"?
Bo sticky pozwala również na wpisywanie adresów manualnie właśnie tym poleceniem wyżej (wg mnie nie ma to sensu).
Jest to możliwe, ale nie zalecane:
http://tinyurl.com/26mjmy
"Note Although you can specify a sticky secure MAC address by entering the mac-address sticky mac-address keywords, we recommend using the mac-address mac-address interface configuration command to enter static secure MAC addresses."
i tutaj:
http://tinyurl.com/2zo4tr
"Sticky secure MAC addresses—These can be dynamically learned or manually configured, stored in the address table, and added to the running configuration. (...) Although sticky secure addresses can be manually configured, we do not recommend it."
Reasumując, albo wpisujesz "switchport port-security mac-address mac-address" jak chcesz statycznie, albo "switchport port-security mac-address sticky" jak chcesz dynamicznie.
Jeśli więc "jakis mac" został przez Ciebie wpisany tym poleceniem z początku, to lepiej to zmienić.
Jeśli "jakis mac" to jest adres nauczony dynamicznie, będziemy myśleć dalej.
Ostatnio zmieniony 14 lut 2007, 11:07 przez gubit, łącznie zmieniany 1 raz.
Ten wpisposiu pisze: Jezeli robisz sticky to nie potrzebny Ci chyba ten drugi wpis :
switchport port-security mac-address sticky jakis mac
Kod: Zaznacz cały
switchport port-security mac-address sticky jakis mac
A dzialalo CI to dobrze przed tym. Jakie miales i masz teraz statusy dla port sec, widzisz, ze to port sec cos zablokowalo. Jakies logi moze.
Spotkalem sie z blokowaniem jednego interface w bundlu, bo switch zobaczyl taki sam MAC na innym porcie, ale zeby zablokowalo sie wszystko to nie kojarze takiej sytuacji.
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
A. Einstein
A. Einstein
No tak o to mi chodzilo...Seba pisze:Ten wpisposiu pisze: Jezeli robisz sticky to nie potrzebny Ci chyba ten drugi wpis :
switchport port-security mac-address sticky jakis macto pojawi ci sie w konfiguracji jak port "zauwazy" jakis mac, dynamicznie. W konfiguracji rzeczywiscie wystarczy wspis mac-add sticky.Kod: Zaznacz cały
switchport port-security mac-address sticky jakis mac
Poza tym niewiem czy nie lepiej byloby uzywać violation restrict niz protect z tego powodu:
protect- You are not notified that a security violation has occurred.
restrict-In this mode, you are notified that a security violation has occurred. Specifically, an SNMP trap is sent, a syslog message is logged, and the violation counter increments.
Tak. Ale sam też możesz to wpisać:Seba pisze: Ten wpisto pojawi ci sie w konfiguracji jak port "zauwazy" jakis mac, dynamicznie.Kod: Zaznacz cały
switchport port-security mac-address sticky jakis mac
http://tinyurl.com/26mjmy
switchport port-security mac-address sticky [mac-address]
Tylko właśnie wg mnie nie ma to sensu i Cisco zaleca aby tego nie stosować.
I teraz rodzi się tylko pytanie, jak jest rozpoznawane czy ta linijka pojawiła się sama (dobrze, normalna praca sticky) czy została ona wpisana przez nas (źle, nie zalecane, ale możliwe do zrealizowania).
Whoy sie porobilogubit pisze:Tak. Ale sam też możesz to wpisać:
http://tinyurl.com/26mjmy
switchport port-security mac-address sticky [mac-address]
Tylko właśnie wg mnie nie ma to sensu i Cisco zaleca aby tego nie stosować.
Zgadza sie zarowno to, ze mozna wpisac, jak i to, ze wpisywanie sticky z reczna definicja MAC jest bez sensu.
Tu chyba jednak nie jest wazne, czy mozna wpisac, czy tez moze pojawic sie dynamicznie; co za roznica skoro koledze cos nie dziala.
Czy konfiguracja zostala zapisana jak byly jakies dynamicznie "przyklejone" MAC. Spodziewam sie, ze tak. Ogolnie wylaczylbym port-sec, potem wywalil te zaalokowane adresy sticky, i tu jak konfiguracja zostala z nimi zapisana to musisz uzyc
Kod: Zaznacz cały
no swi port-s mac-add stic [i]your_MAC[/i]
Potem odpalic port-sec again, i zaobserwowac, jakie sa komunikaty, logi, etc. Ogolnie dla tego samego MAC, pierwszy port, ktory go zobaczy wrzuci sobie jako sticky i powinine dzialac, a kolejny wywali blad, ze port-sec violation, bo MAC juz jest polaczony gdzies do innego portu. I wtedy ten port najprawdopodobniej zostanie zablokowany.
Dodatkowo trzeba zweryfikowac jak to jest z MAC, w bonding i teaming, tzn. w jakich trybach pracuja, bo jak kojarze domyslnie dla bonding dla int bond uzywany jest MAC z pierwszego fizycznego interface w bundlu, a w teamin tworzony jest virtualny MAC. I wtedy moze trzeba zwiekszyc ilosc zezwolonych MAC.
Jak potwierdzisz jak to jest to wymyslimy co ewentualnie trzeba zmienic.
Cheers
"Two things are infinite: the universe and human stupidity; and I'm not sure about the universe."
A. Einstein
A. Einstein
Zbiorczo wyjaśniam bo dzisiaj z rana trochę chaos i mój post też widzę sie dostosował. Oczywiście wpis:
Pojawia się automatycznie ja wpisałem tylko
Bo trochę mam tego w LANie więc klepanie ręczne raczej odpada dlatego wybrałem opcję przypisania dynamicznego. Do tej pory wszystko działało ok i z tego co pamiętam restartowałem switche ale nie pamiętam na 100% czy był bonding na serwerach windowsowych. Co dziwne przy serwerach linuksowych kolega rano (mnie jeszcze nie było) wyciągnął kabel serwera z portu switcha i go włożył i poszło w windowsach nic nie pomogło więc wyłączył po prostu hp-team. Kiedyś była tutaj chyba dyskusja bo windows i bondingu ale coś nie mogę znaleźć. Generalnie jak to zrobić żeby było dobrze ewentualnie może po prostu dla portów bondingowych trzeba wyłączyć port security?
UPDATE: dzięki Seba za info też właśnie zacząłem coś czytać o bondingu i myślę, że rozwiązaniem może być dodanie na sztywo każdego MAC do portu. Na serwerach linuksowych używam tego (na windows nie wiem bo nie moja działka ale pogadam z kolegą i popatrzymy):
balance-tlb or 5
Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
Kod: Zaznacz cały
switchport port-security mac-address sticky jakis mac
Kod: Zaznacz cały
switchport port-security mac-address sticky
UPDATE: dzięki Seba za info też właśnie zacząłem coś czytać o bondingu i myślę, że rozwiązaniem może być dodanie na sztywo każdego MAC do portu. Na serwerach linuksowych używam tego (na windows nie wiem bo nie moja działka ale pogadam z kolegą i popatrzymy):
balance-tlb or 5
Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.
tak sobie gdybam, że przyczyną może być sposób funkcjonowania tego drivera do bondingu na windowsie. być może po restarcie serwera najpierw zainicjował się driver do kart i wysłał w trakcie inicjalizacji jakieś pakiety z oryginalnymi mac-ami które były uwalane, a dopiero potem ładował się driver który robił bonding z wirtualnym mac-iem. coś więcej można by powiedzieć na podstawie logów i show port-security...Do tej pory wszystko działało ok i z tego co pamiętam restartowałem switche ale nie pamiętam na 100% czy był bonding na serwerach windowsowych. Co dziwne przy serwerach linuksowych kolega rano (mnie jeszcze nie było) wyciągnął kabel serwera z portu switcha i go włożył i poszło w windowsach nic nie pomogło więc wyłączył po prostu hp-team. Kiedyś była tutaj chyba dyskusja bo windows i bondingu ale coś nie mogę znaleźć. Generalnie jak to zrobić żeby było dobrze ewentualnie może po prostu dla portów bondingowych trzeba wyłączyć port security?
tylko ze przy ustawionym violation protect niewiem czy cos bedzie mozna odczytac...coś więcej można by powiedzieć na podstawie logów i show port-security...
Dlatego sugerowalem aby zmienil na restrict..
Ewentualnie jesli ma mozliwosc, to zasymulowla bym to wszytsko od nowa i zaobserowal bym jakie maci wysylane sa przez serwery i ewentualnie porownalbym to z fizycznymi adresami na kartach sieciowych..
Wtedy sprawa byla by jasna..jakie maci wysyla,z jakich kart ,ewentualnie jaki virtual mac...
Poza tym minelo juz kilka dni od zaistanienia problemu,moze juz rozwiazany??;)