Клиент илгегиби же сервер илгегиби? OpenVPN скрипти кайда аткарылат
Сервер конфигурациясындагы скрипт жолу — ошол сервердеги жол. Ишти аткарууга тийиш машинага жараша илгекти тандаңыз жана push ноутбукта код иштетет деп күтүүнү токтотуңуз.
Тапшырма ачык: ноутбук туташканда, ноутбуктун өзүндө бир нерсе өзгөрүшү керек. Оңдолуп жаткан конфигурация серверге таандык, жана божомол ушунда бузулат. Сервер файлындагы жол ошол сервердеги файлды көрсөтөт, жана канча push жасасаңыз да, аны кайсы процесстин аткарары өзгөрбөйт. Эки илгектин бирин тандоо — негизинен ишти кайсы машина ээлегенин чечүү жана андан келип чыккан чектөөлөрдү кабыл алуу.
Эки машина, адегенде жооп берилиши керек эки суроо
Абалдын өзгөрүшү кайда болушу керектигин сураңыз, анан ага кайсы окуя туура келерин сураңыз. Эгер өзгөрүү ар бир колдонуучуга берилген уруксат же ар бир клиентке арналган конфигурация чечими болсо, ал колдонуучулар каталогу белгилүү болгон жерге таандык: серверге. Эгер өзгөрүү маршрут болсо, resolver параметри же четки чекиттеги жергиликтүү жардамчы болсо, ал четки чекитке таандык, жана аны тек четки чекит гана аткара алат.
Бул эки суроого тескери тартипте жооп берүү — адамдардын Windows ноутбугуна batch файлын push кылууга аракет кылышынын жолу. Сервер ким туташканын билет; ноутбук өзүнүн тармактык стеги кандай экенин билет. Экөөнүн биринде экинчисинин маалыматы жок, жана аракет адатта так ката ордуна үнсүз ийгиликсиз болуп бүтөт.
Экөөнөн мурун үчүнчү суроону берүүгө татыктуу: платформа сиз каалаган илгекти таптакыр сунуштайбы? Өз конфигурациясын өзү түзгөн түзмөк бирдей окуя аттарын сунуштабашы мүмкүн, ал эми .ovpn файлын импорттогон иш такта клиенти файл жазылган клиент менен бирдей болушу милдеттүү эмес. Платформаны алдын ала ырастоо сизди анда жок илгектин айланасында долбоорлоодон куткарат. Ал ошондой эле алдыңыздагы машинага кайсы документ чындап тиешелүү экенин айтат.
Сервер тараптагы вариант: ар бир туташууга бир окуя
client-connect скрипти аутентификацияланган клиент туташканда сервердин процесс контекстинде аткарылат жана common name менен бөлүнгөн дарек сыяктуу документтелген туташуу маалыматтарын алат. Бул ар бир клиентке арналган конфигурация үзүндүсүн жазууга, саясат чечимин аткарууга же серверге таандык абалды жазууга туура жер.
Адамдар көз жаздымда калтырган айырма — бул илгек менен сервердин up илгегинин ортосундагы айырма. up илгеги сервер өзүнүн туннель түзмөгүн ачканда ишке кирет, бул көп клиенттүү серверде демон ишке киргенде бир жолу болот. Бул ар бир кирүүгө арналган окуя эмес, жана ал жердеги код колдонуучулар туташканда эмес, кызмат ишке киргенде аткарылат.
Веб-интерфейси бар түзмөктө түзүлгөн демон файлдарын оңдоонун ордуна колдоого алынган кеңейтүү механизмин колдонуңуз. Түзүлгөн файлдар кийинки сактоодо кайра жазылат, жана кайра жазуу өзгөртүүңүздү эң жаман учурда үнсүз жок кылат. Кеңейтүү текстинин көчүрмөсүн түзмөктөн тышкары кармаңыз, ошондо firmware жаңыртуу да ниетти жоготпойт.
Клиент тараптагы вариант: жергиликтүү аткарылышы керек иш
Коомдук клиент туннель түзмөгү көтөрүлгөндө жана маршруттар орнотулганда жергиликтүү скрипти иштете алат. Бул эки башка учур, жана туура эмесин тандоо — жардамчы көз каранды маршрут эми жок кезинде ишке кирген классикалык жарышты жаратат.
Жардамчы ошол клиентте болушу, клиентти иштеткен эсеп үчүн окулуучу жана аткарылуучу болушу, жана ачык script-security параметри менен уруксат берилиши керек. Клиентти администратор катары иштеткенде иштеген скрипт кирүү алдындагы кызмат же башка колдонуучунун сессиясы жөнүндө эч нерсе айтпайды.
Атоо да маанилүү. up илгеги түзмөк түзүүгө, ал эми route-up маршруттарды орнотууга туура келет, бирок жеке тармакка жетүү мүмкүнчүлүгү керек болгон тапшырма түзмөк түзүү ар бир маршрут, resolver жазуусу жана колдонмо даяр дегенди билдирет деп божомолдоонун ордуна жетүү мүмкүнчүлүгүн текшерүүсү керек.
Эмне үчүн аткарылуучу кодду push кылуу варианттарда жок
push аркылуу жөнөтүлгөн параметрлер атайын чектелген, жана скрипттерди аткарган параметрлер серверге өткөрүүгө уруксат берилбеген категорияларга кирет. Бул чектөө бар, анткени альтернатива бузулган же туура эмес конфигурацияланган серверге каалаган буйруктарды ар кандай туташкан клиентте аткарууга жол бермек.
Скрипттерди жергиликтүү аткарууну иштетүү муну өзгөртпөйт. Сиздин script-security параметриңиз өзүңүз тандаган жергиликтүү скрипттерге уруксат берет; ал серверге жаңыларын жеткирүүгө укук бербейт.
Эгер максат жөн гана VPN маршруттарын орнотуу болсо, алыскы аткаруу схемасын ойлоп табуунун ордуна колдоого алынган маршрут конфигурациясын колдонуңуз. Эгер максат чындап эле жергиликтүү кодду талап кылса, аны уюмдун четки чекиттерди башкаруу куралдары аркылуу таратыңыз жана колдонуучунун укуктары менен иштеген башка программалык камсыздоо сыяктуу карап чыгыңыз.
Эки илгектин кайсынысына ишенүүдөн мурун эмнени текшерүү керек
Ар бир илгек үчүн төрт нерсени жазыңыз: машина, окуянын аты, ал кайсы эсептин астында иштейт жана ал өндүрүшү керек болгон абал өзгөрүүсү. Анан туташууну, кайра туташууну жана тазалоо жолун текшериңиз, анткени кайра туташууда абалды агыткан илгек эч качан иштебеген илгектен жаман.
Аны чындап аткара турган эсептин астында, чындап аткарыла турган учурда текшериңиз. openvpn(8) колдонмосу эки илгек үй-бүлөсүн жана push чектөөлөрүн документтештирет; сиз жайгаштырган платформа аларды таптакыр сунуштайбы же жокпу документтештирет. Интерактивдүү администратор терминалында ийгиликтүү болгон скрипт — божомол, текшерүү эмес.