Кеше сәйкес келген ереже бүгін сәйкес келмейді, өйткені клиент басқа туннель мекенжайымен оралды. Бөлгіш бұлай кездейсоқ емес, және оның тәртібін білу сол тосын оқиғаны болжамды оқиғаға айналдырады. Ол сол клиент бұрын ұстаған мекенжайды қалайды, ең ұзақ бос тұрған мекенжайға көшеді және есте сақтайтын орын бермесеңіз бәрін ұмытады. Жалдауға сүйенетін ережелер үнсіз тоқтаған күнге дейін сәйкес келе береді.

Бөлгіш ұстанатын тәртіп

common name бойынша бір сессиямен бөлгіш әуелі сол клиент бұрын пайдаланған және қазір бос мекенжайды іздейді. Егер ол мекенжай жоқ болса, ең ұзақ белсенді емес болған бос мекенжайды алады. Сол ат үшін қатарлас сессиялар қосылған болса, бұрынғы мекенжайға басымдық қолданылмайды және оның орнына бірінші бос мекенжай пайдаланылады, өйткені сессиялар жеке тең түйіндер ретінде қаралады.

SituationAddress chosenPractical effect
Reconnect, old address still freeThe remembered addressRules appear stable for days
Old address taken by another clientLeast recently used free addressA working rule silently stops matching
Concurrent sessions, same nameFirst free address, per sessionOne identity can hold several leases

Бұдан бірден екі салдар шығады. Тез қайта қосылған клиент әдетте өз мекенжайын сақтайды, сондықтан механизм өзгергенге дейін ешкім байқамайды. Ал сол шағын терезеде қосылған басқа құрылғы мекенжайды ол қысқа уақыт бос кезде ала алады, содан кейін бірінші клиент басқа нәрсе алады және ескі нөмірге байланған әрбір ереже қате болады. Екі оқиғаның ешқайсысы ақауға ұқсайтын журнал жолын жасамайды.

Неге жалдау тұрақты көрініп, кейін жылжиды

Тұрақтылық бұл жерде мекенжайды басқа біреу талап етпей тұрып келетін қайта қосылулардың туындаған қасиеті. Бұл уәде емес және клиент ажыратылған кезде орындалмайды. Мекенжайдың өзгеретінін жоспарлаңыз, одан таңырқамаңыз. Құрылғы санынан әрең үлкен пул соқтығыстарды күнделікті жағдайға айналдырады, өйткені ең ұзақ пайдаланылмаған мекенжайға шегінуге таңдауға дерлік ештеңе жоқ.

Шыңдық қатарлылық — өлшеу керек сан, пайдаланушылар саны емес. Бір уақытта екі құрылғыдан сынақтан өткізіп жатқан адам немесе ескі сессия бітпей тұрып қайта қосылған клиент біраз уақыт екі жалдауды ұстайды. Тек адам санына қарай өлшенген пул адамдар серверге тағатын дәл сол алмасуды тудырады.

Тұрақтылық файлы есте сақтайды, брондамайды

Қызметтің қайта іске қосылуынан аман қалатын мекенжайға тұрақтылық файлы қажет. Ол өшіру кезінде клиент атын және мекенжайды сақтайды және қызмет басталғанда оларды қайта оқиды, сондықтан жоспарлы қайта іске қосу енді жазған барлық ережелеріңізді араластырмайды.

ifconfig-pool-persist /etc/openvpn/ipp.txt
server 10.8.0.0 255.255.255.0

Ол жасамайтыны — клиент жоқ кезде мекенжайды ұстап тұру. Сол аралықта бөлгіш нөмірді басқа біреуге беруге ерікті, және файл сонда келесі қосылым орындай алмайтын ескірген басымдықты жазады. Оны қайта іске қосу мінез-құлқын жақсартатын сыбызғы ретінде қараңыз, статикалық мекенжайлау ретінде емес.

Файлда жүргенде пулды әр бағдарланған ішкі желіге қарсы тексеріңіз. Қабаттасатын диапазон сервер бағдарлай алмайтын мекенжайларды таратады, ал симптом — қосылып, мекенжай алып, еш жерге жетпейтін клиент.

Мекенжайды дұрыс бекіту

Брандмауэр ережесі немесе DNS жазбасы шынымен тұрақты мекенжайды қажет етсе, оған үміттенуге емес, оны тағайындаңыз. Әр клиентке арналған конфигурация жазбасы мекенжай мен масканы тікелей жібере алады, және бұл жазба нақты клиент атына байланған.

# client-config-dir entry for "laptop-acme"
ifconfig-push 10.8.0.50 255.255.255.0

Тұрақты мекенжайларды динамикалық пулдан тыс ұстаңыз, сонда бөлгіш ешқашан бір нөмірді басқа сессияға бермейді. Содан кейін туннель топологиясын тексеріңіз, өйткені ол әр клиенттің қанша пул мекенжайын жұмсайтынын өзгертеді: ескі нүкте-нүкте орналасуы әр клиентке шағын блок жұмсайды, ал ішкі желі орналасуы әрқайсысына бір мекенжайды пайдаланады. Бір топологияда мол көрінетін пул екіншісінде сарқылатын болуы мүмкін.

Нәтижені клиентте растаңыз, сервердің есебіне сенуге емес. Сессия қайтып келгенде, интерфейс мекенжайына және жіберілген маршрутқа қараңыз, өйткені сервердегі журнал сұралған мекенжайды хабарлауы мүмкін, ал интерфейстің өзінде басқасы болады.

Қашықтағы мекенжай — бөлек сұрақ

Клиенттің remote жолындағы мекенжай кез келген туннель пайда болмас бұрын қолжетімді болуы керек. Оған пул мекенжайын қою, мысалы сервердің өз туннель соңғы нүктесін, клиент әлі салмаған туннель арқылы соңғы нүктеге жетуге тырысады, ал нәтиже қысқа жол емес, цикл немесе үнсіз кідіріс болады.

Оператор берген жария соңғы нүктені пайдаланыңыз және пулды ол арналған нәрсеге сақтаңыз: туннель ішіндегі мекенжайларға. Пул диапазонын, тұрақты тағайындауларды және тұрақтылық жолын бір жерге жазу келесі адамды әр жалдауды ерікті деп санаудан құтқарады.

Қатысты мақалалар