AWS Site-to-Site VPN: сырткы, ички жана LAN префикси
Бир AWS VPNде үч дарек ролу аралашат: сырткы өнөктөштөр, ички /30 байланышы жана корголгон LAN префикстери. Аларды жүктөлгөн конфигурациядан окуңуз.
AWS Site-to-Site VPN каталарынын көбү дарек каталары жана алар бир да пакет кыймылдабай туруп жасалат. Туннелдин сырткы даректери IPsec өнөктөштөрүнө жетет, ички даректер алардын ортосундагы маршруттоо байланышын түзөт, ал эми корголгон префикстер ошол байланыштын максаты. Бир ролду экинчисине көчүрсөңүз, туннел көтөрүлөт, бирок эч нерсе маршрутталбайт. Мына BGP кардар дарбазасында колдонгон окуу-текшерүү-конфигурациялоо тартиби; маанилер эстен эмес, жүктөлгөн түзмөк конфигурациясынан алынат.
Үч дарек ролу, бир туннел
Сырткы даректер коомдук жана IPsec өнөктөштөрүнө таандык: AWS тарапта ар бир туннелге бири, ал эми сиздин тарапта кардар дарбазасынын жеткиликтүү инсандыгы, чыныгы NAT түзүлүшүңүзгө ылайыкташтырылган. Ички даректер жеке жана логикалык байланышка таандык, аны AWS 169.254.0.0/16 ичинен алынган /30 деп документтейт. Корголгон префикстер — ошол байланыш аркылуу маршруттап жана жарыялап жаткан VPC, жергиликтүү же транзиттик тармактар.
LAN префиксин туннелдин интерфейсинин дареги катары берүү — бул катанын классикалык түрү. Интерфейс конфигурациялангандай көрүнөт, LAN жарыяланбайт, ал эми каршы тарапта ага маршрут жок. Туннел өзүнүн ички pingин да өткөрө алат, бирок ар бир колдонмо аталышы убакыт чегине жетет. Туннел параметрлеринин маалымдамасы ички CIDR чектөөлөрүн, анын ичинде кайсы дарек диапазонунан болушу керектигин тизмелейт.
Маанилерди жүктөлгөн конфигурациядан окуңуз
Туташуудан өзүңүздүн конкреттүү түзмөк моделиңиз үчүн конфигурацияны жүктөп алыңыз, анан анын дарек таблицасын чындыктын булагы деп эсептеңиз. Консол ар бир туннел үчүн ошол эле маанилерди көрсөтөт: сырткы IP, ички CIDR жана AWS тараптагы BGP өнөктөшүнүн дареги. Эки туннел өзүнчө объектилер, өзүнчө сырткы акыркы чекиттери жана өзүнчө ички /30дары менен, экөө тең бирдей корголгон тармактарды ташыса да.
aws ec2 describe-vpn-connections --vpn-connection-ids vpn-0123456789abcdef0 \
--query 'VpnConnections[0].Options.TunnelOptions[].[OutsideIpAddress,TunnelInsideCidr]'
aws ec2 describe-customer-gateways --customer-gateway-ids cgw-0123456789abcdef0 \
--query 'CustomerGateways[0].[IpAddress,BgpAsn]'Эгер жүктөлгөн файл менен тирүү консол дал келбесе, файл эскирген. Даректерди кол менен оңдоонун ордуна кайра жүктөңүз, анткени ички жуп менен өнөктөштүн конфигурацияланган коңшусунун ортосундагы дал келбестик — үнсүз BGP бузулушу.
Байланышты туура дарек менен куруңуз
Linux дарбазасында туннел — VTI же XFRM интерфейси, ал эми ички /30 ошол интерфейске жайгашат. Эки туннел эки интерфейс жана эки BGP коңшусун билдирет, ар бир AWS акыркы чекитине бири. AWS жүктөлгөн түзмөк конфигурациясында баскан конвенция виртуалдык жеке дарбазаны ар бир ички /30дун биринчи дарегине, ал эми сиздин кардар дарбазаңызды экинчисине коёт, ошондуктан сиз бийик даректи аласыз жана төмөнкү менен коңшулашасыз. Бул жерде эч нерсеге LAN дареги керек эмес.
ip tunnel add tun0 mode vti local 203.0.113.10 remote 18.230.1.1 key 42
ip addr add 169.254.10.2/30 dev tun0
ip link set tun0 up mtu 1400
ip tunnel add tun1 mode vti local 203.0.113.10 remote 18.230.2.1 key 43
ip addr add 169.254.10.6/30 dev tun1
ip link set tun1 up mtu 1400Эгер түзмөк моделиңиздин файлы тескери жупту басса, анын сандарын колдонуңуз жана эрежени кармаңыз: интерфейстеги дарек — сиздики, өнөктөштүн дареги AWSке таандык. Тескери кылуу эч качан Established абалына жетпеген туннель берет, анткени сиз конфигурациялаган коңшу — өз интерфейсиңизде мурунтан бар дарек.
Белгини жана VTI ачкычын IKE демонунун туунду SAны интерфейске байлоо үчүн колдонгону менен шайкеш кармаңыз, болбосо трафик туннелге келет, бирок конууга интерфейс жок. MTUну башка сайттан сан көчүрбөстөн, жолго жана IKE демонунун өз жөндөөлөрүнө салыштырып текшериңиз.
Маршруттарды текшерүүдөн мурун BGPни текшериңиз
IPsecтин көтөрүлүшү өнөктөштөрдүн коопсуздук ассоциациясы боюнча макулдашканын далилдейт, башка эч нерсени эмес. BGP сессиясы — ички байланыш үстүндөгү өзүнчө сүйлөшүү, ошондуктан коңшунун абалын жана префикс эсептегичтерин окуп, анан жарыялайын дегениңиз менен салыштырыңыз.
ip -s addr show dev tun0
vtysh -c 'show bgp summary'
vtysh -c 'show bgp neighbors 169.254.10.1'
vtysh -c 'show ip bgp neighbors 169.254.10.1 advertised-routes'Established абалы жана нөл кабыл алынган префикс — бул саясат же жарыялоо маселеси, туннелдин маселеси эмес. Бүт текшерүүнү экинчи туннелде кайталаңыз; иштеп жаткан биринчи туннел даректер ишенимдүү экенин айтат, экинчи туннелдин такыр конфигурацияланганын эмес.
Маршрутталган пакетти ээрчиңиз, анан токтоңуз
Сессия префикстерди ташыгандан кийин, маршрутту дарбазадан эки багытта тең текшериңиз: булак дареги, кийинки кадам жана трафикке жол берген коопсуздук саясаты. BGP сессиясы көтөрүлгөн болушу мүмкүн, ал эми колдонмоңузга керек конкреттүү префикс чыпкаланган, жыйынтыкталган же туура эмес интерфейске багытталган болушу мүмкүн.
Reachability Analyzer — AWS тараптагы курал, ал булак, бараан жана жолду алып, колдоого алынган конфигурацияда кайсы компонент аны тосконун билдирет. Аны VPCден сиздин кардар дарбазаңыздын дарегине чейинки жолду текшерүү үчүн колдонуңуз, колдонмо хостунан эмес. Ал конфигурацияны талдайт жана жергиликтүү брандмауэр аркылуу пакет жибербейт, ошондуктан анын өкүмүн өз интерфейс эсептегичтериңизден жана пакет жазууларыңыздан өзүнчө кармаңыз.
Ар бир туннел үчүн сырткы жупту, ички /30ду жана жарыяланган префикстерди бир таблицага жазыңыз. Так ошол таблица кийинки өзгөртүүнү карап чыгууга мүмкүн кылат.