Вы дадаяце галіновы маршрут, ён працуе, а затым абнаўленне прашыўкі або захаванне з вэб-інтэрфейсу выдаляе яго. Два выпраўленні ў той момант выглядаюць аднолькава разумнымі: змясціць маршрут у падтрыманую крыніцу канфігурацыі прылады або дапісаць яго ў згенераваны файл са скрыпта запуску. Яны паводзяць сябе аднолькава тыдзень і разыходзяцца пры другім абнаўленні. Гэты артыкул параўноўвае, чым насамрэч валодае кожны з іх.

Два кандыдаты валодаюць рознымі рэчамі

Падтрыманая крыніца канфігурацыі — гэта ўсё, што прылада лічыць уводам: поле GUI, імпартаваны профіль, дакументаваны каталог для кожнага кліента, база налад, якую чытае пакет кіравання. Згенераваны server.conf — гэта вывад. Рэдагаванне вываду працуе, пакуль генератар не запусціцца зноў, а гэта адбываецца пры захаванні, пры перазапуску і пры абнаўленні.

Падыход са скрыптам латае гэты вывад пасля завяршэння генератара. Гэта законная тэхніка для лабараторыі, і гэта няправільная пазіцыя па змаўчанні для філіяла, бо яна робіць маршрут залежным ад супадзення тэксту, а не ад дакументаванага поля.

QuestionSupported config sourcePost-generation script
Survives a GUI saveYesOnly if the save does not regenerate the file
Survives a package upgradeUsually, when the field is documentedNo guarantee; the wrapper can be replaced
Supportable by the vendorYesNo
Obvious to the next adminYes, it is in the UINo, it lives in a wrapper

Што прылада генеруе зноў, і калі

Пакеты кіравання звычайна трымаюць налады ў базе даных або наборы шаблонаў і фарміруюць канфігурацыю дэмана пры запуску. Захаванне з вэб-інтэрфейсу часта перапісвае ўвесь файл, а не латае радок. Калі ваша змена жыла ў гэтым файле, цяпер яна знікла, і нішто не запісвае папярэджанне, бо з пункту гледжання прылады нічога не было страчана.

Абгорткі запуску маюць другі рэжым адмовы. grep па дырэктыве з пэўнымі прабеламі перастае супадаць пасля змены шаблона, і скрыпт моўчкі нічога не робіць. Горш таго, абнаўленне прашыўкі можа замяніць абгортку новай версіяй, забраўшы латку з сабой. Тады ў вас ёсць маршрут, які існаваў год і знік падчас абслугоўвання, якое ніхто не звязваў з маршрутызацыяй.

Што павінен выказаць падтрыманы ўласнік

Галіновы прэфікс патрабуе трох сцвярджэнняў, а не аднаго. Кліент павінен даведацца маршрут, сервер павінен ведаць, які аўтэнтыфікаваны кліент валодае прэфіксам, а галіновы бок павінен вяртаць трафік на адрас тунэля, які яму далі. У тэрмінах OpenVPN гэта значыць адпраўлены route, адпаведны iroute, прывязаны да кліента, і зваротны шлях на тым баку.

Менавіта тут інтэрфейсы прылад уводзяць у зман. Сцяжок з подпісам «дазволіць кліентам доступ да лакальнай сеткі сервера» апісвае трафік у бок уласнай сеткі сервера. Ваша філія — процілеглы кірунак: сетка за адным кліентам, дасяжная з боку сервера. Той жа подпіс не азначае падтрымку гэтага, і слушная дырэктыва ў файле не з'яўляецца абяцаннем, што пакет захавае яе.

Калі падтрыманага кіравання няма

Часам усталяваны выпуск сапраўды не можа выказаць маршрут, спецыфічны для аднаго адрасата. Тады сумленныя варыянты — іншы шлюз, які вы кантралюеце, або падтрыманы рэжым «пляцоўка-пляцоўка» на абодвух канцах. Абодва канцы павінны яго разумець. Старонка прадукту са словамі «пляцоўка-пляцоўка» не робіць адвольны профіль OpenVPN узаемазаменным з тунэлем іншага пратаколу, і прымусовае спалучэнне звычайна дае паўпадключаны тунэль, які выглядае добра на старонцы стану.

Выберыце варыянт, які вы можаце апісаць адным сказам таму, хто атрымае сетку ў спадчыну. Калі адказ патрабуе згадкі шляху да скрыпта і тэкставага шаблону, дызайн ужо нетрывалы.

Зрабіце намер аўдытаваным

Запішыце дамову па-за прыладай: фактычная ідэнтычнасць кліента, прэфікс, зваротны шлюз і падтрыманае поле, якое дае кожнае з іх. Экспартуйце канфігурацыю праз падтрыманы механізм, каб перабудова мела ўзор, і правярайце працу пасля перападключэння, перазапуску і абнаўлення, а не толькі пасля змены.

Параўноўвайце згенераваны вынік з гэтым запісам, калі нешта ламаецца, замест таго каб аднаўляць невытлумачаны радок і спадзявацца.Даведнік OpenVPN 2.6 — гэта месца, дзе варта пацвердзіць, як route і iroute ўзаемадзейнічаюць, перш чым спрачацца з інтэрфейсам.

Кантрольны спіс для наступнай змены: назавіце ўласніка, зафіксуйце трохчасткавую дамову, экспартуйце намер і паўторна праверце пасля ўласных падзей жыццёвага цыклу прылады, а не пасля вашай праўкі.

Падобныя артыкулы