OpenVPN-ийн keepalive эсвэл systemd restart: аль нь сэргээх вэ?
Чимээгүй хамтрагч, үхсэн процесс, ашиглах боломжгүй програм гэсэн гурван өөр алдаа. keepalive-ыг OpenVPN-д, процессыг systemd-д өгч, тохиолдол бүрийг туршаарай.
Туннельтай гурван өөр зүйл буруу болж болох бөгөөд тэд гурван өөр хариу үйлдэл шаарддаг. Хамтрагч хариу өгөхөө болих, демон процесс үхэх, эсвэл туннелийн ард байгаа програмын үйлчилгээ зогсох гэсэн гурван тохиолдол бий. Аль нэгэн дээр нь үйлчилгээг дахин эхлүүлдэг тохиргоо бол болгоомжтой хяналт биш; энэ нь хамааралгүй алдаануудад хэрэглэсэн нэг бүдүүлэг арга хэмжээ юм. Механизм бүр бодитоор юуг ажиглаж чадахыг харьцуулбал хөдөлмөрийн хуваарилалт тодорхой болно.
Нэг мэт харагдах гурван алдаа
Хамтрагчийн чимээгүй байдал нь нөгөө тал илгээхээ больсон гэсэн үг бөгөөд OpenVPN үүнийг зүрхний цохилтыг эзэмшдэг учраас өөрөө илрүүлж чадна. Процессын үхэл нь демон гарсан гэсэн үг бөгөөд үүнийг үйлчилгээний менежер анзаардаг, харин OpenVPN чадахгүй. Програмын алдаа нь туннель хэвийн, харин ард байгаа зүйл хэвийн бус гэсэн үг бөгөөд бусад хоёр механизмын аль нь ч үүнийг мэдэх аргагүй. Тус бүр өөр хариу үйлдэл шаарддаг бөгөөд аль нь ч туннель ажиллаж байгааг анзаарахтай ижил биш.
Эдгээр нь өөр өөр түвшний өөр өөр дохио бөгөөд тус бүр таамаглахгүйгээр ажиллах боломжтой эзэнтэй. Тэдгээрийг холих нь тайлбарлаж чадахгүй шинж тэмдгүүдэд дахин эхэлдэг системийг бий болгоно.
Аль ч таймерыг өөрчлөхөөс өмнө гурван тохиолдлыг бичиж аваарай. Жагсаалт нь өөрөө ихэвчлэн нэг механизмаас гурвыг бүгдийг нь хамарч өгөхийг шаардаж байгааг харуулдаг.
keepalive бодитоор юу болж тэлдэг
keepalive заавар нь товчлол бөгөөд тэлэлт нь горимоос хамаарч өөр өөр байна. Сервер дээр keepalive 10 60 арван секунд тутамд локал ping, 120 секундын локал дахин эхлүүлэх хугацаа, клиентүүдэд илгээгдэх 10 ба 60 утгууд болж хувирна. Серверийн хугацааг санаатайгаар хоёр дахин нэмэгдүүлдэг бөгөөд ингэснээр сервер бууж өгөхөөс өмнө клиент дахин эхлэх боломжтой болно. Профайл дахь товчлолыг биш, ажиллаж байгаа тохиргоон дахь тэлэгдсэн хэлбэрийг уншина уу.
Энэ хоёр дахин нэмэгдүүлэлт нь хоёр тал жаран секундын дараа дахин эхэлдэг гэсэн аливаа тайлбар буруу байх шалтгаан юм. Зам муудах үед хоёр тал яагаад хамт савлахгүй байгааг ч энэ тайлбарлана.
Зүрхний цохилт нь OpenVPN-ийн хамтрагчийн урсгал бөгөөд ямар нэг нийтийн хост руу ICMP шалгалт биш. Хариу нь туннелийн хол тал амьд байгааг л батална. Хэрэглэгчид үнэхээр хэрэгтэй өгөгдлийн сан эсвэл вэб үйлчилгээний талаар юу ч хэлэхгүй.
Restart=on-failure юуг ажигладаггүй
Дарж бичих нэмэхээс өмнө суулгасан нэгжийг уншина уу. Restart=on-failure баримтжуулсан процессын алдааны нөхцөлд хариу үйлдэл үзүүлдэг бөгөөд энэ нь холболтын төлөвийг ажиглахтай ижил биш. Дотоод дахин холболт эхэлсэн учраас ажиллахгүй бөгөөд цэвэр гарах нь сүйрлээс өөр утгатай.
Энэ ялгаа чухал, учир нь дотоод дахин эхлүүлэлт ижил процессыг амьд байлгадаг. Нэгж юу ч хардаггүй, туннель өөрөө сэргэдэг бөгөөд энэ нь зөв үр дүн юм.
RestartSec болон эхлүүлэлтийн хязгаарыг санаатайгаар тогтоогоорой, тэгэхгүй бол сүйрлийн давталт гарцыг цохиж, жинхэнэ алдааг дахин эхлүүлэлтийн мэдээний доор булна. Ажилласан дахин эхлүүлэлтийн хязгаар нэгжийг алдаатай үлдээдэг бөгөөд энэ нь харагддаг, харин хязгааргүй давталт харагддаггүй.
ping-restart ба ping-exit хоорондоо солигдохгүй
ping-restart OpenVPN-ийн дотоод дахин эхлүүлэлтийг өдөөж, процессыг хадгална. ping-exit ижил төрлийн хугацаанд процессыг дуусгаж, шийдвэрийг үйлчилгээний менежерт шилжүүлнэ. Тэд бие биенээ үгүйсгэдэг бөгөөд хоёр дахьг сонгох нь сэргээлт хэнд хамаарахыг өөрчилнө. Ялгаа нь дахин оролдохыг хэн шийдэх, оролдлогоос хэр их төлөв үлдэхэд оршино.
Хэрэв хугацаа дуусахад гарахыг сонговол нэгжид тохирох дахин эхлүүлэлтийн бодлого болон гарах төлөвийн боловсруулалт хэрэгтэй, тэгэхгүй бол амьдрах чадварын алдаа байнгын зогсолт мэт харагдана. Тогтвортой байдлын сонголтууд дотоод дахин эхлүүлэлтийн турш интерфейс, маршрутыг хадгалж чадна, гэхдээ процесс гарах үед биш.
Байршуулалт бүрт нэг амьдралын мөчлөг сонгож, шалтгааныг бичээрэй. Хоёр зааврыг хоёуланг нь агуулсан профайл бол шийдээгүй профайл юм.
Алдаа бүрийг өөрийн тохиолдол болгон туршаарай
Зөвшөөрөгдсөн цонхонд чимээгүй хамтрагч, алагдсан демон, боломжгүй програмыг дуурайж, дараа нь аль сэргээлт ажилласныг шалгана уу. Чимээгүй хамтрагч дотоод дахин холболт, алагдсан процесс нэгжийн дахин эхлэл, програмын тасалдал эдгээрийн аль нь ч биш байх ёстой. Хоёр тохиолдол ижил үйлдэл гаргавал эзэмшил нь одоо ч холимог байна.
Дахин дахин сэргээх нь засвар ч биш. Татгалзсан итгэмжлэл эсвэл нэг үр дүнтэй нэрийг хуваалцсан хоёр клиент бие биенээ орлуулсаар байх бөгөөд хурдан таймерууд тэр савалгааг улам хурдасгана.