Маршрут на устройство OpenVPN: собственик на конфигурацията или скрипт за стартиране?
Клонов маршрут, който оцелява след едно рестартиране, може все пак да изчезне след запазване от GUI или актуализация на фърмуера. Сравнете поддържания собственик на конфигурацията с коригиращ скрипт.
Добавяте клонов маршрут, той работи, а после актуализация на фърмуера или запазване от уеб интерфейса го премахва. Две поправки изглеждат еднакво разумни в този момент: да поставите маршрута в поддържания източник на конфигурация на устройството или да го добавите към генерирания файл от скрипт за стартиране. Те се държат еднакво една седмица и се разминават при второто обновяване. Тази статия сравнява какво всъщност притежава всяка от тях.
Двата кандидата притежават различни неща
Поддържаният източник на конфигурация е всичко, което устройството третира като вход: поле в GUI, внесен профил, документирана директория за всеки клиент, база с настройки, която пакетът за управление чете. Генерираният server.conf е изход. Редактирането на изход работи, докато генераторът не се задейства отново, а това става при запазване, при рестартиране и при обновяване.
Подходът със скрипт коригира този изход, след като генераторът приключи. Това е законна техника за лаборатория и е грешната настройка по подразбиране за клонов офис, защото прави маршрута зависим от съвпадение на текст, а не от документирано поле.
| Question | Supported config source | Post-generation script |
|---|---|---|
| Survives a GUI save | Yes | Only if the save does not regenerate the file |
| Survives a package upgrade | Usually, when the field is documented | No guarantee; the wrapper can be replaced |
| Supportable by the vendor | Yes | No |
| Obvious to the next admin | Yes, it is in the UI | No, it lives in a wrapper |
Какво регенерира устройството и кога
Пакетите за управление обикновено пазят настройките в база данни или набор от шаблони и изграждат конфигурацията на демона при стартиране. Запазването от уеб интерфейса често пренаписва целия файл, вместо да коригира ред. Ако промяната ви е живяла в този файл, сега я няма и нищо не записва предупреждение, защото от гледна точка на устройството нищо не е изгубено.
Обвивките за стартиране имат втори режим на отказ. grep за директива с определено разстояние спира да съвпада след промяна на шаблона и скриптът мълчаливо не прави нищо. По-лошо, актуализация на фърмуера може да замени обвивката с нова версия и да отнесе корекцията със себе си. Тогава имате маршрут, който е съществувал година и е изчезнал по време на поддръжка, която никой не е свързал с маршрутизирането.
Какво трябва да изрази поддържаният собственик
Клоновият префикс изисква три твърдения, не едно. Клиентът трябва да научи маршрута, сървърът трябва да знае кой удостоверен клиент притежава префикса, а клоновата страна трябва да връща трафика към адреса на тунела, който ѝ е даден. На езика на OpenVPN това означава изпратен route, съответстващ iroute, обвързан с клиента, и обратен път от другата страна.
Тук интерфейсите на устройствата подвеждат. Поле с отметка „разреши на клиентите достъп до LAN на сървъра“ описва трафик към собствената мрежа на сървъра. Вашият клон е в обратната посока: мрежа зад един клиент, достъпна от страната на сървъра. Същият надпис не означава поддръжка за това и валидна директива във файл не е обещание, че пакетът ще я запази.
Когато няма поддържано управление
Понякога инсталираното издание наистина не може да изрази маршрут, специфичен за партньор. Тогава честните варианти са друг шлюз, който контролирате, или поддържан режим „сайт към сайт“ в двата края. Двата края трябва да го говорят. Страница на продукт, която казва „сайт към сайт“, не прави произволен профил на OpenVPN взаимозаменяем с тунел на друг протокол и налагането на тази двойка обикновено дава наполовина свързан тунел, който изглежда добре на страница със състояние.
Изберете варианта, който можете да опишете с едно изречение на този, който наследява мрежата. Ако отговорът изисква да споменете път до скрипт и текстов шаблон, дизайнът вече е крехък.
Направете намерението проверимо
Запишете договора извън устройството: ефективна идентичност на клиента, префикс, обратен шлюз и поддържаното поле, което осигурява всяко от тях. Експортирайте конфигурацията чрез поддържания механизъм, за да има преизграждането ориентир, и проверявайте услугата след повторно свързване, рестартиране и обновяване, а не само след промяната.
Сравнявайте генерирания резултат с този запис, когато нещо се счупи, вместо да възстановявате необяснен ред и да се надявате.Справочникът за OpenVPN 2.6 е мястото, където да потвърдите как route и iroute си взаимодействат, преди да спорите с интерфейс.
Списък за следващата промяна: назовете собственика, опишете тристранния договор, експортирайте намерението и тествайте отново след собствените събития от жизнения цикъл на устройството, а не след вашата редакция.