Лог доторх 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
Тэр хайлт нь өөрөө оношлогоо биш, гэхдээ нэг алхамаар таныг протоколын үг хэллэгээс бодит алдааны ангилал руу шилжүүлнэ.
Шалгалтыг унтраах нь яагаад буруу хариу үйлдэл вэ
Дахин тохируулга үргэлжлэн гарч байвал хамгийн хурдан мэт санагдах засвар нь сертификатын шалгалтыг унтраах эсвэл ямар нэг зүйл холбогдохын тулд хяналтын сувгийн хамгаалалтаас татгалзах юм. Энэ нь оношилж болох алдааг оношилж болохгүй алдаагаар сольж, байршуулалтыг татгалзах зорилгоор бүтээсэн хамтрагчдыг хүлээн авах байдалд үлдээдэг.
Үүний оронд үнэхээр бүтэлгүйтсэн хилийг өөрчил. Итгэлийн асуудал нь сертификатын байгууллага, түүнд иш татсан профайлд хамаарна. Цагийн асуудал нь цагт хамаарна. Нэвтрэх мэдээллийн асуудал нь тэдгээрийг татгалзсан баталгаажуулалтын арын системд хамаарна, хүрэх боломжгүй хамтрагч нь хоёр хост хоорондын замд хамаарна.
Опкод нь дэмжлэгийн ярианы нэг зүйлд хэрэгтэй: хамтрагч оролдох хэмжээнд хүрснийг хэлнэ. Үүний дараа юу болсон нь таны мэдэх ёстой зүйл бөгөөд эхний тодорхой татгалзлыг бүртгэсэн логт бичигдсэн байдаг. Тэндээс эхэл, тэгвэл дахин тохируулгын мөр шалтгаан мэт харагдахаа болиод цагийн тэмдэг мэт харагдаж эхэлнэ.