BGP išmoko priešdėlį, bet srautas vis tiek apeina tunelį
Priešdėlis BGP lentelėje yra valdymo plokštumos naujiena, o ne perdavimo sprendimas. Patikrinkite priėmimą, pasirinkimą, įdiegimą ir atitiktį prieš kaltindami tunelį.
Filialo šliuzas rodo debesies priešdėlį savo BGP lentelėje, sesija su tiekėju užmegzta, o naudotojo užklausa tam priešdėliui vis tiek išeina per netinkamą sąsają. Niekas nesugedę taip, kaip rodo stebėsena, nes „BGP tai išmoko“ yra teiginys apie valdymo plokštumą. Tarp tos lentelės ir paketo yra keturi atskiri perėjimai, o srautas sustoja tiksliai ties vienu iš jų. Praeikite vartus iš eilės ir sustokite ties pirmuoju, kuris nepavyksta.
Pirmieji vartai: ką kaimynas iš tikrųjų atsiuntė
Pradėkite nuo priešdėlio tokio, koks gautas, o ne apibendrinto. Suraskite tikslų tinklą ir kaukę BGP lentelėje ir užrašykite kitą šuolį, AS kelią ir bet kurią bendruomenę, kurią importo politika galėtų atitikti. Suvestinis maršrutas informacijos skydelyje gali paslėpti faktą, kad konkretus priešdėlis niekada nebuvo priimtas.
Importo politika yra įprasta vieta, kur maršrutas dingsta be klaidos. Priešdėlių sąrašas, bendruomenės filtras ar įeinančio maršruto žemėlapis gali atmesti atnaujinimą, kol sesija lieka aktyvi ir sveika, todėl žalia kaimyno lemputė įrodo taip mažai. Žurnalo eilutės nebuvimas nereiškia sprendimo nebuvimo. Paprastai tai reiškia, kad sprendimas priimtas tyliai, tiksliai kaip sukonfigūruota.
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
Skaitykite išvestį tokia tvarka. Pirmieji du komandos nurodo, ar informacija atėjo ir ką partneris teigia atsiuntęs; paskutiniai du – ar kas nors pasiekė maršrutizavimo ir perdavimo lenteles. Priešdėlis, esantis pirmoje komandoje ir nesantis trečioje, yra pasirinkimo ar įdiegimo problema, o ne ryšio problema.
Antrieji vartai: pasirinkimas, tada įdiegimas
BGP pasirenka geriausią kelią, o pasirinktas kelias nėra įdiegiamas automatiškai. Kitas šuolis turi būti išspręstas, o kitas maršrutų šaltinis jau gali turėti šį priešdėlį su geresniu administraciniu atstumu. Migracijos metu likęs statinis maršrutas lengvai įveiks galiojantį BGP kelią ir nusiųs srautą kitur.
RFC 4271 laiko tris idėjas atskirai: ką atsiuntė partneris, ką šis kalbėtojas pasirinko kaip geriausią ir ką jis skelbs toliau. Tai konceptualūs vaidmenys, o ne trys fizinės duomenų bazės, kurias tiekėjas privalo atskleisti, bet būtent šis atskyrimas daro „tai yra BGP“ nepilną atsakymą.
Taip pat patikrinkite, kurią maršrutizavimo kontekstą skaitote. Maršrutas, įdiegtas VRF, kuriai naudotojo sąsaja nepriklauso, yra nematomas to naudotojo paketams, o lentelė visą laiką atrodo teisinga.
Tretieji vartai: paieška, taikoma šiam srautui
Dabar nustokite klausti apie maršrutą ir pradėkite klausti apie paketą. Užrašykite naudotojo šaltinio adresą, paskirties vietą, protokolą, prievadą ir įėjimo sąsają, nes kiekvienas jų gali pasirinkti skirtingą politiką. Tada pažiūrėkite į paiešką, taikomą tai kombinacijai, o ne į bendrą maršrutizavimo lentelę.
ip route get 10.60.20.25 from 10.60.10.40 ip rule show sudo tcpdump -ni tun0 'host 10.60.20.25'
Konkretesnis priešdėlis čia yra dažniausia staigmena, o politikos maršrutas – antra. Abu nustelbia agregatą, į kurį žiūrėjote, ir nė vienas nėra matomas BGP lentelės suvestinėje.
Pingas iš paties šliuzo nėra įrodymas apie naudotojo sesiją. Kitas šaltinio adresas, kitas politikos kelias ir dažnai kitas rezultatas. Bandykite su tuo pačiu šaltiniu, kurį naudoja programa, arba pripažinkite, kad testas atsako į kitą klausimą.
Ketvirtieji vartai: tolimoji kelio pusė
Jei vietinė paieška tikrai pasirenka tunelį, paketą vis tiek turi priimti apsaugos politika, leisti perdavimo taisyklė ir atsakyti kažkas kitoje pusėje. Kriptografinė ACL, neapimanti adresų poros, numes srautą, kol tunelis praneša esąs aktyvus, o tai sukuria laukimo laiką, neatskiriamą nuo maršrutizavimo gedimo.
Grįžtamasis kelias svarbus tiek pat, kiek išeinantis. Debesies pusė turi žinoti, kaip pasiekti filialo šaltinį: arba maršrutu, arba sąmoningai sukonfigūruotu vertimu. Asimetriški grįžtamieji keliai dažni projektuose, išbandytuose tik viena kryptimi.
Susiekite naują autorizuotą ryšį su trimis stebėjimais: atitikusia vietine politika, pasistūmėjusiais tunelio skaitikliais ir priėmimu tolimoje pusėje, kur tai matoma. Jei skaitikliai nesistumia, paketas niekada nepateko į tunelį, kad ir ką sakytų maršrutų lentelė. Jei jie juda, o niekas neateina, tolimoji pusė jį meta arba neteisingai maršrutizuoja. Šie du rezultatai veda pas visiškai skirtingas komandas.
Pavadinkite perėjimą, kuris nepavyko
Užrašykite rezultatą kaip vieną iš penkių būsenų: negauta, nepriimta politikos, nepasirinkta, neįdiegta arba šis srautas neatitiko. Pridėkite šeštą atvejui, kai vietinis kelias teisingas, o tolimasis galas negali atsakyti. Tas sakinys yra rezultatas, ir jis daug naudingesnis už užmegzto kaimyno ekrano kopiją.
Priėmimo plane laikykite ir neigiamą testą: paskirties vieta, kuri neturi eiti per tunelį, patikrinta po pakeitimo. Kontrolinis sąrašas, įrodantis tik sėkmingą kelią, nepagaus plačios politikos taisyklės, kurią kas nors pridės kitame priežiūros lange.