Профиль сейсенбіде жұмыс істеді, ал жұма күні клиент отыз секунд айналып, бас тартады. Сіздің машинаңызда ештеңе өзгерген жоқ. Міне, мәселе де осында: жүктелген конфигурация бір хостты бір сәтте сипаттайды, ал арғы жақтағы оператор бұл сипаттаманы ақиқат күйінде ұстауға міндетті емес. Азғыру — туннель қайта көтерілгенше қауіпсіздік параметрлерін өңдей бастау. Дәл осы инстинкт адамдарды сертификат тексеруі өшірілген профильді іске қосуға әкеледі, бұл туннельдің мүлде болмағанынан да нашар.

Файл сәтті сипаттайды, келісімді емес

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

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

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

Параметрге қол тигізбес бұрын істен шығу кезеңін оқыңыз

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

What happensThe assertion that brokeSupported response
Name never resolvesThe host still exists under that nameGet a current endpoint from the operator
TCP connect times outThe listener is on that port and reachableCheck the current published port, then the local network
TLS or key exchange failsThe peer presents the expected identityCompare the certificate, not the cipher list
Authentication rejectedThe account is still validGet credentials reissued or stop using the service
dig +short vpn.example.net
curl -sS -o /dev/null -w 'connect=%{time_connect} tls=%{time_appconnect}\n' --max-time 8 https://vpn.example.net:443/
openssl s_client -connect vpn.example.net:443 -servername vpn.example.net -brief </dev/null

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

Сертификат пен жеке бас өзгерістері — ең тыныш

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

Бірдеңе деп тұжырымдамас бұрын жеке бас опцияларын іздеңіз:

grep -nE '^(remote|proto|auth|verify-x509-name|tls-crypt|key-direction|ca) ' profile.ovpn
openssl x509 -in profile-ca.crt -noout -subject -dates

Егер профильде кірістірілген CA болса және оператор жаңа органға ауысса, ескі файл жаңа серверді тексере алмайды. CA блогын оператор жариялаған блокпен алмастыру — заңды түзету. Тексеру директивасын жою олай емес, және бұл бірдей перне басулар, бірақ нәтижесі мүлде басқа.

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

Жарамды алмастырғышты тек оператор жариялай алады

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

Тексеру арзан. Ағымдағы файлды жарияланған жерден алыңыз, соңғы нүкте мен протоколды тізіммен салыстырыңыз және файл атауына сенудің орнына CA материалының саусақ ізін растаңыз:

curl -sS -o current.ovpn https://example.org/nodes/current.ovpn
sha256sum current.ovpn profile.ovpn
grep -nE '^(remote|proto) ' current.ovpn

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

Ескі жазбаны шығарып, не болғанын жазып алыңыз

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

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

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

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