Грешен часовник на устройството може да спре VPN: първо проверете времето
Сертификатът се оценява спрямо момента, а не спрямо етикета на часовата зона. Прочетете часовника, датите на сертификата и маршрута на източника на време, преди да сменяте.
VPN спира да се свързва, в журнала се споменава сертификат и първият инстинкт е да смените профила. Часовник на устройството, който е с минути или часове назад или напред, дава точно тази грешка, защото валидността на сертификата се оценява спрямо местния момент. Етикетът на часовата зона на екрана не е проблемът; проблемът е самото време. Проверете часовника, преди да пипате какъвто и да е материал за сертификата.
Грешката изглежда като проблем със сертификата, а не с часовника
TLS ръкостискането се проваля, когато сертификатът на отсрещната страна излезе извън прозореца си на валидност спрямо часовника на проверяващия. Тази проверка се изпълнява на клиента, затова грешен клиентски часовник отхвърля напълно добър сертификат. Текстът на грешката назовава сертификата и точно затова хората го сменят и отново виждат същия отказ. Часовникът е по-евтината хипотеза и трябва да се провери първи.
Часовник, който избързва спрямо реалното време, отхвърля текущ сертификат като изтекъл; часовник, който изостава, отхвърля по-нов като все още невалиден. И двете съобщения сочат дати и се произвеждат без никакъв контакт със сертификатния орган. Ето я следата: истинското изтичане засяга всеки клиент, докато проблемът с часовника засяга единствената машина с грешно време.
Прочетете момента, после сертификата
Изведете часовника в UTC и собствените дати на сертификата, преди да промените каквото и да е. Сравняването на два абсолютни момента напълно премахва въпроса за часовата зона от разследването. Ако прозорецът на сертификата съдържа текущия момент, сертификатът не е вашият проблем.
date -u
timedatectl
openssl s_client -connect vpn.example.com:443 -servername vpn.example.com </dev/null 2>/dev/null | openssl x509 -noout -dates
Ако местният часовник е грешен, проверете дали е синхронизиран и с какво. Машина с изключена синхронизация или с източник на време, който не може да достигне, се отклонява, докато нещо се провали. Изходът на статуса назовава източника и последната успешна корекция, което е по-полезно от текущото отклонение само по себе си. Голямо отклонение без конфигуриран източник е различен проблем от малко отклонение спрямо работещ източник.
timedatectl timesync-status
chronyc tracking
Спрете, ако сертификатът наистина е изтекъл за всеки клиент. Тогава часовникът е наред и сертификатът се нуждае от подновяване, а не от корекция.
Кодовете за вход се провалят по свързана, но различна причина
Еднократните пароли, базирани на време, черпят стойността си от текущата времева стъпка, обикновено тридесет секунди. Устройство, чийто часовник се отклонява с повече от стъпка или две, произвежда кодове, които сървърът няма да приеме, дори потребителят да е въвел правилните цифри. Грешката изглежда като грешна парола и това вкарва хората в цикъл за нулиране, който не може да поправи часовник.
Установете кой компонент е отхвърлил опита, защото VPN клиентът, шлюзът и доставчикът на идентичност съобщават за различни етапи. Ако кодът е отхвърлен, но паролата е приета, профилът вероятно е наред и заподозряният е часовникът. Ако и двете са отхвърлени, профилът може да е заключен и часовникът е подвеждаща следа. Следвайте указанията на доставчика за възстановяване, вместо да одобрявате заявки, които не сте започнали.
Не връщайте часовника назад, за да проработи код. Това скрива причината и чупи следващата проверка, базирана на време.
Поправете източника, а не показания час
Синхронизацията е мрежова услуга и тунелът може да промени дали източникът на време е достъпен. Корпоративен източник може да изисква тунела, докато публичен източник може да е блокиран от политика. Сърфирането може да работи, докато собственият път на времевата услуга се проваля, поради което тази зависимост е лесна за пропускане. NTP е протоколът зад корекцията и той се нуждае от собствен път като всяка друга услуга.
sudo systemctl status systemd-timesyncd
sudo chronyc sources -v
ping -c1 203.0.113.20
Има и проблем с реда на зареждане: силно грешен часовник може да попречи на удостоверен тунел, а единственият използваем източник на време може да стои зад този тунел. Управляван парк се нуждае от документирана процедура за това състояние и заобикалянето на проверката на сертификата не е такава. На лично устройство използвайте собствените средства за управление на времето на операционната система и разберете защо часовникът се губи след изключване или възстановяване. Машина, която се отклонява при всяко зареждане, има хардуерен или конфигурационен проблем, а не VPN проблем.
След поправката опитайте отново първоначалната връзка и прочетете новата грешка отделно. Лоша идентичност на сървъра, сертификат, който наистина е изтекъл, и отхвърлен профил са три различни отказа и смесването им е начинът, по който проста корекция на часовника се превръща в седмица смяна на профили.