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

Бірінші қадам: аралықты және қате мәтінін жазып алыңыз

Провайдер панелінен емес, клиенттің өз журналынан бастаңыз. Linux клиентінде қызмет журналы мен туннельдің тірі күйі оның көбін қамтиды:

journalctl -u openvpn-client@client --since '3 hours ago' | tail -60
journalctl -u wg-quick@wg0 --since '3 hours ago' | tail -40
wg show
ip -s link show wg0

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

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

Екінші қадам: профильді емес, бір айнымалыны өзгертіңіз

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

Ethernet порты бар ноутбук Wi-Fi-ды суреттен толық алып тастайтын екінші салыстыру береді. Туннель екі баламада да ұстаса, бастапқы қатынау желісі назарға лайық: қатынау нүктелері арасындағы роуминг, аударма кестесінің мерзімі бітетін үй роутері немесе ұзақ ағындарды қайта қоятын жоғарғы байланыс.

Қай айнымалыны өзгерткеніңізді жазыңыз. Салыстыру қалғанының бәрі бірдей болғанда ғана есептеледі, оған сервердің соңғы нүктесі мен тәулік уақыты да кіреді.

Үшінші қадам: аралықты қабатқа байланыстырыңыз

Жақсы сессияның ұзақтығы — сіздегі ең ақпаратты жалғыз сан. Таймерлерге тиіспес бұрын оны осы тізіммен салыстырып оқыңыз:

  • Ұйқыдан немесе қайта оянудан кейінгі ажырау: туннель күйі кідірістен өтті, ал интерфейс өтпеді. Клиенттің ояну кезінде қайта қосылу әрекетін және қызмет туннельді қайта іске қоса ма әлде трафикті күте ме, соны тексеріңіз.
  • Тек бос тұрғанда ажырау: ортада бірдеңе ағынның мерзімін бітірді. keepalive дәл осы жағдай үшін бар.
  • Сессияның тұрақты жасында ажырау: қайта аутентификация немесе кілтті жаңарту оқиғасы, жол ақауы емес. Журналда дәл сол аралықта айқын бас тарту — белгі.
  • Үлкен тасымалдар немесе үлкен беттер кезінде ажырау: MTU мен бөлшектеуден күдіктеніңіз, бос тұру таймерінен емес.

Бос тұру жағдайында параметрлер протоколға тән және екі шеті де маңызды. Сервердегі OpenVPN-нің keepalive 10 60 әр 10 секунд сайын пинг жібереді және ол болмаса 60 секундтан кейін байланысты қайта іске қосады; NAT артындағы WireGuard клиенттері теңдес блогында PersistentKeepalive = 25 пайдаланады. OpenVPN сондай-ақ деректер арнасын таймермен қайта келіседі, reneg-sec, ол 2.x нұсқасында әдепкі бойынша 3600 секунд.

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

Төртінші қадам: бір қолдау көрсетілетін баламаны салыстырыңыз

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

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

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

Түзетуді растаңыз және кері қайтару мүмкіндігін сақтаңыз

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

wg show wg0 latest-handshakes
curl -m 5 -sS https://ifconfig.me
cp client.ovpn client.ovpn.bak   # before editing timers

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

Журнал таза қалып, туннель әлі де қайталанатын аралықпен ажыраса, келесі аялдама — сол сессияның сервер жағы. Клиенттің сессия идентификаторын және ажыраудың нақты уақытын өзіңізбен алыңыз, өйткені сервер журналын іздеуге жарамды ететін дәл осы жұп. Протоколдың байланыс параметрлері OpenVPN 2.6 нұсқаулығында қажет болғанда мәннің нақты мағынасы жазылған.

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