Тунел стоји, рута нестала: раздвајање две VPN грешке
Префикс може бити примљен, изабран и инсталиран у три различите фазе. Прво прочитајте табелу прослеђивања, затим табелу протокола, затим часовнике.
Један домаћин постаје недоступан док се интерфејс тунела и даље пријављује као успостављен, и та два запажања нису у сукобу. Нешто је уклонило пут који је саобраћај користио: сусед је повукао свој префикс, праћена статичка рута је уклоњена, или је друга рута постала пожељнија. Безбедносна асоцијација може остати потпуно здрава у сва три случаја. Раздвајање догађаја значи питати који се слој први променио, а не да ли је VPN отказао.
Три фазе које изгледају као један догађај
Одлука о рутирању има три фазе. Префикс се прима, бира као најбољи и инсталира у табелу прослеђивања. Свака фаза може сама да откаже, а отказ изгледа исто са стране апликације. Научени, али у избору поражени префикс не може се разликовати од оног који никада није стигао када је једини доказ који гледате табела прослеђивања.
Зато је прво питање која се фаза сломила, а не који је протокол крив. Одговор одлучује коме припада инцидент и који алат користи следећа провера.
Прво прочитајте инсталирану руту
Питајте језгро где саобраћај ка неисправном одредишту заиста иде. ip route get исписује следећи скок, интерфејс и изворну адресу коју би језгро користило, и одговара за једно одредиште, а не за целу табелу. Ако одговор именује тунел, табела прослеђивања још верује да пут постоји и проблем је изнад ње.
ip route get 10.20.5.10
ip route show 10.20.0.0/16
Одговор «unreachable» значи да нема никакве инсталиране руте, што упућује на повлачење или недостајућу инсталацију. Одговор који именује физички интерфејс значи да је саобраћај напустио тунел без ичије одлуке, а следећа провера је предност која је победила. А одговор који именује тунел док пакети и даље нестају упућује даље низ пут, на филтрирање или на другу страну.
Затим погледајте сопствени поглед протокола
Демон рутирања држи више од једне табеле, а занимљиво поређење је међу њима. За BGP, стање суседне сесије, примљено обавештење и инсталирана рута су три одвојена доказа. Префикс може стајати у примљеној табели и никада не стићи до језгра јер побеђује рута са краћим административним растојањем. Проверите сва три пре него што закључите да је друга страна престала да објављује.
vtysh -c "show bgp summary"
vtysh -c "show bgp ipv4 unicast 10.20.0.0/16"
Сажетак вам каже да ли је сесија успостављена, приказ по префиксу да ли је префикс прихваћен, а претрага у језгру да ли је инсталиран. Њихово читање тим редом спречава да се треперење сесије замени повлачењем, а повлачење одбијањем по политици.
Када се часовници не слажу
Ставите дневник тунела, дневник рутирања и први отказ апликације на једну временску линију користећи њихове стварне временске зоне. Ако губитак суседа дође први, тунел је оборио руту са собом. Ако повлачење дође прво, рутирање се променило и тунел је реаговао после. То су различити инциденти са различитим власницима, а редослед је цео налаз.
Један минут одступања часовника довољан је да преокрене тај закључак, зато потврдите временску зону и помак пре него што поверујете редоследу. Уређаји који воде дневник у локалном времену без помака уобичајен су извор самоуверене, али погрешне временске линије.
Опоравак без петље
После повлачења две путање могу бити подобне: она коју протокол бира и она коју причвршћујете ручно. Само је прва одлука коју мрежа наставља да доноси за вас, зато је ручна рута привремено решење, а не план опоравка. Заменско обавештење такође не чува стање заштитног зида или NAT за већ успостављену сесију, па нови токови могу радити док оригинални остаје покварен. Потврдите која резерва треба да постане активна и да ли ће удаљено место прихватити повратну путању кроз њу.
Не инсталирајте трајно статичко преписивање пре него што разумете зашто је дошло до повлачења. Та пречица може причврстити саобраћај на неуспелу путању или тихо заобићи намерну политику рутирања, и закопава првобитни узрок испод нове конфигурације. Када се рута врати, поново тестирајте апликацију и потврдите да изабрани префикс има радну путању података, а не само запис у табели.