Отваряте опциите на Site-to-Site VPN, виждате две полета за CIDR, обозначени като локално и отдалечено, и посегнахте към адреса, който смятате за локален: VPC. Това е обратното на това, което има предвид API. В опциите за връзка LocalIpv4NetworkCidr обозначава страната на клиентския шлюз, а RemoteIpv4NetworkCidr — страната на AWS, защото връзката се изгражда от клиентския шлюз. Конзолата никога не го казва на глас и нищо не отхвърля правдоподобна размяна.

Започнете от извикването на API, а не от етикета в конзолата

Прочетете справката за опциите на връзката веднъж докрай и забележете, че всяка опция е написана от гледната точка на клиентския шлюз. Това не е случайност в именуването. Тунелът е описан такъв, какъвто го вижда устройството, което го терминира от ваша страна, така че локално означава мрежата зад вашия шлюз, а отдалечено — мрежата зад шлюза на AWS. И двете полета за IPv4 и IPv6 следват същото правило.

Напишете двата етикета на лепящо листче, преди да въведете каквото и да е: страна на клиента, страна на AWS. След това съпоставете адресите си с тях.

Разработен пример с прикачени роли

Да предположим, че префиксът на локалната мрежа е 10.20.0.0/16, а префиксът на VPC е 10.60.0.0/16. Опциите се четат точно както подсказват ролите, с диапазона на локалната мрежа в локалното поле:

{
  "LocalIpv4NetworkCidr": "10.20.0.0/16",
  "RemoteIpv4NetworkCidr": "10.60.0.0/16"
}

Сега дайте същата двойка на този, който конфигурира партньорското устройство, и наблюдавайте как капанът се задейства. При много защитни стени локално означава интерфейса, на който тунелът терминира, а отдалечено — далечния край, което е обратното съпоставяне за страната на AWS. И двамата могат да са прави и пак да се получи тунел, който никога не се установява, защото двата речника описват различни крайни точки.

Повторете упражнението на хартия с терминологията на партньора, с двата CIDR и двата етикета, преди да пипнете някое устройство.

Стойностите по подразбиране не са дизайн

Същата справка изброява 0.0.0.0/0 като стойност по подразбиране за двете полета за IPv4, с аналогични стойности за IPv6. Виждането на тези стойности в съществуваща връзка ви казва, че полето никога не е било стеснявано, а не че е конфигуриран изход към интернет. Разпределението на маршрутите, таблицата с маршрути на подмрежата и контролите за сигурност все още решават какъв трафик може реално да премине; стойностите на CIDR само описват кои диапазони тунелът е готов да избира.

Затова замяната на по-тясна стойност със стойността по подразбиране не е трик за съвместимост, който да приложите, когато тунелът се държи неправилно. Тя разширява селектора и оставя всеки друг слой точно какъвто е бил.

Партньорското устройство използва другата гледна точка

След като страната на AWS е ясна, конфигурацията на партньора е мястото, където живее по-голямата част от останалото объркване. Устройство, което иска локална мрежа и отдалечена мрежа, описва собствения си интерфейс като локален, така че вашият диапазон на VPC отива в неговото отдалечено поле, а вашият локален диапазон — в неговото локално поле. Ако вместо това иска селектори на трафик по двойки, вие записвате двете посоки изрично и етикетите имат по-малко значение от сдвояването.

Четете помощта за полетата на устройството, а не имената на полетата. Доставчиците използват едни и същи две думи за три различни понятия.

След това проверете състоянието на тунела за двете фази, тъй като несъответстващ селектор обикновено се проявява като отказ във втората фаза, докато първата фаза си стои установена.

Променяйте опциите като промяна, а не като документация

Редактирането на опциите за връзка на работещ VPN може да прекъсне услугата, така че го третирайте като дейност по поддръжка с прозорец, стойност за връщане назад и бележка кой е засегнат. Първо запишете текущите опции, включително двете полета за CIDR и опциите на тунела, така че връщането назад да е поставяне, а не пресъздаване.

След промяната проверете от страната на AWS и от партньора: източник във всеки диапазон, достигащ дестинация в другия, в двете посоки. Един ping от една страна доказва един селектор.

След това актуализирайте документацията на връзката с изписани роли, за да не се налага следващият човек да открива наново, че локално означава вашата страна.

Подобни статии