SSH холбогдож, ойролцоогоор нэг минут ажиллаад дараа нь минут бүрт бараг ижил интервалаар царцдаг. Түгээмэл тайлбар нь idle timeout тул хүмүүс MTU-г буулгаж, клиентийн keepalive-уудыг тохируулдаг. Би ажилласан WireGuard холбоос энэ бүгдийг аль хэдийн туулсан: бага хонгилын MTU, client-alive тохиргоо, тохируулсан хонгилын keepalive. Тасралтууд өөрчлөлтгүй үргэлжилсэн. Шалтгаан нь тэгш бус LAN маршрут байсан бөгөөд энэ хэв маягийг таних нь зүйтэй, учир нь энэ нь таймерт суурилсан ямар ч засварыг ялдаг.

keepalive нь таны хост илгээхэд бэлэн хэвээр байгааг нотолдог. Энэ нь төлөв хадгалдаг төхөөрөмжид хэзээ ч дамждаггүй хариуг харах боломжийг олгож чадахгүй.

Домог: keepalive-ууд чимээгүй тасралтыг засдаг

SSH keepalive-ууд нэг ажилд зориулагдсан: чимээгүй байдлыг тоолдог зүйл идэвхгүй сессийг цэвэрлэхээс сэргийлэх. Тэд үүнийг сайн хийдэг. Тэд төлөв хадгалдаг төхөөрөмжийн асуудлыг шийддэггүй, тэр нь нэг чиглэлд эхний пакетыг хараад дараа нь хариуг хэзээ ч хараагүй, учир нь клиентийн илгээсэн юу ч хариу ямар интерфэйс ашиглахыг өөрчилдөггүй.

MTU-г өөрчлөх нь өөр нэг алдартай засвар бөгөөд ижил бүтэлгүйтлийн горимтой. MTU-г буулгах нь фрагментац ба замын MTU-ийн асуудалд тусалдаг бөгөөд маршрутад юу ч хийдэггүй. Хэрэв таны таймерууд болон MTU аль хэдийн боломжийн, тасралт давтагдах интервал дээр хэвээр байгаа бол интервал нь хаа нэгтээ timeout-ийн тухай хэлж байна, пакетын хэмжээний тухай биш. Интервалыг бичиж аваад замын төхөөрөмж бүрийн төлөвийн timeout-той харьцуулаарай.

Шинж нь тогтмол байдал, мөн сессийн тэр интервал дотор ашиглах боломжтой хэвээр байх явдал юм. Идэвхгүй timeout-ууд юу ч болоогүй үед цохилдог; энэ нь та бичиж байх үед цохилдог.

Нэмэлт гарц үнэндээ юу хийдэг

Зөөврийн компьютер болон VPN гарцыг нэг LAN-д байрлуулж, тусдаа LAN firewall-ыг өгөгдмөл гарц болго. Зөөврийн компьютер VPN руу чиглэсэн траффикийг firewall-д илгээж, firewall үүнийг гарц руу дамжуулж, гарцын хариу LAN-аар шууд зөөврийн компьютер руу буцаж ирдэг. Тэр хоёр дахь хөл firewall-аар хэзээ ч өнгөрдөггүй тул түүний төлөвийн хүснэгт хагас холболт хадгалдаг.

Доорх хаягууд тэр зохион байгуулалтыг тусгадаг:

Laptop:             192.168.50.20
LAN firewall:       192.168.50.1
WireGuard gateway:  192.168.50.10
Remote VPN subnet:  10.77.0.0/24

Дахин чиглүүлэлт болон төлөв удирдлага дараа нь ажиллаж байгаа handshake-ийг даруй биш, дараа нь үхдэг холболт болгоно. Хоцролт нь төлөвийн бичлэг хуучирах эсвэл илүү хатуу шалгалт бүтэлгүйтэх явдал тул интервал ийм механик харагддаг.

Эдгээрийн аль нь ч клиентийн тохиргоонд харагдахгүй тул түүнийг хайх нь ихэвчлэн буруу файлаас эхэлдэг.

Нэг санаатай зам сонго

Дээрх зохион байгуулалтын хувьд алслагдсан дэд сүлжээг шууд VPN гарц руу чиглүүлэх нь хагас холболтыг арилгана:

sudo ip route add 10.77.0.0/24 via 192.168.50.10
ip route get 10.77.0.42

Эдгээр нь жишээ хаягууд юм. Дараагийн хоп таны LAN-д хүрэх боломжтой байх ёстой, префикс нь зорьсон алслагдсан сүлжээ байх ёстой, хоёр дахь команд нь түүнд найдахаас өмнө үр дүнг харуулна. Хэрэв гарц таны дэд сүлжээнд байхгүй бол энэ маршрут таны хүссэн засвар биш.

Хэрэв firewall нь тэдгээр системийн хоорондын траффикийг хянах зорилготой бол түүнийг тойруулан чиглүүлэх нь буруу загвар юм. Харин хоёр чиглэлийг хил давуулж, буцах зам таарахын тулд тал бүрийн маршрутыг тохируул. Зорилго нь төлөвийн шалгалтыг багасгах биш, нэг санаатай зам юм.

Netgate-ийн тэгш бус чиглүүлэлтийн тухай тэмдэглэл ижил интерфэйсийн түвшний тэгш бус байдал болон түүний үүсгэдэг төлөвийн асуудлыг тайлбарладаг тул төлөвийн удирдлагыг бүхэлд нь суллахаас өмнө уншина уу. Энэ тохиолдолтой төстэй хугацааны тасралтууд өөрсдөө нотолгоо биш. Өгүүллийг нэг бүтэлгүйтлийн горимын тайлбар гэж үзээд, дараа нь дэлхийн төлөвийн бодлогыг өөрчлөхөөс өмнө өөрийн сүлжээ түүнд тохирч байгааг нотлоорой.

Хоёр төгсгөлөөс туршиж үз

Зөөврийн компьютерын очих газар руу чиглэсэн маршрут болон очих газрын зөөврийн компьютер руу буцах маршрутыг унш; эдгээр нь хоёр тусдаа шийдвэр бөгөөд магадгүй зөвхөн нэг нь буруу. Гарцаас өөрөө амжилттай ping нь асуудлыг бүрмөсөн нууж чадна, учир нь энэ нь зам нь аль хэдийн зөв машин дээр эхэлдэг. Бодит сессийн хоёр төгсгөл харж байгаа шиг хоёр чиглэл танд хэрэгтэй.

Засварын дараа SSH-г дахин нээж, өмнө нь бүтэлгүйтдэг байсан интервалаас хамаагүй хэтрүүлэн сессийг нээлттэй байлга. Дараа нь маршрутыг батлагдсан сүлжээний тохиргоонд байнгын болго, учир нь нэг удаагийн команд нь дахин ачаалах төлөвлөгөө биш бөгөөд асуудал дараагийн дахин ачаалалтад шинэ нууцтайгаар эргэж ирнэ.

Тэгш бус байдал хэзээ хэвийн

Тэгш бус чиглүүлэлт олон сүлжээнд хэвийн бөгөөд тодорхойлолтоор эвдэрсэн биш. Төлөвийн хяналт, орчуулга эсвэл бодлого нь өөрсдийн хардаггүй замыг харахаас хамааралтай үед энэ нь асуудал болдог бөгөөд тус бүр өөр эмтэй. Түүнийг тойруулан дахин зохион бүтээхээс өмнө дунд төхөөрөмж үнэндээ юу шаарддагийг шалга.

Бат бөх хариулт нь хоёр замыг, хоёуланг нь харах ёстой төхөөрөмжийг, мөн үүнийг боломжтой болгодог маршрутыг нэрлэдэг. Хэрэв төхөөрөмжийг нэрлэж чадахгүй бол та шалтгааныг олж амжаагүй байна.

Холбоотой нийтлэлүүд