Тунель завяршае рукапацісканне, пераносіць трафік каля хвіліны і потым зноў падключаецца. Гэтая паслядоўнасць выключае звычайнага падазронага, бо фаервол, які блакуе порт, спыніў бы рукапацісканне, а не сесію. У вас нязгода наконт жыццяздольнасці: адзін бок вырашыў, што іншы змоўк, і разарваў працаздольны тунель. Радок журнала паказвае, які бок, і ён вызначае выпраўленне.

Прачытайце гэты радок, перш чым чапаць любы таймер.

Міф: нешта на шляху блакуе тунель

Калі б порт быў заблакаваны, злучэнне пацярпела б няўдачу ў пачатку і заставалася б няўдалым. Паўторны цыкл азначае, што кіравальныя паведамленні ідуць, сесіі ўстанаўліваюцца, а нешта пазней у размове ўвесь час сканчаецца. Блакаванне стварае цішыню, а гэта стварае рытм.

Рытм — карысная падказка. Яго ствараюць таймеры; страты пакетаў робяць гэта рэдка.

Прачытайце прычыну адключэння раней за таймер

OpenVPN называе сваю прычыну, і кожнае імя паказвае на іншую падсістэму. Session invalidated: KEEPALIVE_TIMEOUT — гэта таймер, які сканчваецца, таму параўнайце значэнні ping і ping-restart на абодвух баках. AUTH_FAILED — гэта ўліковыя даныя або стан сертыфіката, і ніякая змена таймера не дапаможа. Памылка TLS азначае, што бакі ўвогуле не дасягнулі стадыі keepalive.

Запішыце час злучэння, час адключэння і ці стабільны інтэрвал да секунды. Гэтае адзінае вымярэнне аддзяляе наладжаны расклад ад выпадковасці.

Стабільны інтэрвал — гэта таймер. Дрэйфуючы хутчэй за ўсё праблема шляху або зрушаная сесія.

Два таймеры keepalive, якія так і не дамовіліся

Профілі, экспартаваныя з партала, часам усё яшчэ маюць радкі keepalive або ping-restart, скапіяваныя з шаблона супольнаснага сервера. Шлюз вядзе ўласнае выяўленне мёртвага партнёра і прасоўвае ўласныя чаканні, і два расклады не абавязаны супадаць. Калі яны разыходзяцца, кліент перазапускаецца па раскладзе, з якім шлюз ніколі не згаджаўся.

Гэтыя два значэнні — не адно і тое ж кіраванне. ping — гэта тое, як часта кліент дасылае рэха, а ping-restart — колькі ён чакае, не чуючы нічога, перш чым разарваць тунель. Профіль з кароткім ping-restart і шлюз, які адказвае павольна, будуць перазапускацца ў кожны ціхі перыяд, а гэта дакладна форма хвіліннага цыкла.

Мінімальная змена на баку кліента — нейтралізаваць таймеры на верхнім узроўні профілю, па-за кожным убудаваным блокам:

keepalive 0 0

Захавайце, перазагрузіце профіль, перападключыцеся. Сесія, якая ўжо ў памяці, захоўвае старыя значэнні, таму праўка часам выглядае так, быццам нічога не зрабіла.

Імя сертыфіката можа зрушыцца пад вамі

Аўтэнтыфікацыя сертыфікатам Azure залежыць ад таго, ці давярае кліент імені, якое шлюз прадстаўляе сёння. Радок verify-x509-name у старэйшай спампоўцы можа замацаваць імя, якое перабудова шлюза або абнаўленне сертыфіката ўжо змянілі, і неадпаведнасць праяўляецца як цыкл перападключэння, а не як ясная памылка. Выдаленне радка аднаўляе злучэнне, што робіць яго добрым сродкам дыягностыкі і дрэнным пастаянным рашэннем, бо яно таксама прыбірае праверку. Калі тунель утрымаецца, аднавіце радок з іменем, якое шлюз сапраўды прадстаўляе.

Праверце другое пакаленне кліента на той жа машыне, перш чым мяняць шлюз. Калі адзін кліент зацыкліваецца, а другі ўтрымліваецца, праблема не ў профілі.

Што змяняць і ў якім парадку

Далей праверце зрушаную сесію. Дзве прылады з адным сертыфікатам могуць выштурхоўваць адна адну, і вынік выглядае перыядычным, бо абодва бакі працягваюць перападключацца. Параўнайце запісы сесій пункт-да-сайта для адной і той жа асобы, што з'яўляюцца зноў і зноў.

Затым праверце прастойны шлях, запусціўшы безупынны трафік на некалькі хвілін. Калі абрывы спыняюцца, пакуль ідзе трафік, важны таймер належыць прыладзе NAT або балансіроўшчыку на шляху, а не OpenVPN.

Налады шлюза варта мяняць толькі пасля гэтых чатырох праверак.

Падобныя артыкулы