Привет, незнакомец!

Похоже, вы здесь новенький. Чтобы принять участие, нажмите одну из кнопок ниже!

HSRP

отредактировано Июнь 2016 Раздел: Proprietary
Проблема с протоколом HSRP и опцией "preempt". По идее, с помощью этой опции, мы возвращаем статус "active" маршрутизатору, у которого самый большой приоритет в сети, после того как произошел сбой а потом востановление нашей сети. Но у меня и с выключенной опцией все равно статус "active" возвращается. Напомню что по умолчанию опция preempt в статусе "disable".
Провел кое какие исследования. Как бы я не настраивал бы "preempt" на первом или втором роутере: на одном включал на другом выключал, на обоих включал и выключал - они всегда работают так, как будто "preempt" включен и на первом и на втором. То-есть, при падении канала от роутера R1 к свичу(S1), активным становится R2. Но при поднятии канала - R1 все равно становится активным роутером и через него начинает идти трафик. При этом если я включаю "traking". Включаю "traking" на порту который смотрит с R1 на свитч а трекаю канал с R1 в интеренет, и начинаю ломать канал который трекаю - с R1 в интеренет. То тогда "preempt" начинает работать так? как написано в учебнике. Вот картинки схемы, таблица работы с трекингом и showrun. Пингы посылаю с компьютера, потом ломаю канал, если пингы зеленые значит пошел пинг через R2 роутер, если краснные - значит не пошел. Потом чиню канал и смотрю кто стал "active" уже с починеным каналом. Если не понятно написал, то обьясню поподробнее. Версия иоса на роутерах 15.1






Так вот у меня вопрос. В чем закагадка? Почему работает не так как ожидается?
Тэги темы:
ShoVers.png 41.2K
Sheeme.PNG 2.4K
Table.PNG 14.2K
ShoStand.PNG 25.1K
«13

Комментарии

  • отредактировано Март 2016
    Хотелось бы посмотреть show run с вырезкой интерфейсов, на которых крутится твой standby. Такое ощущение что эта же standby группа существует на каком то интерфейсе, где все такие preempt включено.
  • Это реальное железо или эмулируемое? А sh stand br что показывает?
  • отредактировано Март 2016
    По опыту скажу, что на эмулях preemtion disabled отрабатывает не возвращаясь к отвалившейся железке. И возвращается при включенном preemt. На реальных тем более все будет работать. Тут видно что приоритет выше у первого роутера, чем у второго. Если первый не возвращает "свои права", значит какой то интерфейс на втором все таки настроен на preemt. В моей лабе было порядка 8-10 интерфейсов с preemt и все слушали треком 1 линк, ведущий в нэт. После восстановления канала, первый рутер становился активным по всем интерфейсам.
    Если тут нет становится, то либо есть preemt на одном из интерфейсов второго рутера, либо не логично расставлены приоритеты на других интерфейсах.
    Если интерфейса всего два... То даже не знаю :/
  • Оборудование реальное. Router 2811. Switch Catalyst 3560

    Showrun R1

    Building configuration...


    Current configuration : 1574 bytes
    !
    ! Last configuration change at 11:01:48 UTC Sat Jan 23 2016
    !
    version 15.1
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname R1
    !
    boot-start-marker
    boot-end-marker
    !
    !
    !
    no aaa new-model
    !
    !
    dot11 syslog
    ip source-route
    !
    !
    ip cef
    !
    !
    !
    no ipv6 cef
    !
    multilink bundle-name authenticated
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    voice-card 0
    !
    crypto pki token default removal timeout 0
    !
    !
    !
    !
    license udi pid CISCO2811 sn FGL154310ZK
    !
    redundancy
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    interface FastEthernet0/0
    ip address 10.0.0.1 255.255.255.0
    ip nat inside
    ip virtual-reassembly in
    standby version 2
    standby 1 ip 10.0.0.254
    standby 1 priority 111
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 172.16.194.201 255.255.255.0
    ip nat outside
    ip virtual-reassembly in
    duplex auto
    speed auto
    !
    interface Serial0/0/0
    no ip address
    shutdown
    no fair-queue
    clock rate 2000000
    !
    interface Serial0/0/1
    no ip address
    shutdown
    clock rate 2000000
    !
    interface FastEthernet0/2/0
    !
    interface FastEthernet0/2/1
    !
    interface FastEthernet0/2/2
    !
    interface FastEthernet0/2/3
    !
    interface Vlan1
    no ip address
    !
    ip forward-protocol nd
    no ip http server
    no ip http secure-server
    !
    !
    ip nat inside source list 1 interface FastEthernet0/1 overload
    ip route 0.0.0.0 0.0.0.0 FastEthernet0/1 172.16.194.1
    !
    logging esm config
    access-list 1 permit 10.0.0.0 0.0.0.255
    !
    !
    !
    !
    !
    !
    control-plane
    !
    !
    !
    !
    mgcp profile default
    !
    !
    !
    !
    !
    !
    line con 0
    line aux 0
    line vty 0 4
    login
    transport input all
    !
    scheduler allocate 20000 1000
    end

    Showrun R2

    Building configuration...


    Current configuration : 1420 bytes
    !
    ! Last configuration change at 15:07:05 UTC Mon Jan 2 2006
    !
    version 15.1
    service timestamps debug datetime msec
    service timestamps log datetime msec
    no service password-encryption
    !
    hostname R2
    !
    boot-start-marker
    boot-end-marker
    !
    !
    !
    no aaa new-model
    !
    !
    dot11 syslog
    ip source-route
    !
    !
    ip cef
    !
    !
    !
    no ipv6 cef
    !
    multilink bundle-name authenticated
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    voice-card 0
    !
    crypto pki token default removal timeout 0
    !
    !
    !
    !
    license udi pid CISCO2811 sn FGL154410DZ
    !
    redundancy
    !
    !
    !
    !
    !
    !
    !
    !
    !
    !
    interface FastEthernet0/0
    ip address 10.0.0.2 255.255.255.0
    ip nat inside
    ip virtual-reassembly in
    standby version 2
    standby 1 ip 10.0.0.254
    standby 1 priority 102
    duplex auto
    speed auto
    !
    interface FastEthernet0/1
    ip address 172.16.194.202 255.255.255.0
    ip nat outside
    ip virtual-reassembly in
    duplex auto
    speed auto
    !
    interface Serial0/0/0
    no ip address
    shutdown
    no fair-queue
    clock rate 2000000
    !
    interface Serial0/0/1
    no ip address
    shutdown
    clock rate 2000000
    !
    ip forward-protocol nd
    no ip http server
    no ip http secure-server
    !
    !
    ip nat inside source list 1 interface FastEthernet0/1 overload
    ip route 0.0.0.0 0.0.0.0 FastEthernet0/1 172.16.194.1
    !
    logging esm config
    access-list 1 permit 10.0.0.0 0.0.0.255
    !
    !
    !
    !
    !
    !
    control-plane
    !
    !
    !
    !
    mgcp profile default
    !
    !
    !
    !
    !
    !
    line con 0
    line aux 0
    line vty 0 4
    login
    transport input all
    !
    scheduler allocate 20000 1000
    end
  • Во первых не увидел что ты трекаешь с твоих standby интерфейсов какой то другой интерфейс. Во вторых декремент по умолчанию у HSRP 10. Ты не редактировал значение декремента приоритетов по умолчанию?
    Вот часть моего конфига:
    Vlan2 - Group 1 (version 2)
    State is Active
    7 state changes, last state change 00:00:30
    Virtual IP address is 172.17.7.1
    Active virtual MAC address is 0000.0C9F.F001
    Local virtual MAC address is 0000.0C9F.F001 (v2 default)
    Hello time 3 sec, hold time 10 sec
    Next hello sent in 2.524 secs
    Preemption enabled
    Active router is local
    Standby router is 172.17.7.3, priority 101 (expires in 8 sec)
    Priority 101 (configured 101)
    Track interface GigabitEthernet0/1 state Up decrement 10
    Group name is hsrp-Vl2-1 (default)
    У меня эмуль и декременты нельзя редактировать. Возможно они у тебя равны не 10, а большему значению где то на одном роутере, например на R1. Тогда при включенном preemt результат декремента приоритета на R1 будет равен 111-(значение больше 10)=приоритет >R2.
    Посмотри значения декрементов и трекинга интерфейсов до свитча на обоих рутерах.
  • Когда я включаю трекинг. То у меня опция преемп работает коректно. А вот когда трекинга нету. Тогда начинаются странности. Я показал шоуран именно когда нету трекинга.
  • отредактировано Март 2016
    Поэтому они и начинаются, что ты не следишь ни за одним интерфейсом. Если ты хочешь чтобы работало резервирование, но не работал preemt, попробуй включить трекинг на обоих роутерах, выключить preemt на обоих и поставить приоритеты на R1 101, а на R2 100. Отключи линк от R1 до S1, когда трафик пойдет через R2, включи линк от R1 до S1, трафик должен продолжать идти по R2.
  • отредактировано Март 2016
    Должен сказать что исходить он должен по R2, возвращаться он может иначе. Зависит от самого выгодного маршрута до твоей сети в обратном направлении.
  • отредактировано Март 2016
    Anumrak написал:

    Поэтому они и начинаются, что ты не следишь ни за одним интерфейсом. Если ты хочешь чтобы работало резервирование, но не работал preemt, попробуй включить трекинг на обоих роутерах, выключить preemt на обоих и поставить приоритеты на R1 101, а на R2 100. Отключи линк от R1 до S1, когда трафик пойдет через R2, включи линк от R1 до S1, трафик должен продолжать идти по R2.

    Сейчас сделал так на всех агрегирующих SVI интерфейсах моего L3 коммута, все работало как я и описал. Трафик гнался по "R2" и не шел на R1 inbound в случае восстановления линка.
  • получается, что в табличке, которую вы составили, верное первое и третье состояние и работает по логике hsrp. там с треком или нет? из таблицы выходит что частично работает верно
  • Он отключал трекинг и не мог завернуть трафик через резервный рутер, так как снова включался линк от свитча до R1 и трафик шел через него. Я посоветовал включить трекинг, но отключить preemt на обоих рутерах.
  • вот по таблице то в половине случаев он заворачивается, а в половине нет. preempt тоже через раз работает. например состояние:
    - на Р1 выключен, на Р2 включен
    - на Р1 и Р2 включен
    работает как надо, в остальных нет
  • Это трекинг он включает и выключает, а не preemt. Preemt ему вообще не нужен. Он хочет чтобы после перенаправления трафика на резерв, чтобы он там и оставался даже после восстановления линка на R1. Для этого tracking должен быть включен на обоих рутерах на обоих интерфейсах до свитча.
  • отредактировано Март 2016
    а для этого разве не достаточно просто не включать preempt? вообще, не в частности
  • отредактировано Март 2016
    Конечно достаточно. Просто нужно объединить все рабочие интерфейсы в одну группу standby и поставить их все на трекинг интересующего интерфейса, на который группа будет реагировать. Приоритеты и ставятся вообще для того, чтобы начинал "игру" какой то один из двух роутеров, чтобы он первым стал active. Декременты - для восстановления первого active рутера после завершения аварии. Без preemt, active останется standby после аварии, а standby будет active.
  • Anumrak написал:

    нужно объединить все рабочие интерфейсы в одну группу standby

    понятно, им ведь групповой адрес делить
    Anumrak написал:

    Декременты - для восстановления первого active рутера после завершения аварии. Без preemt, active останется standby после аварии, а standby будет active.

    понижение приоритета сработает вместе с preempt.

  • отредактировано Март 2016
    Понижение приоритета работает без preemt. Понижение происходит в любом раскладе, если интерфейсы в группе реагируют трекингом на "интересный" линк. Preemt служит только для "открывания глаз" бывшему активному рутеру, что у него приоритет выше его standby собрата после аварии.
  • Без трекинга то как раз, понижения происходит и не будет. Потому что следить не за чем. А автор трекинг и отключал.
  • Anumrak написал:

    Понижение приоритета работает без preemt.

    это да, сработает, но если preempt выключен от понижения\повышения приоритета active не смениться. не сможет в таком случае линк с высоким приоритетом перехватить инициативу.

    или я чего-то не понимаю?

    если в группе интерфейсов с приоритетами 100, 150 и 200, активным является последний, то после отработки трека и изменения приоритетов, например. на 150, 100 и 80, с отключенным преемпт останется последний. соответственно, здесь только авария изменит актив линк. который так и останется стоять до следующей аварии.

  • Все правильно понимаешь.
    Если выключить preempt на месяц вперед, то в случае отработки tracking активным всегда будет тот рутер, к которого приоритет будет выше. Приоритет восстанавливает все тот же tracking, инкрементирует так сказать.
    Свою сеть то отладил?
  • так не у меня проблемы то :D

    я понимаю как работает, делал в VRRP. просто прикидываю со своей колокольни: использовал для смены шлюза по умолчанию, а не для резервирования линка)).
  • С улицы писал с телефона, сорь ^^
  • Автор, дай знать, отладил или нет ;)
  • Anumrak написал:

    Поэтому они и начинаются, что ты не следишь ни за одним интерфейсом. Если ты хочешь чтобы работало резервирование, но не работал preemt, попробуй включить трекинг на обоих роутерах, выключить preemt на обоих и поставить приоритеты на R1 101, а на R2 100. Отключи линк от R1 до S1, когда трафик пойдет через R2, включи линк от R1 до S1, трафик должен продолжать идти по R2.

    Мой вопрос вот в чем. Почему когда я просто включаю HSRP, без трекинга, трекинга вообще не касаюсь, то в настройках HSRP написано peemt disable, но работает все так, как будто peemt включен? В учебнике не написано что peemt работает только когда есть трекинг. Там написано что если peemt включить, то активным будет тот у кого больше приоритет. А если выключить то активность не возвращается. В учебнике про трекинг вообще не слова. Я хочу именно в этом нюансе разобраться.
  • отредактировано Март 2016
    Всё правильно вы описываете. Трекинг - это трекинг, preempt - это preempt. Если preempt отключен, то не Active роутер не вернёт себе Active роль, если уже есть Active. Другой вопрос, когда вы симулировали аварию, перешёл ли роутер в HSRP Init state, или он остался Active?
  • dmfigol написал:

    Всё правильно вы описываете. Трекинг - это трекинг, preempt - это preempt. Если preempt отключен, то не Active роутер не вернёт себе Active роль, если уже есть Active. Другой вопрос, когда вы симулировали аварию, перешёл ли роутер в HSRP Disabled state, или он остался Active?

    R1 перешел в Disabled state. R2 был стэндбай и стал эктив. После ремонта. R1 стал проходить по очереди все стадии - листен спикин и тд. И потом стал активом. А R2 стал тенд бай. И это при том что приеемп в дисейбл.
  • отредактировано Март 2016
    kamasutr написал:

    dmfigol написал:

    Всё правильно вы описываете. Трекинг - это трекинг, preempt - это preempt. Если preempt отключен, то не Active роутер не вернёт себе Active роль, если уже есть Active. Другой вопрос, когда вы симулировали аварию, перешёл ли роутер в HSRP Disabled state, или он остался Active?

    R1 перешел в Disabled state. R2 был стэндбай и стал эктив. После ремонта. R1 стал проходить по очереди все стадии - листен спикин и тд. И потом стал активом. А R2 стал тенд бай. И это при том что приеемп в дисейбл.
    На свитче spanning tree mode pvst+ и порты не portfast, да?
  • попробовал в gns, отработало нормально. с отключенным preempt active не меняется. в приложении скрины.
  • отредактировано Март 2016
    В принципе HSRP нормально работает только тогда, когда tracking включен, иначе приоритет падать не будет ни у кого.
    Камасутр, ты должен понять:
    Preemt для возвращения active и только.
    Tracking - для возможности декрементировать приоритеты у active и у standby и инкрементировать(поднять) приоритет после восстановления наблюдаемого интерфейса.

    Если отключить preemt, то никакого возвращения active не будет. То что ты пишешь не реализуемо в HSRP.
    Если отключить tracking, то приоритеты не будут падать, потому что декрементировать нечем.
  • я понял, что дело не в изменении приоритета, а в том что криво работает у него протокол.
Войдите или Зарегистрируйтесь чтобы комментировать.