Failback при ASA: какво наистина се мести, когато маршрутът се върне
Връщането на маршрута към основния път не означава, че старите потоци са се преместили. Наблюдавайте заедно uplink връзката, тунела, таблицата на връзките и резултата в приложението.
На ASA с два uplink канала failback не е обратното на failover. Маршрутът към партньора се променя и след това платформата трябва да съгласува три отделни машини на състоянието: таблицата на маршрутите, security associations на IKE и IPsec и таблицата на връзките. Всяка може да изостава от другите и точно това изоставане хората описват като тунел, който не се връща.
Какво всъщност променя failback
Търсенето в таблицата на маршрутите е видимата част. Когато следеният обект се възстанови, следеният маршрут към външния адрес на партньора се връща и следващият пакет, който ASA изпрати, отново поема по основния канал. Всичко след това зависи от това дали съществуващото състояние е съгласувано с новия път.
ARP и NAT са тихите зависимости. Новият следващ хоп се нуждае от разрешим шлюз и от транслация, която още съответства на далечната страна, иначе първите пакети след failback не отиват никъде и маршрутът изглежда наред, докато нищо не работи.
Четири погледа върху една времева линия
Записвайте едни и същи четири неща преди, по време на и след прехода, защото една моментна снимка не може да ви каже кой слой се е преместил.
| View | What to record |
|---|---|
| Uplink and route | Interface state, the tracked object result, the route selected for the outer peer address |
| IKE and IPsec | The live peer, IKE version, security associations, protected-traffic counters |
| Connection table | Interface and endpoint pair for old flows and for flows created after the change |
| Application | One pre-existing operation and one fresh request, each marked success, reset, stall or recovered |
Маршрут, който никога не се е променил, и маршрут, който се е променил, докато по-стара връзка е запазила състоянието си за препращане, дават същата оплакване и напълно различни доказателства.
Защо старите връзки остават по резервния път
ASA не прекратява поток, защото маршрутът се е променил. Установените връзки запазват решението за препращане, с което са създадени, и платформата предлага отделни управления за това колко дълго е позволено: floating-connection timeout и connection holddown. Ръководството на Cisco Ръководството за настройки на връзките в ASA 9.24 ги разглежда като отделни въпроси и точно така се държат. Едното управлява оцеляването на съществуващ поток, другото — кога новите потоци могат да използват предпочитания път.
Прочетете действащите стойности за вашата версия, преди да промените което и да е от двете. Намаляването им затваря сесии, които хората още използват. Увеличаването им прави failback да изглежда, че не се е случил, защото новите връзки продължават да минават по стария път през цялото време.
Тунелът не сменя ключове, защото маршрутът се върна
Security associations на IPsec носят свой собствен договорен живот и оцеляват при промяната на маршрута, която ги е носила. Затова тунелът може да остане вдигнат през failback, докато външната му адресация вече не съответства на използвания път; това е аргументът за DPD и за схеми, които фиксират адреса на партньора вместо да го оставят плаващ.
Дизайните с crypto-map и VTI се държат тук различно, а документацията на Cisco за 9.24 VTI описва варианта, базиран на маршрути. Старото общо твърдение, че ASA не може да работи с маршрутизирани VPN, не е вярно за поддържаните версии.
Четете доказателствата в този ред
Започнете с контролния слой: show route за избрания път, show interface за състоянието на връзката и броячите на SLA монитора за следения обект. След това прочетете show crypto ikev2 sa, или еквивалента за IKEv1, за да видите кой партньор е активен, последвано от show crypto ipsec sa за защитените потоци. После стеснете таблицата на връзките с show conn address <host> и сравнете колоната за интерфейс при старите и новите записи. Записвайте изхода с времеви марки, защото редът им е диагнозата.
Завършете с тест на приложението: един поток, който вече е съществувал, и един, създаден след връщането на маршрута. Ако старият поток се провали, а новият работи, имате история за състоянието на връзката. Ако и двата се провалят, тунелът или политиката са грешни, а таблицата на връзките е разсейване.
Пазете този запис в една и съща форма във всичките три фази и отбележете точната версия. Когато времевата линия продължава да сочи към един преход, изпратете записа на поддръжката, вместо да гадаете ID на грешка.