Ашық VPN конфигурациясы жұмысын тоқтатты ма? Істен шығу кезеңін оқыңыз
Жүктелген профиль бір күндегі бір хостты сипаттайды. Қай тұжырымның бұзылғанын оқыңыз, қарсы тарап ұсынған сертификатты тексеріңіз және тексеруді ешқашан өшірмеңіз.
Профиль сейсенбіде жұмыс істеді, ал жұма күні клиент отыз секунд айналып, бас тартады. Сіздің машинаңызда ештеңе өзгерген жоқ. Міне, мәселе де осында: жүктелген конфигурация бір хостты бір сәтте сипаттайды, ал арғы жақтағы оператор бұл сипаттаманы ақиқат күйінде ұстауға міндетті емес. Азғыру — туннель қайта көтерілгенше қауіпсіздік параметрлерін өңдей бастау. Дәл осы инстинкт адамдарды сертификат тексеруі өшірілген профильді іске қосуға әкеледі, бұл туннельдің мүлде болмағанынан да нашар.
Файл сәтті сипаттайды, келісімді емес
Конфигурация файлы — тұжырымдар жиынтығы: бұл хост атауы осы портта осы протоколмен тыңдайды, осы атауға сәйкес сертификат ұсынады және осы тіркелгі деректерін қабылдайды. Солардың кез келгені ақиқат болудан қалса, файл ескірген және түзету шекараның оператор жағында, сіздің параметрлеріңізде емес.
Ашық түйін тізімдері өз табиғаты бойынша мұны айқын көрсетеді. Түйіндерді еріктілер басқарады, олар пайда болып, жоғалып кетеді, мекенжайлар қайта пайдаланылады, ал порттар олардың артында тұрған желі тарапынан бұғатталады. Тізім — қайта жасалатын сурет, ал сіздің дискіңіздегі көшірме — ескірек суреттің фотосы.
Коммерциялық қызметтер баяуырақ өзгереді, бірақ ешқашан емес. Сертификат органдары ауысады, тыңдаушы ортақ мекенжайдан жеке мекенжайға көшеді, ескі протокол шығарылады және жаңа шифрлар тізімі келеді. Олардың әрқайсысы клиентіңіз қосылуға әрекет етіп, файл күткеннен өзге жауап алғанша көрінбейді.
Параметрге қол тигізбес бұрын істен шығу кезеңін оқыңыз
Қате хабарламасы қай тұжырымның бұзылғанын айтады, әр тұжырымның түзетуі мүлде бөлек. Хост атауы енді шешілмесе шифрларды өңдеу бір түстен кейінгі уақытты ысырап етеді және ешкімді ештеңеге үйретпейді.
| What happens | The assertion that broke | Supported response |
|---|---|---|
| Name never resolves | The host still exists under that name | Get a current endpoint from the operator |
| TCP connect times out | The listener is on that port and reachable | Check the current published port, then the local network |
| TLS or key exchange fails | The peer presents the expected identity | Compare the certificate, not the cipher list |
| Authentication rejected | The account is still valid | Get 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Егер екі хеш тек бос орындармен ерекшеленсе, бұл пішімдеу өзгерісі. Егер олар соңғы нүктелермен ерекшеленсе, оператор бірдеңені жылжытқан және жарияланған файл — билік. Егер жарияланған файл сіздегіден ескі болса, сіз кэшті қарап отырған боларсыз, ал ескірген жауап сізді дұрыс емес бағытқа жібереді.
Ескі жазбаны шығарып, не болғанын жазып алыңыз
Жұмыс істейтін алмастырғыш расталған соң, ескі профильді қосалқы ретінде ұстамай, жойыңыз. Жартылай қосылатын ескі жазба — тұзақ: ол үзіліс кезінде таңдалады, баяу сәтсіздікке ұшырайды, ал жөндеуші алғашқы он минутты дұрыс емес файлға жұмсайды.
Конфигурациядан тыс қысқа жазба ұстаңыз: күні, ескі соңғы нүкте, істен шығу кезеңі және оны не алмастырғаны. Ашық түйіндер ауысады, ал алты аптадан кейін сол сұрақ басқа адаммен келеді. Жазба файлындағы бір жол оған секундтарда жауап береді.
Егер бір желіден әрбір түйін бірдей сәтсіздікке ұшыраса, ал екіншісінен ешқайсысы ұшырамаса, профильдерді өңдеуді тоқтатып, жергілікті жолға қараңыз. Тұтқын порталы, сүзілген порт ауқымы немесе ұстап қалатын прокси байланысы жоқ провайдерлерде бірдей қателер туғызады, және дәл осы үлгі мәселенің ешқашан файлда болмағанын көрсететін жалғыз белгі.