BGP је научио префикс, али саобраћај и даље заобилази тунел
Префикс у BGP табели је вест контролне равни, а не одлука о прослеђивању. Прођите пријем, избор, инсталацију и подударање пре него што окривите тунел.
Мрежни пролаз огранка приказује префикс облака у својој BGP табели, сесија са провајдером је успостављена, а захтев корисника ка том префиксу ипак излази кроз погрешан интерфејс. Ништа није покварено онако како мониторинг сугерише, јер “BGP је то научио” је тврдња о контролној равни. Између те табеле и пакета постоје четири одвојена прелаза, а ток се зауставља на тачно једном од њих. Прођите кроз капије редом и зауставите се на првој која падне.
Прва капија: шта је сусед заиста послао
Почните од префикса онаквог какав је примљен, а не сажетог. Нађите тачну мрежу и маску у BGP табели и забележите следећи хоп, AS путању и сваку заједницу коју би политика увоза могла поклопити. Сажета рута на контролној табли може сакрити чињеницу да конкретни префикс никада није прихваћен.
Политика увоза је уобичајено место где рута нестане без грешке. Листа префикса, филтер заједница или мапа улазних рута могу одбацити ажурирање док сесија остаје подигнута и здрава, и зато зелено светло суседа тако мало доказује. Одсуство линије у дневнику не значи одсуство одлуке. Обично значи да је одлука донета тихо, тачно како је конфигурисано.
show ip bgp 10.60.20.0/24 show ip bgp neighbors 203.0.113.5 advertised-routes show ip route 10.60.20.0 show ip cef 10.60.20.0
Читајте излаз тим редом. Прве две команде кажу да ли је информација стигла и шта партнер тврди да је послао; последње две да ли је нешто стигло до табела рутирања и прослеђивања. Префикс присутан у првој команди, а одсутан у трећој, проблем је избора или инсталације, не повезаности.
Друга капија: избор, па инсталација
BGP бира најбољу путању, а изабрана путања се не инсталира аутоматски. Следећи хоп мора да се разреши, а други извор рута можда већ поседује тај префикс са бољом административном дистанцом. Статичка рута заостала из миграције лако ће победити ваљану BGP путању и послати саобраћај негде другде.
RFC 4271 држи три идеје одвојено: шта је сусед послао, шта је овај говорник изабрао као најбоље и шта ће даље оглашавати. То су концептуалне улоге, а не три физичке базе података које произвођач мора да изложи, али управо то раздвајање чини “то је у BGP-у” непотпуним одговором.
Проверите и који контекст рутирања читате. Рута инсталирана у VRF којој кориснички интерфејс не припада невидљива је за пакете тог корисника, а табела изгледа исправно све време.
Трећа капија: претрага која се примењује на овај ток
Сада престаните да питате о рути и почните да питате о пакету. Забележите изворну адресу корисника, одредиште, протокол, порт и улазни интерфејс, јер сваки од њих може да изабере другу политику. Затим погледајте претрагу која се примењује на ту комбинацију, а не општу табелу рутирања.
ip route get 10.60.20.25 from 10.60.10.40 ip rule show sudo tcpdump -ni tun0 'host 10.60.20.25'
Специфичнији префикс је овде најчешће изненађење, а policy рута друго. Обе надјачавају агрегат који сте гледали, а ниједна није видљива у сажетку BGP табеле.
Ping са самог пролаза није доказ о корисничкој сесији. Друга изворна адреса, друга путања политике и често другачији резултат. Тестирајте са истим извором који апликација користи или прихватите да тест одговара на друго питање.
Четврта капија: далека половина путање
Ако локална претрага заиста изабере тунел, пакет и даље мора да прихвати заштитна политика, дозволи правило прослеђивања и одговори нешто са друге стране. Crypto ACL који не обухвата пар адреса одбациће саобраћај док тунел себе пријављује као подигнут, што ствара timeout који се не разликује од квара рутирања.
Повратна путања је једнако важна као одлазна. Страна облака мора да зна како да дође до извора огранка, било рутом било преводом који сте намерно конфигурисали. Асиметричне повратне путање су честе у дизајнима тестираним само из једног смера.
Повежите свежу ауторизовану везу са три запажања: локална политика која се поклопила, бројачи тунела који су се померили и пријем на далекој страни где је то видљиво. Ако се бројачи не померају, пакет никада није ушао у тунел, шта год табела рута каже. Ако се померају а ништа не стиже, далека страна га одбацује или погрешно рутира. Та два исхода воде ка потпуно различитим тимовима.
Именујте прелаз који је пао
Запишите резултат као једно од пет стања: није примљено, није прихваћено политиком, није изабрано, није инсталирано или није поклопљено овим током. Додајте шесто за случај када је локална путања исправна, а далеки крај не може да одговори. Та реченица је резултат и много је кориснија од снимка екрана успостављеног суседа.
Задржите и негативан тест у плану прихватања: одредиште које не сме да иде кроз тунел, проверено након промене. Контролна листа која доказује само срећну путању неће ухватити широко правило политике које неко дода у следећем прозору за одржавање.