Планаванне прыватнага доступу праз двухстэкавы IKEv2 з strongSwan
Знешні транспарт, пулы кліентаў і абароненыя прэфіксы — гэта тры асобныя рашэнні. Адкажыце на кожнае і трымайце прыватную адрасацыю асобна ад выхаду.
Двухстэкавы тунель — гэта не адно рашэнне, а тры, і на іх можна адказаць па-рознаму. Праз якое сямейства працуе знешні тунель, якія сямействы кліент атрымлівае ўнутры і на якіх сямействах фактычна адказваюць абароненыя сэрвісы. Дызайн, які разглядае іх як адзіны выбар, альбо нясе IPv6, які ніколі не быў патрэбны, альбо выдае адрасы, якія нішто не можа маршрутызаваць назад. Раздзяліце гэтыя тры, і астатняя частка канфігурацыі стане амаль механічнай.
Тры віды адрасоў, якія вырашаюцца асобна
Знешні адрас — гэта тое, як два шлюзы дасягаюць адзін аднаго, і ён можа быць IPv4, пакуль унутраны трафік нясе абодва сямействы. Унутраны віртуальны адрас — гэта ідэнтычнасць кліента ўнутры тунеля, і кожнаму сямейству патрэбен свой пул. Абароненыя прэфіксы — гэта тое, чаго кліент можа дасягнуць, і яны належаць сэрвісам, а не тунелю. Змешванне трэцяга з другім выклікае большасць памылак планавання, бо абодва выглядаюць як прыватныя дыяпазоны.
Знешні транспарт толькі праз IPv4 з двухстэкавым унутраным трафікам — гэта звычайная і добра падтрыманая схема.
Вырашыце кожнае яўна і запішыце рашэнні. Калі знешні шлях толькі IPv4, скажыце пра гэта і перастаньце турбавацца пра дасягальнасць канцавых кропак праз IPv6. Калі сямейства прызначана ўнутры, але нішто на ёй не адказвае, альбо выдаліце яе з плана, альбо зрабіце гэтыя сэрвісы сапраўды двухстэкавымі.
Выдзеліце віртуальны адрас у кожным сямействе
У канфігурацыі swanctl кліент запытвае віртуальныя адрасы, і шаблон у кожным сямействе просіць адказвальніка прызначыць па адным з кожнага. Адказвальнік бярэ іх з пулаў, а пулы — гэта асобныя аб'екты ад сетак за шлюзам. Трымайце іх асобна і ў плане, бо пул, які перасякаецца з прэфіксам сэрвісу, стварае маршрутызацыю, якая выглядае правільнай да таго моманту, калі трафік трапляе кудысьці не туды.
Прасіце абодва сямействы, калі патрэбныя абодва, і адно, калі не патрэбна, бо невыкарыстаны адрас — гэта паверхня палітыкі без карысці. Канкрэтны запыт — гэта запыт, а не рэзерваванне, і адказвальнік можа вярнуць іншае значэнне паводле сваёй палітыкі. Гэтая дэталь важная там, дзе адрас жорстка зашыты ў правіла міжсеткавага экрана або ў праверку маніторынгу. Спасылайцеся на пулы па імені ў злучэнні і трымайце сеткі сэрвісаў па-за імі.
vips = 0.0.0.0, ::Стварыце ўласны ўнікальны лакальны прэфікс для пула IPv6 замест таго, каб пераймаць кароткае прыкладнае значэнне. Прыклад паказвае форму налады, а не значэнне па змаўчанні, якое трэба ўнаследаваць.
Апішыце прызначэнні асобна ад пулаў
Селектары трафіку апісваюць, што кожны бок чакае абмяняць, таму лакальныя селектары шлюза павінны называць абароненыя прэфіксы сэрвісаў, а не пулы кліентаў. Аддаленыя селектары кліента адлюстроўваюць гэтую задуму. Калі два спісы апісваюць розныя аб'екты, тунель можа ўзняцца і ўсё роўна не несці нічога карыснага.
Гэтыя ж прэфіксы патрабуюць зваротных маршрутаў і дазволенай перасылкі ўнутры сеткі шлюза, для кожнага сямейства, якое вы ўключыце.
Вось дзе прыватны план IPv6 перастае быць дастатковым. Унікальная лакальная адрасацыя дае прыватную дасягальнасць і не стварае публічны выхад IPv6, таму дызайн, які мяркуе, што непамеркаванае сямейства проста пойдзе за правіламі маскіравання IPv4, расчаруе сваіх карыстальнікаў. Калі публічны доступ да IPv6 — частка патрабавання, яму патрэбны маршрутызаваны план і вышэйшы паток, які з ім згодны. Інакш проста скажыце, што бок IPv6 толькі прыватны, і гэта сумленная мяжа, а не абмежаванне, якое трэба хаваць.
Зрабіце DNS і зваротныя шляхі наўмыснымі
Развязанне імёнаў не ідзе за транспартам. Рэзалвер можа вярнуць запісы A і AAAA праз тунель толькі з IPv4, і тады кліент паспрабуе сямейства, якое вы ніколі не планавалі. Вырашыце, якія імёны сэрвісаў павінны несці прыдатныя двухстэкавыя адказы, і зрабіце абодва гэтыя шляхі наўмыснымі. Імя, якое развязваецца ў сямейства без працоўнага шляху, стварае прыпынак, а не чыстую памылку, а прыпынкі значна цяжэй дыягнаставаць.
Дакументуйце дасягальнасць знешняй канцавой кропкі асобна, уключаючы, ці задзейнічана праходжанне NAT і якое сямейства яно выкарыстоўвае.
Затым запішыце план у шэсць радкоў: знешняя канцавая кропка, пул IPv4, пул IPv6, прэфікс сэрвісу IPv4, прэфікс сэрвісу IPv6 і маршрутызатар, які валодае адказамі для кожнага. План такой формы адказвае на пытанні, якія аператар сапраўды задае ў тры гадзіны ночы. Усё карацейшае пакідае двухстэк як другі адрас, прыкручаны да палітыкі толькі IPv4, і менавіта так ён звычайна працуе напалову.