Журналдағы P_CONTROL_HARD_RESET_CLIENT_V2: бұл қате ме?
hard-reset опкоды сессия ашады, бұл ақаулық емес. Сізді шын мәнінде тоқтатқан сертификат, тіркелгі деректері немесе маршруттау ақаулығын табу үшін оқи беріңіз.
Жол әр бірнеше секунд сайын қайталанып, бәрінің себебі сияқты көрінеді: control hard reset атты пакет еш жерге жетпейтін клиенттен келеді. Бұл қате емес. Бұл жаңа сессияның бірінші хабарламасы, ал қайталану әрі қарай басқа бір нәрсенің сәтсіздікке ұшырауының белгісі. Белгінің не айтқанын және қосылыстың одан кейін не істегенін ажырату — бүкіл диагностика.
Опкод протоколдағы орынды атайды
OpenVPN бір сокет арқылы пакеттердің бірнеше түрін мультиплекстейді, ал опкод қабылдаушыға қандай түрді ұстап тұрғанын айтады. hard-reset пакеттері сессия ашады, басқару пакеттері қол алысу материалын тасымалдайды, растаулар қабылдауды растайды, ал деректер пакеттері туннельдің жүгін тасымалдайды. Бірінші байтты оқу пакеттің осы алмасудағы орнын көрсетеді, ал бастапқы кодтағы пакет анықтамалары әрбір тұқымдасты анық атайды.
Ол тек осыны айтады. Клиенттің бастапқы қайта жүктеуі деп белгіленген пакет пакеттің сіздің бақылау нүктеңізге жеткенін және серіктестің сессия бастағысы келетінін дәлелдейді. Ол клиенттің сертификатыңызға сенгенін, тіркелгі деректерінің қабылданғанын немесе деректер арнасының бір кезде жарамды болғанын дәлелдемейді.
V2 жұрнағы сол пакеттер тұқымдасы үшін протокол буынының белгісі, өнім нұсқасы да емес, сіз орнататын параметр де емес. Атауда туннельді қайта жүктеуге, қызметті қайта іске қосуға немесе кэшті тазартуға қатысты ештеңе жоқ.
Клиент сол сәтте шын мәнінде не істеп жатыр
Клиент сессия идентификаторын ашады, оған екі жақ та келесі басқару трафигін тіркейді. Басқару арнасының қорғанысы конфигурацияланған болса, сол бірінші пакет HMAC-ты тасымалдайды, ол қабылдаушыға алмасудың қалған бөлігіне күш жұмсауға тұрарлық па деп шешуге мүмкіндік береді. Оны тексере алмайтын қабылдаушы пакетті үнсіз тастайды, сондықтан қате ортақ кілт бос кеңістікке сөйлеп тұрған клиентке ұқсайды.
Пайдаланушыға көрінетін ештеңе әлі болған жоқ. Ешбір сертификат тексерілмеді, ешбір пайдаланушы аты ұсынылмады және ешбір туннель мекенжайы берілмеді. Қайта жүктеу қол алысудың кіріспесі, сондықтан осы сәтте қосылыс туралы кез келген пайымдау ерте.
Бос қайта қосылу циклінде қызықты деталь — аралық. Тұрақты циклде ілгерілеусіз қайта әрекеттенетін клиент әдетте ілгерілей алмай тұрып қабылданбайды, ал себебі пакет атауында емес, серіктестің журналында.
Қайта жүктеуден кейін нақты ақаулық қайда жасырынады
Екі журналды қатар оқып, қайта жүктеу емес бірінші оқиғаны табыңыз. Клиентте сертификатты тексеру сәтсіздігі нақты себебімен хабарланады: мерзімі өткен сертификат, атау сәйкессіздігі немесе белгісіз шығарушы. Серверде тіркелгі деректерін қабылдамау өз себебімен аутентификация сәтсіздігі ретінде хабарланады. Екеуі де сервердің жаңа әрекеттерге қайталап қарауынан әлдеқайда нақты.
Әр журналды бөлек оқымай, бір әрекетті уақыт белгісі бойынша сәйкестендіріңіз, өйткені сол сәтсіздік екі жерде де басқа сөздермен және басқа ауырлықпен көрінеді. Жалп берген серіктес әдетте себебін айтады.
Егер ешбір тарап бас тартуды хабарламаса да, алмасу тоқтап тұрса, шекара — қолжетімділік, сенім емес. Қайтару бағытын тастайтын желілік экран, картасының мерзімі бітетін желілік мекенжайларды түрлендіру құрылғысы немесе үлкенірек қол алысу пакеттерін өлтіретін MTU мәселесі — бәрі де аутентификация қатесінсіз тоқтаған алмасу тудырады.
grep -nE 'VERIFY|AUTH_FAILED|TLS Error|SIGUSR1' /var/log/openvpn*.log
Бұл іздеу өздігінен диагностика емес, бірақ ол сізді бір қадамда протокол сөздігінен нақты ақаулық сыныбына көшіреді.
Тексеруді өшіру неге дұрыс емес реакция
Қайта жүктеу көріне берсе, ең жылдам көрінетін түзету — сертификатты тексеруді өшіру немесе әлдебір қосылыс үшін басқару арнасының қорғанысынан бас тарту. Бұл диагностикалауға болатын ақаулықты диагностикалауға келмейтінімен алмастырады және орналастыруды бас тарту үшін құрылған серіктестерді қабылдайтын күйде қалдырады.
Оның орнына шын мәнінде сәтсіздікке ұшыраған шекараны өзгертіңіз. Сенім мәселесі сертификат органына және оған сілтеме жасайтын профильге тиесілі. Уақыт мәселесі сағатқа тиесілі. Тіркелгі деректері мәселесі оларды қабылдамаған аутентификация бэкендіне тиесілі, ал қолжетімсіз серіктес екі хост арасындағы жолға тиесілі.
Опкод қолдау әңгімесінде бір нәрсеге пайдалы: серіктестің байқап көруге жеткілікті ілгерілегенін айтады. Одан кейін не болғаны — білуіңіз керек нәрсе, және ол бірінші нақты бас тартуды жазатын журналда жазылған. Сол жерден бастаңыз, сонда қайта жүктеу жолы себеп сияқты көрінбей, уақыт белгісі сияқты көріне бастайды.