strongSwan vips: як запытаць у IKEv2 віртуальны адрас
vips запытвае ўнутраны адрас IKEv2; рашэнне, што выдаць, прымае шлюз. Наладзьце запыт, загрузіце яго, а потым праверце, што насамрэч прызначыў адказнік.
Ваш кліент IKEv2 можа запытаць у шлюза ўнутраны адрас, і шлюз вырашае, што вярнуць. У strongSwan такі запыт — гэта налада vips, і яна застаецца запытам, нават калі вы запісваеце ў яе канкрэтны адрас. Інструкцыя ніжэй наладжвае запыт, загружае яго і чытае тое, што вярнулася, бо гэтыя тры крокі адмаўляюць трыма рознымі спосабамі. Ні адзін з іх не становіцца карацейшым ад таго, што вы друкуеце мацней.
Што просіць vips і чаго ён не можа абяцаць
vips належыць да азначэння злучэння і запытвае ў адказніка віртуальны адрас. Кіраўніцтва strongSwan па віртуальных адрасах недвухсэнсоўна кажа, што адказ можа быць іншым адрасам або не быць нічога, і менавіта гэтую фразу прапускаюць, калі запісваюць значэнне і чакаюць, што яно з’явіцца. Запыт усё роўна варта зрабіць, бо правяраеце вы менавіта адказ. Стаўцеся да налады як да загаду спытаць, а не як да налады выніку.
Запыт 0.0.0.0 просіць любы даступны віртуальны адрас IPv4, і гэта звычайна правільна, калі дакладнае значэнне не мае значэння. Запыт канкрэтнага адраса — гэта падказка шлюзу, а не патрабаванне да яго.
Фрагмент swanctl і дзе ён месціцца
Налада знаходзіцца ўнутры блока злучэння, а не ў асобным файле і не ў профілі аперацыйнай сістэмы. Гэты ізаляваны фрагмент паказвае форму:
connections {
net {
local_addrs = 192.0.2.10
remote_addrs = 203.0.113.5
vips = 10.77.0.31
children {
net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
}
}
}
Загрузіце яго файлам, які валодае злучэннем, затым ініцыюйце злучэнне і прачытайце вынік. Фрагмент, устаўлены не ў той раздзел, дае памылку разбору або, што горш, злучэнне, якое загружаецца без таго запыту, які вы, як вам здавалася, зрабілі. Выканайце тры каманды паслядоўна і захавайце вывад.
swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas
local_ts выбірае трафік, а не стварае адрас
local_ts называе набор трафіку, які абараняе даччыны SA; ён не змяшчае адрас на інтэрфейсе. Пасля ўзгаднення віртуальнага IP strongSwan перастае выкарыстоўваць свой стандартны дынамічны селектар і замест гэтага выкарыстоўвае выдадзены адрас. Замацуйце селектар за літаральным адрасам, і вы сцвярджаеце тое, што шлюз мог і не выдаць, таму збой выглядае як працоўны SA з трафікам, які нікуды не ідзе. Селектар апісвае трафік, а прызначэнне прыходзіць з іншага абмену.
Іншы спосаб атрымаць стабільны ўнутраны адрас — валодаць ім лакальна. Змесціце адрас на інтэрфейс да ўзняцця тунеля, накіруйце селектар на тое, што ўжо існуе, і ўпарадкуйце партнёра і маршрут вакол яго.
У такой схеме нічога не ўзгадняецца, таму нічога не можа быць перапрызначана, і гэта кампраміс: дэтэрмінаванасць у абмен на тое, што адрасаваннем займаецеся вы самі. Гэта іншы механізм, а не варыянт vips, таму іх не варта змешваць у адным злучэнні. Замацаваны селектар побач з узгодненым адрасам — гэта злучэнне, якое працуе, пакуль шлюз не выдасць нешта іншае.
Праверце, што насамрэч прызначыў адказнік
Прачытайце спіс SA, каб знайсці адрас, які выдаў шлюз, затым пацвердзіце, што гэты адрас ёсць на інтэрфейсе. Калі яны не супадаюць, тунель узняты, а трафік ідзе не туды, куды вы думаеце. Выдадзены адрас, які так і не дасягае інтэрфейса, — самы заблытаны збой у гэтай паслядоўнасці, бо кожная палова выглядае правільнай сама па сабе.
Трымайце ў нататках чатыры адрасы асобна: запытаны ўнутраны адрас, выдадзены, LAN-адрас машыны і публічны выхад, які паведамляе нейкі сайт. Яны належаць розным узроўням і з’яўляюцца ў розных месцах. Інструкцыя, якая запісвае ўсе чатыры, — гэта тая, якой іншы чалавек можа ісці, не пытаючыся, які адрас вы мелі на ўвазе. Перачытвайце іх пасля кожнай перазагрузкі, бо выдадзенае значэнне — адзінае, што апісвае жывы тунель.
Трымайце статычную схему асобна
Калі вам патрэбны фіксаваны ўнутраны адрас, уладкуйце рэзерваванне на шлюзе і пакіньце запыт кліента запытам. Змешванне замацаванага селектара з узгодненым адрасам дае злучэнне, якое працуе, пакуль шлюз не прызначыць нешта іншае. Запішыце правіла рэзервавання побач са злучэннем, бо гэта тая частка, якую калега не можа вывесці з файла канфігурацыі. Тады новы кліент атрымлівае правіла ў спадчыну, а не адкрывае яго нанова.
У убудаваным кліенце Mac ніводнага з гэтых імёнаў опцый не існуе. Выкарыстоўвайце любое прызначэнне або рэзерваванне, якое прапануе шлюз, і профіль, які публікуе аператар, а любое значэнне на баку кліента лічыце падказкай, пакуль не перачытаеце прызначэнне. Адкат — гэта выдаленне радка vips і перазагрузка, што вяртае вас да таго, што шлюз прызначае па змаўчанні.