Сервер жардамчылары ички тармакты конфигурациялап, анан аны өз тандоосу боюнча динамикалык пул менен толтурат. Бул демейки жөндөө кээ бир даректер бөлүштүрүүдөн тышкары калышы керек болгонго чейин ыңгайлуу — алар туруктуу дайындоолор үчүн сакталганбы же келечектеги сегмент үчүн кармалып турганбы, баары бир. Автоматтык пулду өчүрүп, диапазонду өзүңүз жарыялоо эки сапты жана кайсы даректер бөлүштүрүүгө арналбаганы тууралуу бир аң-сезимдүү чечимди талап кылат. Калганы операциялык тартип: каттоо, колдонуу, текшерүү, артка кайтаруу.

Бул иштеп жаткан кызматка өзгөртүү, ошондуктан аны операциялык тапшырма катары караңыз: адегенде каттоо, анан кадимки жашоо циклинен өткөрүп колдонуу, жаңы кардар менен текшерүү жана даяр артка кайтаруу.

Бар болгон ички тармактан баштаңыз

Учурдагы сервер конфигурациясын жана кардарлар чындыгында кармап турган даректерди окуңуз. Пулду өзгөртүү пайдалуу болушу үчүн ошол негизге салыштыруу керек, ал эми негиз дайыма файл көрсөткөндөй боло бербейт, анткени башкарылуучу продукт же конфигурация генератору сиз окуп жаткан файлдын ээси болушу мүмкүн.

grep -nE '^(topology|server|ifconfig-pool|max-clients|client-config-dir)' /etc/openvpn/server/lab.conf
ip -4 addr show tun0

Күчүндөгү топологияны ырастаңыз. Ички тармак топологиясында ар бир кардар пулдан бир даректи алат; эски net30 жайгашуулары ар бир кардарга кичине блок бөлүп берет жана арифметика такыр башка. Эгер сервер дагы эле net30 болсо, бул барак туура эмес көчүү колдонмосу жана пулдун сандары сиз күткөндөй маани бербейт. Дарек арифметикасын башка жерден көчүрүүдөн мурун ошол сапты текшериңиз.

Сервердин өз дарегин, кардар конфигурацияларынын папкасындагы ар бир туруктуу дайындоону жана кандайдыр бир маршрут же кирүү эрежеси көз каранды болгон ар бир даректи жазып алыңыз. Динамикалык диапазондон тышкары калышы керек болгон даректер ушулар. Аларды адегенде жазып алуу диапазонду божомол эмес, чечим кылат. Бул артка кайтарууга кайтара турган конкреттүү нерсе да берет.

nopool кошуп, диапазонду жарыялаңыз

Жардамчы ачкыч сөз nopool кабыл алат, ал ички тармак конфигурациясын сактап, автоматтык динамикалык пулду басат, OpenVPN 2.6 колдонмосу сүрөттөгөндөй. Анан ачык ifconfig-pool сабы сиз көздөгөн чектерди камтыган диапазонду берет, анын тармактык маскасы ички тармакка дал келет. Эки сап тең бир сервер блогуна таандык, анткени өз ички тармагы жок пулдун мааниси жок. Алардын ортосундагы тартип окууга ыңгайлуулук үчүн гана маанилүү, анткени кызмат башталганда жардамчы бул түгээмди ачат.

topology subnet
server 10.70.0.0 255.255.255.0 nopool
ifconfig-pool 10.70.0.50 10.70.0.120 255.255.255.0

Эки чек тең камтыйт, ошондуктан мисал жетимиш бир даректи сунуштайт. Сервердин дарегин жана ар бир туруктуу дайындоону ошол диапазондон тышкары кармаңыз; динамикалык диапазондун ичине түшкөн туруктуу дайындоо туташуу тартибине көз каранды кагылышуу жаратат, ал эми бул оңдоо үчүн эң жаман түр. Туруктуу дайындоолор өсүшү ыктымал болсо, сакталган топтом менен диапазондун ортосунда боштук калтырыңыз.

Диапазондун өлчөмү жана бир убактагылык өзүнчө чектөөлөр. max-clients башкача айтпаса, жүз дарек жүз бир убактагы кардар дегенди билдирбейт, ал эми бир убактагылык чегинен чоң пул ысырап эмес, кадимки нерсе. Маанилүүсү — эки чек тең демейкиден мураска калбастан аң-сезимдүү тандалышы.

Туруктуу дайындоолорду динамикалык диапазондон тышкары кармаңыз

Кардарга тиешелүү ifconfig-push пулдан бөлүштүрүүдөн башка механизм жана активдүү топологияга ылайыктуу параметрлерди колдонууга тийиш. Ички тармак режиминде бул бир дарек жана тармактык маска; эски мисалда кездешкендиктен net30 түгээмин көчүрүү кеңири тараган ката.

Бөлүштүрүү тарыхы — белги, бийлик эмес. persist файлы кайсы кардарда кайсы дарек болгонун эстеп калат, ошондуктан кайра туташкан кардарлар адатта ошол эле даректи алышат, жана ал даректерди сактабайт, бошотпойт жана туруктуу дайындоону алмаштырбайт. Белгилүү бир түзмөк дайыма белгилүү бир даректи кармашы керек болсо, persist файлына таянуунун ордуна туруктуу дайындоону колдонуңуз.

Анан даректерге көз каранды жолдорду текшериңиз. Кардарларга түртүлгөн маршрут, ички тармакты уруксат кылган firewall эрежеси же белгилүү хостту күткөн мониторинг текшерүүсү — баары эски диапазонду божомолдошу мүмкүн. Аларды окубастан пулду өзгөртүү бузулушту байланышсыз көрүнгөн жерге жылдырат.

Жашоо цикли аркылуу колдонуп, анан текшериңиз

Өзгөртүүнү кызмат адатта конфигурацияны кабыл алган ыкма менен колдонуңуз — түз файл жана кайра баштоо, же файлды кайра жараткан башкаруу катмары. Жаралган файлга кол менен киргизилген өзгөртүү кийинки жаралууга чейин гана жашайт, андан ары эмес. Файлды кайсы механизм ээлей турганын жазып коюңуз, анткени кийинки оператор ошол эле өзгөртүүнү кайда жасоону билиши керек. Анан бир жолу кайра баштап, кардарды чакырганга чейин журналды окуңуз.

systemctl restart openvpn-server@lab
journalctl -u openvpn-server@lab -n 30 --no-pager
# on a fresh client
ip -4 addr show tun0

Мурун туташпаган кардарды туташтырып, даректин жарыяланган диапазондун ичинде жана сакталган топтомдун сыртында экенин ырастаңыз. Анан кайтуу жолун ырастаңыз: кардар саясат уруксат кылган нерсеге жетиши керек, андан ашык эмес. Планга дал келген, бирок иштеген маршруту жок дарек ийгиликтүү өзгөртүү эмес.

Эски диапазондон даректи кармаган кардарды кайра туташтырыңыз. Ал жаңы диапазондон дарек алышы керек, эски дарекке байланган сессия деңгээлиндеги ар кандай абал жоголушу керек. Эгер ал эски даректи сактап калса, аны башка нерсе дайындап жатат жана пул сиз ойлогон ээ эмес.

Диапазондун өзгөрүүсүн артка кайтаруу

Өзгөртүү жазууңузда мурунку үч сапты сактаңыз, мурунку файлды гана эмес. Аларды калыбына келтирип, кайра баштоо бөлүштүрүүнү эски жүрүм-турумга кайтарат, ал эми андан кийин кайра туташкан кардарлар андан дарек алышат.

Жазууга эки эскертүү кирет. Артка кайтаруу учурунда мурунтан туташкан кардарлар кайра туташканга чейин учурдагы даректерин сакташат, ошондуктан артка кайтаруу бүт парк боюнча заматта эмес. Ал эми эски диапазон туруктуу дайындоо менен кабатташса, аны калыбына келтирүү кагылышууну да калыбына келтирет; дал ошол кабатташуу өзгөртүүнүн себеби болгон жана ал артка кайтаруудан башка оңдоону талап кылат.

Пулдун өзгөрүүсү аяктады деп эсептелет, эгер жаңы кардар диапазондун ичиндеги даректи алса, сакталган дарек эч качан берилбесе жана ошол даректерди колдонгон маршруттар менен эрежелер көздөгөндөй иштеп жатса. Андан кем нерсе кийинки адамга үчөөнүн кайсынысы туура эмес экенин табууну калтырат.

Тектеш макалалар