2.x клиентімен қосылсаңыз профиль жұмыс істейді; сол файлды 3.x клиентіне берсеңіз, ол құпиясөз сұранысында тоқтайды. --auth-user-pass creds.txt параметрін openvpn3 session-start пәрменіне берсеңіз де нәтиже сол, өйткені жаңа клиентте бұл файлды оқитын кезең жоқ. Бас тарту әдейі: тіркелгі деректері сессияға тиесілі, ал сессияны терминалдағы процесс емес, қызмет жасайды. Интерактивті сұраныс пен autoload көмекшісінің бірін таңдап, әрқайсысы нені сақтайтынын біліңіз.

Сақталған файлдың барар жері жоқ себебі

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

Ескі үлгіні атап өткен жөн, сонда одан бас тарту оңайырақ: профиль тіркелгі деректерінің файлына сілтеме жасайды, ал туннель басталғанда демон оны оқиды. Жаңа модельде тіркелгі деректері сессияға тиесілі және сол сессия басталғанда беріледі. openvpn3 session-start --config work.ovpn пәрмені оларды сұрайды, ал --auth-user-pass creds.txt параметрі қабылданбайды, өйткені бұл жолда файлды ашатын ештеңе жоқ. Таба алатын әрбір 2.x нұсқаулығы енді жоқ кезеңді алдын ала қарастырады.

Конфигурация мен сайттың жергілікті параметрлері де бөлінген, бұл екінші тосынсыйды түсіндіреді. Профиль толық көрінуі мүмкін, бірақ ол жасаған қосылымда маршруттау мен резолвер конфигурациясы жоқ. Бұл бөліктер импортталған файлдан бөлек, сайттың жергілікті параметрлері ретінде қолданылады.

Сұраныс жолы және ол қалдыратын сессия

Сессия басталғанда құпиясөзді беру көзделген жұмыс ағыны. Клиент бір рет сұрайды, тіркелгі деректерін сессияның бэкендіне береді және жалғастырады:

openvpn3 session-start --config work.ovpn
openvpn3 sessions-list

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

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

Пернетақта алдында адам жоқ кездегі автоматтандыру

Машина адамсыз қосылуы керек жерде жоба openvpn3-autoload көмекшісін ұсынады. Ол профильдер каталогын және әр профильге сәйкес дескрипторды оқиды, ал дескриптор тіркелгі деректерін ашық мәтінмен береді. Көмекші жеке бинар, әдетте /usr/sbin/openvpn3-autoload жолында, session-start пәрменінің жалаушасы емес. Оны баптау каталогты құру, профильді дескриптор күтетін атаумен көшіру және дескрипторды жазу дегенді білдіреді.

Пайдаланушыға арналған баптау осылай көрінеді және оны сессияға ие болатын тіркелгімен іске қосады. Каталог режимі басқа жергілікті пайдаланушыларды сыртта қалдырады:

mkdir -m700 -p ~/.openvpn3/autoload
cp work.ovpn ~/.openvpn3/autoload/client.conf
$EDITOR ~/.openvpn3/autoload/client.autoload

Дескриптор тіркелгі деректерін атайды және автоматты іске қосуды сұрайды. Құпиясөз мәнін нұсқаларды басқарудан тыс ұстаңыз:

{
  "autostart": true,
  "user-auth": {
    "autologin": true,
    "username": "svc-vpn",
    "password": "change-this-value"
  }
}

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

/usr/sbin/openvpn3-autoload --directory ~/.openvpn3/autoload
openvpn3 sessions-list

Жүктелу кезінде openvpn3-autoload.service деп аталатын пакеттелген бірлік пайдаланушыға арналған емес, жүйелік каталог /etc/openvpn3/autoload қолданады. Бұл орынға root иелігі мен қатаңырақ режим қажет, ал дескриптор құпиясөзді әлі де ашық мәтінде ұстайды. Ымыра анық: құпиясөз енді дискіде жатыр, сондықтан бұл каталогты құпия ретінде ұстап, хосттан тыс сақтық көшірмелерден шығарып, адам болған кезде әрдайым интерактивті жолды таңдаңыз.

Құпиясөз ақауына ұқсайтын шина ақаулары

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

Төмендегі пәрмендер осы екеуін ажыратады. Біріншісі бэкендтің істеп тұрғанын хабарлайды; екіншісі соңғы шина қателерін көрсетеді:

systemctl status openvpn3-service-client
journalctl -b -u openvpn3-service-client --no-pager | tail -20

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

Ескі клиент әлі қолданыста болса

2.x клиенті әлі де тіркелгі деректерінің файлын қабылдайды, ал кілттер сақинасы құпия дискіге тимей-ақ оның сұранысына жауап бере алады. Қаптама жазбаны шешеді, сондықтан файл құпиясөзді емес, іздеуді атайды. Бұл құрылым ашық кілттер сақинасына тәуелді, оны кіру сессиясы жоқ контейнер немесе біреу кіргенге дейін іске қосылатын бірлік қамтамасыз ете алмайды. Сонда іздеу құралы жаза алмайтын жинақты хабарлайды, сондықтан кілттер сақинасының ақауы тіркелгі деректерінің ақауына ұқсайды.

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

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