Екі сайт IPsec туннелі арқылы BGP-ны теңшейді, бір-бірінің префикстерін үйренеді, ал диаграмма жолды басқару деп қайта аталады. Дәл осы белгі шатасудың басы. Сессия қолжетімділікті шынымен алмастырады және саясатты шынымен қолданады, бірақ шифрланған пакеттерді қай провайдер, кабель немесе маршрутизатор тасымалдайтынына оның айтары жоқ. Мен жұмыс істеп тұрған туннельді қайта салып жатқан команданы көрдім, өйткені олар BGP маршрутының өзгеруі трафикті сессия ешқашан әсер ете алмайтын басқа талшықты жолға көшіреді деп күткен.

Адамдар сессия нені сатып алады деп ойлайды

Күтудің көп бөлігі зертханада маршрут өзгерісі қалай көрінетінінен келеді. Сіз туннель арқылы префикс жариялайсыз, алыс жақ оны орнатады, трафик қозғалады. Дәл осы реттілік трафикті инженерлеу тетіктері шынымен бар маршрутизаторда да болады, сондықтан екеуі шатастырылады. Зертханада екі сайт әдетте бір кіру желісін бөліседі, дәл сондықтан айырмашылық онда ешқашан көрінбейді.

BGP — қолжетімділік протоколы. Ол теңшеушіге префикс үшін пакеттерді жеткізе алатыныңызды айтады және әр жаққа алған ұсыныстарын реттеуге мүмкіндік береді. Бұл туннель арқылы шынымен пайдалы: сайттар келіп-кеткенде префикстер пайда болып, жоғалады, ал сіз әр шеткі құрылғыда статикалық маршрут жазбай-ақ диапазонды қабылдамай аласыз. Ол жасамайтыны — провайдердің маршрутизаторларын сіздің бақылауыңызға қою.

Төменгі қабат сыртқы тақырыпшаны тасымалдайды. Туннель соңы шифрланған пакеттерді теңшеуші мекенжайына жібереді, ал сол екі мекенжай арасындағы желі оларды өз операторлары орнатқан маршруттармен жөнелтеді. BGP сессиясында ештеңе бұл шешімді өзгертпейді, егер сол провайдер мұны жасайтын қолдау көрсетілген қызмет ұсынбаса.

Сессия шын мәнінде нені тасымалдайды

BGP сөйлеушісі өз теңшеушісінің 179 портына TCP қосылысын ашады, RFC 4271-де анықталған хабарлама форматтары мен жол атрибуттарын пайдаланып. Теңшеуші мекенжайы туннельдің ішінде болса, сессия басталмас бұрын туннель көтеріліп, сол мекенжайға қол жеткізу керек. Аяқталған IKE алмасуы BGP көршісі емес. Маршрутқа негізделген IPsec іске асырулары сәйкес туннель маршруты болғанда ғана трафикті өткізеді, ал саясатқа негізделгені қорғалған селектордың ішінде теңшеуші мекенжайын қажет етеді. Мұны керісінше жасау туннель жасыл, ал сессия бос тұрған классикалық күйді тудырады.

Сессия көтерілген соң, саясат оның ішінен ненің өтетінін шешеді. Префикс тізімдері, AS-жол сүзгілері, ең көп префикстер шегі және әдепкі маршруттар туралы нақты шешім — минимум, және олар екі бағытта да қолданылады. Алғанының бәрін қабылдайтын теңшеуші сізге жергілікті интернетке қатынауды үнсіз алмастыратын әдепкі маршрут бере алады. Екі бағытқа бөлек тізімдер керек, өйткені теңшеушіден қабылдағаныңыз бен оған жариялағаныңыз екі түрлі шешім.

router bgp 65010
 neighbor 10.255.0.2 remote-as 65020
 address-family ipv4 unicast
  neighbor 10.255.0.2 prefix-list SITE-B-IN in
  neighbor 10.255.0.2 prefix-list SITE-B-OUT out
  neighbor 10.255.0.2 maximum-prefix 50

Әрі қарай MTU тістеп алады. Инкапсуляция пайдалы жүктемені азайтады, сондықтан үлкен жаңарту толық орнатылғандай көрінетін сессияны тоқтатып қоюы мүмкін: теңшеуші жоғары тұрады, префикстер ешқашан келмейді, журналда айқын ештеңе қалмайды. Сүзгілерді кінәламас бұрын туннель интерфейсінде TCP MSS-ті шектеңіз немесе қосымша шығысқа орын қалдырып туннель MTU-ін орнатыңыз.

Сыртқы пакеттер әлі қайда барады

Бір сайттан екіншісіне шифрланған пакеттер жергілікті маршрутизатор теңшеушінің жария мекенжайы үшін таңдаған жолмен шығады. Егер екі сайт та транзитті бір провайдерден сатып алса, бір метро нысанынан өтсе немесе бір жағы оператор деңгейіндегі NAT-тың артында болса, туннель провайдер ақауынан тек кездейсоқ аман қалады. Мониторинг құралында туннель белгішелерін санау бұл туралы ештеңе айтпайды.

Маршрут таңдау мен жөнелтуді орнату да бөлек оқиғалар. Префикс BGP кестесінде ең жақсы болып тұрып, жөнелту кестесінде жоқ болуы мүмкін, өйткені келесі секіріс шешілмейді немесе нақтырақ маршрут жеңеді. Біреу BGP префиксті үйренді, бірақ трафик ақпайды деп хабарлағанда, пайдалы сұрақ — ол орнатылған ба және қай келесі секіріске сілтейді.

Дизайн шолуы үшін адал жауап — ортақ тәуелділіктер тізімі: кіру тізбегі, жоғарғы провайдер, нысан және қайтару жолындағы кез келген күйді сақтайтын құрылғы. Туннель арқылы өтетін сессия өзінің үстінде тұрмаған тәуелділікті алып тастай алмайды.

Бөлуге тұрарлық үш шешім

Дизайн бұларды араластырса, әр үзіліс әңгімесі шеңбермен жүреді. Алдымен оларды қағазда бөліңіз, содан кейін әрқайсысын оны шынымен орындайтын құрылғыға байланыстырыңыз.

DecisionWho controls itTypical failure
Which prefixes may cross the relationship?Both sides, through prefix and AS-path policy you configure deliberatelyA default route accepted by mistake, or a vague aggregate
Which overlay next hop wins?Local BGP selection plus next-hop resolution on your own routersPrefix learned, never installed in the forwarding table
Where do the encrypted packets travel?The underlay operators, unless a supported service adds real controlPath diversity that was never there

Әр жолдың иесі бөлек. Біріншісі — келіссөз, екіншісі — құрылғыларыңыздағы конфигурация, үшіншісі — көбінесе біреудің желісі. Өзі тиетін жолды атайтын өзгеріс сұранысын мақұлдау BGP мәселесі дейтін сұраныстан әлдеқайда оңай.

Жоспарлауға тұрарлық ақау режимдері

Теңшеушінің жиынтық маршрутын қабылдау — ең көп тараған өзіне салынған жара. Біреу алмасуды жеңілдету үшін қысқа агрегат жариялайды, алыс жақ оны қабылдайды, ал туннельдің артында жоқ диапазондардың трафигі туннельді ұстанып өледі. Нақты күтілетін префикстер бойынша сүзіңіз немесе дұрыс шекаралары бар префикс тізімін қолданыңыз, және ешқашан жалаң агрегатты қабылдамаңыз, өйткені ол сессияны ретті көрсетеді.

Кері қайтару уақыты — екіншісі. Анықтау ұстау таймерлеріне, қосқан болсаңыз BFD-ке, туннельдің өлі теңшеушісін анықтауға және алыс жақтың жариялауды қаншалықты тез тоқтататынына байланысты. Бар сессиялар — бөлек мәселе: жаңа маршрут жаңа қосылыстарды қалпына келтіруі мүмкін, ал орнатылған TCP сессиялары ескірген мекенжайларды пайдалануды жалғастырады, жолдағы күйді сақтайтын файрволдар немесе NAT енді сәйкес келмейтін жазбаларды ұстауы мүмкін. Маршрут өзгерісі бәрін реттейді деп болжаудың орнына қолданбаны қалпына келтіруді қабылдау критерийлеріне қосыңыз.

Үшіншісі — қайтару жолының асимметриясы. Трафик туннель арқылы келіп, оны тасымалдауға ешқашан арналмаған провайдер желісі арқылы қайтуы мүмкін, бұл бір бағытты дыбыс, сәтсіз қол алысу немесе жауаптарды тастайтын файрвол ретінде көрінеді. Екі бағытты бөлек тексеріңіз.

Келісімшартқа нені жазу керек және оны қалай тексеру керек

Рұқсат етілген префикстерді жазбаша сұраңыз: әр диапазонды жасауға кімнің құқығы бар, әдепкі маршрутқа рұқсат етілген бе және туннель қызметі қай мекенжай отбасыларын қолдайды. RFC 8212 оны ұстанатын іске асыруларда eBGP үшін айқын импорт пен экспорт саясатын күтуге айналдырды, сондықтан әлі де жасырын бәрін-қабылдау мінез-құлқына сүйенетін теңшеушіні сұрауға тұрарлық.

Содан кейін диаграммадан емес, құрылғыдан тексеріңіз. FRR үлгісіндегі маршрутизаторлардағы пайдалы командалар:

show bgp summary
show bgp ipv4 unicast 10.10.0.0/16
show bgp ipv4 unicast neighbors 10.255.0.2 advertised-routes
show ip route 10.10.0.0/16

Маршрут кестесі бере алмайтын екі бақылау қосыңыз. Инкапсуляцияланған пакеттер шын мәнінде қай мекенжайды нысанаға алатынын растау үшін сыртқы интерфейсте түсіріңіз, мысалы tcpdump -ni eth0 udp port 51820 WireGuard туннелі үшін немесе IPsec үшін ESP сүзгісі. Содан кейін теңшеушінің жария мекенжайына қарай іздеңіз және секірістерді туннель ішіндегі ізбен салыстырыңыз; егер екеуі де бір провайдер тізбегін ұстанса, сіздің артықтығыңыз желіде емес, маршрут саясатында өмір сүреді.

Соңында, кері қайтаруды әдейі сынап көріңіз. Техникалық қызмет көрсету терезесінде туннельді түсіріңіз, префикс қанша уақыт орнатылып тұратынын, бар сессияларға не болатынын және алыс жақ шын мәнінде қабылдайтын маршрутқа қайтатынын жазып алыңыз. Бұл жаттығу дизайн туралы кез келген диаграммадан көп айтады.

Маршрут — рұқсат емес. Алмасуға келіскен префикстер қай пайдаланушылар туннельдің артындағы қай қызметке жете алатыны туралы ештеңе айтпайды, сондықтан аутентификацияны, рұқсат етілген қызметтерді және хост файрволдарын дәл қайда болса, сонда қалдырыңыз. Қолжетімді теңшеуші де шексіз транзитке немесе ерікті мекенжайларды жасауға рұқсат емес, және мұндай өкілеттік келісімшартта коммерциялық мәселе ретінде тұруы керек, BGP саясат жолында емес.

  • Әр жақ жасай алатын префикстерді және ол ешқашан қабылдамауға тиіс префикстерді атаңыз.
  • Туннельде MSS-ті шектеңіз және үлкен жаңартулардың шынымен келетінін растаңыз.
  • Ортақ төменгі қабат тәуелділіктерін тізімдеңіз, туннельдер санын емес.
  • Нақты кері қайтаруды өлшеп, қолданбаның не істейтінін жазып алыңыз.

Қатысты мақалалар