Статични адреси на клиенти на OpenVPN зад OPNsense
Датотеката pool прави адресата леплива, не трајна. Закачете ги адресите на клиентите со override, проширете го опсегот на тунелот за аритметиката /30, потоа објавете ги.
Имињата бараат адреси што не се движат, а датотеката pool на OpenVPN само ја прави адресата леплива. Изгубете ја таа датотека, или повторно издадете сертификат под друго заедничко име, и клиентот што се враќа слетува на друго место во pool, додека неговиот DNS запис уште покажува на старата адреса. Трајниот одговор е override специфичен за клиентот што ја закачува адресата, заедно со поширока тунелска мрежа за закачените адреси да стојат надвор од динамичкиот опсег. Аритметиката зад тоа проширување е местото каде што живее најголемиот дел од конфузијата.
OPNsense ги чува овие override во поставките на серверот специфични за клиентот, со клуч заедничкото име на сертификатот, што го прави заедничкото име дел од планот за адреси.
Лепливиот закуп не е статична адреса
Датотеката pool запишува совпаѓања адреса-кон-клиент и ги враќа кога познат клиент повторно ќе се поврзе. Тоа е погодност, а не договор: датотеката може да се создаде повторно, совпаѓањето исчезнува кога идентитетот на клиентот ќе се смени, а два сервери што делат еден pool нема да се согласат за тоа. Override специфичен за клиентот работи поинаку, зашто адресата доаѓа од конфигурацијата, а не од историјата. Тој исто така го преживува рестартирањето и повторното инсталирање на уредот, под услов override да е резервно копиран со остатокот од конфигурацијата.
Динамичката алтернатива, односно поврзување на VPN со DNS преку client-connect скрипта и динамички ажурирања, работи и бара resolver што прифаќа ажурирања, плус скрипта при секое поврзување. На уред сте ограничени на пакетите што ги испорачува производителот, и обично токму таму тој план запира.
Аритметиката /30 во која никој не ужива
Во стандардната топологија net30, секој клиент добива свој /30: првата употреблива адреса оди на страната на серверот, втората на клиентот. Затоа override мора да стојат надвор од динамичката тунелска мрежа на серверот, што значи прво таа мрежа да се прошири. Сервер на 10.8.0.0/24 може да премине на 10.8.0.0/23, оставајќи ја половината од стариот опсег за динамички клиенти, а другата половина за override. Додајте го оригиналниот /24 како дополнителна локална мрежа IPv4, за сообраќајот кон двете половини да се насочува во тунелот.
Секоја override адреса мора да падне на граница /30, па последниот октет е множител на четири. /30 на 10.8.1.0 му дава на клиентот 10.8.1.2, и тоа е адресата што ја носи DNS записот. Изборот на 10.8.1.3 наместо тоа создава клиент што се поврзува и не може да пропушти сообраќај, зашто адресата припаѓа на подмрежа што топологијата никогаш не му ја доделила.
Планот е полесно да се одржува ако override се распределуваат од врвот на проширениот опсег надолу, така што динамичкиот pool се шири во слободниот простор, а не околу фиксни острови.
Локални мрежи и зоната што клиентите ја прашуваат
Сообраќајот клиент-кон-клиент бара свое дозвола. Списокот локални мрежи IPv4 на серверот мора да ги вклучи двете половини од опсегот, динамичката и статичката; без него серверот прима пакет од еден клиент и нема политика што дозволува да помине кон друг. Симптомот изгледа како дефект во DNS, зашто името се разрешува, а врската сепак не успева. Проверете ја и поставката клиент-кон-клиент во исто време, бидејќи самиот запис за локална мрежа не го вклучува препраќањето меѓу врсници.
Објавете ги записите во зоната што оддалечените клиенти навистина ја прашуваат. Запис во зона што ја служи само resolver на LAN е невидлив за клиент чиј турнат resolver покажува на друго место, а додавањето повеќе записи во погрешната зона никогаш не го поправа тоа. Пред да додадете нешто, потврдете турнатата DNS опција и доменот за пребарување.
Што да проверите при нова врска
Поврзете го клиентот повторно и потврдете дека доделената адреса се совпаѓа со неговиот override пред да тестирате нешто друго. Потоа разрешете го името од втор клиент и поврзете се со услугата по име, што заедно го проверува DNS записот, маршрутата и огнениот ѕид. Потврдете ја повратната патека на страната на серверот, зашто име што се разрешува додека услугата останува недостапна е проблем на рутирање или политика, а не на именување. Држете ја табелата со override до списокот со сертификати, за двете да се прегледуваат заедно.
Сертификат повторно издаден под друго заедничко име престанува да се совпаѓа со својот override и го враќа клиентот во динамичкиот pool. Очекувајте го тоа по секоја промена на идентитетот.