VPN тынымсыз үзүлөбү? Ушул тартипте текшериңиз
Бир нерсени өзгөртүүдөн мурун интервалды, клиенттин катасын жана тармактын абалын жазып алыңыз. Үзүлүүлөрдүн ортосундагы аралык төрт катмардын кайсынысын текшерүү керектигин айтат.
Клиентти кайра орнотуудан мурун үч нерсени жазып алыңыз: туннель канча убакыт турду, үзүлгөндө клиент эмне деди жана бул аралыкта машина уктадыбы же тармакты алмаштырдыбы. Ошол жазуу кийин сиздеги жалгыз далил болот, ал эми кайра орнотуу аны адатта өчүрөт. Кайталануучу интервал менен үзүлүү — таймер же абалдын бүтүшү; туш келди учурда үзүлүү — жолдун маселеси. Төмөнкү тартип үч нерсени бир убакта өзгөртүп, эч нерсе үйрөнбөөңүзгө жол бербейт.
Биринчи кадам: интервалды жана катанын текстти жазып алыңыз
Провайдердин панелинен эмес, клиенттин өз журналынан баштаңыз. 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 колдонмосунда жазылган, маанинин так мааниси керек болгондо.