URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 1888
[ Назад ]

Исходное сообщение
"Работа туннелей на ios12 и ios15"

Отправлено evgeshah , 04-Янв-16 20:07 
Уважаемые форумчане

Хотелось бы задать вопрос, с которым столкнулся при замене старой Cisco 2811 (ios 12) на новую 2921 (ios 15). Я столкнулся с некоторыми странностями при работе с туннелями. Раньше я этого не замечал, т.к. кругом были циски на старом иосе 12.
Предварительно поискал в гугле, и на opennet, но подобного ничего не нашел :(

Сначала предыстория и небольшое исследование.
Проблема вот в чем: создаем два туннеля на 2х сторонах Центр (R1) и Филиал (R2) по 2-м независимым линиям (2 провайдера VPN). Для маршрутизации используется eigrp. Если вдруг физически линия одного провайдера падает, то мы, находясь в центре и пингуя IP туннеля в филиале видим это и можем сделать некоторые выводы (например, сразу перекинуть VoIP на резервный канал, и не ждать пока отвалится соседство).
Теперь, когда ios 15 в центре и ios 12 остались в филиалах это перестало работать. Внезапно по второму каналу через eigrp ко мне "прилетает" маршрут во "вторую", неработающую туннельную подсеть, и пинги не пропадают!

Например, создаем в центре на 2921 (ios 15.5(1)T) туннель в "никуда" (т.е. он не должен подняться, второй стороны нет):


interface Tunnel10
description Test
bandwidth 1024
ip address 10.1.4.1 255.255.255.252
ip mtu 1400
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 [SECRET]
ip tcp adjust-mss 1360
delay 1000
tunnel source 192.168.15.104
tunnel destination 192.168.15.105
tunnel path-mtu-discovery
tunnel protection ipsec profile [CRYPTO_PROFILE]
end

Смотрим, что об этом туннеле думает наша циска:


R1#sh ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Tunnel10                   10.1.4.1        YES manual up                    down

Статус туннеля - up, работает, все нормально с ним. Протокол - down, не работает, логично - т.к. второй стороны нет.
Спросим также, знает ли она в данный момент о маршрутах в подсеть туннеля:


R1#sh ip route 10.1.4.0 255.255.255.252
% Subnet not in table

Теперь создадим такой же туннель в никуда на филиальной циске (877, ios 12.4(15)T7)


interface Tunnel10
description Test
bandwidth 1024
ip address 10.1.4.1 255.255.255.252
ip mtu 1400
ip authentication mode eigrp 100 md5
ip authentication key-chain eigrp 100 [SECRET]
ip tcp adjust-mss 1360
delay 1000
tunnel source 192.168.15.104
tunnel destination 192.168.15.105
tunnel path-mtu-discovery
tunnel protection ipsec profile [CRYPTO_PROFILE]
end

Смотрим, что об этом туннеле думает наша циска:


R2#sh ip int br
Interface                  IP-Address      OK? Method Status                Protocol
Tunnel10                   10.1.4.1        YES manual up                    up

Опа! Как так?! Почему протокол в up'е? У нас же второй стороны нет!
Дальше по маршрутизации:


R2#sh ip route 10.1.4.0 255.255.255.252
Routing entry for 10.1.4.0/30
  Known via "connected", distance 0, metric 0 (connected, via interface)
  Routing Descriptor Blocks:
  * directly connected, via Tunnel10
      Route metric is 0, traffic share count is 1

Собственно вот такой же, как в примере, connected маршрут мне сейчас и прилетает по второму, работающему туннелю.
Получается, когда раньше физический канал "падал", соседство eigrp также отваливалось, НО туннельная сеть считалась продолжала считаться "работающей", т.к. она connected. Пинги по ней не ходили, и логика работы у треков не страдала (пинг пропал, переключаем next-hop). Теперь старые циски мне портят это поведение.

Вопрос: Как вернуть старое поведение?
Решения вижу 2:
1. Каким-либо образом заставить новую циску при "неработающем" туннеле, все равно считать её подсеть connected .
2. Заставить старые циски на старом иосе выключать протокол туннеля, когда он реально не работает.
3. Другое решение, по проверке работоспособности туннеля которое вы можете предложить.
Заранее спасибо!


Содержание

Сообщения в этом обсуждении
"Работа туннелей на ios12 и ios15"
Отправлено Del , 04-Янв-16 20:47 
Может в keepalive'е на туннеле дело?

"Работа туннелей на ios12 и ios15"
Отправлено evgeshah , 04-Янв-16 20:50 
> Может в keepalive'е на туннеле дело?

Думал об этом. Это решает решает задачу (протокол уходит в down), если бы не одно но:
если на R2 выставлю keepalive, то туннель отваливается, даже работающий.

Возможно что то делаю не так (или может устанавливаю не все, что нужно)

Добавлю: Насколько я понимаю, чтобы использовать keepalive мне нужно на всех своих over 20 цисок + центр перенастроить ipsec профили на crypto map. Иначе он работать не будет. При этом ни один филиал не должен успеть понять, что у них с сетью что-то неладное...