Үгүй, холболтын мөр VPN туннелийг эхлүүлж чадахгүй
VPN нь үйлдлийн систем эсвэл клиентэд хамаарна, хэзээ ч драйверт хамаарахгүй. Эхлээд туннелийг өргөж, домэйны итгэмжлэлийг netonly-оор дамжуулж, дараа нь курсорын очих-буцахыг шалгана.
Хөгжүүлэгчид холболтын мөр, JDBC URL эсвэл tnsnames.ora бичлэг VPN-ийг сонгодог газрыг одоо ч хайж байна. Ийм газар байхгүй. Туннелийг виртуал адаптер бүртгэдэг үйлдлийн систем эсвэл нийлүүлэгчийн клиент үүсгэдэг бөгөөд түүний дээрх өгөгдлийн сангийн сан бүр түүнээс үүсэх сокет давхаргыг ашигладаг. Холболтын мөр хост, порт, итгэмжлэлийг нэрлэдэг бөгөөд энэ нь бүхэл үгсийн сан юм.
Домог: холболтын мөр туннелийг сонгож чадна
Драйвер хост, порт руу TCP сокет нээдэг. Туннель өргөх API байхгүй, туннелийн профайлын талбар байхгүй, VPN гарц руу нэвтрэх арга байхгүй.
Тиймээс маршрут үүссэн даруйд хэрэгслүүд ижил ажилладаг. SSMS, DBeaver, Eclipse Data Tools болон энгийн sqlcmd нь сервер локал сүлжээнд байгаа мэт ажилладаг, учир нь сокетийн үүднээс тийм байдаг. Виртуал адаптер өгөгдлийн сангийн дэд сүлжээг хүртээмжтэй болгосон бөгөөд драйвер үүнийг хэрхэн болсныг хэзээ ч мэддэггүй.
Энэ нь холболтын мөр тасарсан туннелийг яагаад засаж чадахгүйг тайлбарладаг. Холбоос үхэхэд драйвер хугацаа дуусах эсвэл ерөнхий сүлжээний алдаа мэдээлдэг бөгөөд үүнийг асуулгын асуудал гэж үздэг програмын код үүрд буруу давхаргыг давтана.
Драйвер ажиллахаас өмнө туннелийг өргө
VPN-д үйлдлийн системийн түвшинд холбогдож, нийлүүлэгч эсвэл сүлжээний багийн зааврыг дагаж, дараа нь хэрэгслийг нээнэ. Практикт энэ нь драйвер хостын нэрийг шийдэхээс өмнө өгөгдлийн сангийн дэд сүлжээ рүү маршрут байгаа гэсэн үг.
Туннелийн хяналтыг програмаас гадуур байлга. Холбоосыг өөрөө өргөх гэж оролддог PHP эсвэл Java үйлчилгээ нэг нийлүүлэгчийн зан төлөвийг бизнесийн кодонд бичдэг бөгөөд гэмтлийн шилжилт бүр програмын хувилбар болдог. Туннелийг эзэмшиж, хянаж, дахин эхлүүлдэг хянагч нь асуулгын замаас тусдаа асуудал юм.
Драйверыг буруутгахаас өмнө маршрутыг шалга: хэрэв хост шийдэгдэхгүй эсвэл порт бүрхүүлээс хариу өгөхгүй бол ямар ч холболтын мөр үүнийг өөрчлөхгүй.
Домог: Windows нэвтрэлтийн алдаа нь маршрут эвдэрсэн гэсэн үг
VPN-ээр дамжуулсан Windows нэвтрэлт нь сүлжээний гэмтэл мэт харагдах алдаатай байнга бүтэлгүйтдэг бөгөөд маршрут нь хэвийн байдаг. Бүртгэл өөр домэйнд хамаарах бөгөөд зөөврийн компьютер түүнд нэгдэж чадахгүй бол клиентийг ажлын талбарын сессийн таних тэмдгийн оронд тодорхой итгэмжлэлээр эхлүүлнэ.
runas /noprofile /netonly /user:CORP\dbreader "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe"/netonly унтраалга тэдгээр итгэмжлэлийг зөвхөн алсын нэвтрэлтэд хадгалдаг. Холболтын харилцах цонхонд итгэхийн оронд сервер үнэхээр юу хүлээн авсныг SELECT SUSER_SNAME()-оор баталгаажуулна. Серверийн хаягийн итгэмжлэлийг Windows Credential Manager-д хадгалах нь SSMS-д ажилладаг боловч өөр бүртгэлийн дор ажилладаг үйлчилгээнд үргэлж ажилладаггүй гэж мэдээлдэг тул нэвтрэлтийг өөрчлөхөөс өмнө процесс ямар таних тэмдэг ашиглаж байгааг шалгана.
Хоцролт нь серверийн талын курсорыг хугацаа дуусах болгон хувиргана
Серверийн талын курсор өгөгдлийн сангаас үр дүнг хадгалж, аажмаар татахыг хүсдэг бөгөөд энэ нь нэг том үр дүнг олон жижиг очих-буцах болгон хувиргана. Локал сүлжээнд энэ хямд. Хэдэн арван миллисекундын нэмэлт хоцролттой туннелээр дамжуулбал мөнөөх асуулга бараг өгөгдөл дамжуулахгүйгээр командын хугацаа дуусахаас хэтэрч болно.
Клиентийн талын курсор руу шилжих, эсвэл татах хэмжээг нэмэгдүүлж мөрүүдийг багцлах бол очих-буцах тоо буурна. Гацаа нь солилцооны тоо, холбоосын нэрлэсэн хурд биш тул дамжуулах чадварыг хэмжих нь таныг төөрөгдүүлнэ, харин очих-буцахыг хэмжих нь төөрөгдүүлэхгүй. Хэрэглэгчид тань үнэхээр татдаг хамгийн том үр дүнгийн багцтай туршиж үзээрэй, шууд буцаж ирдэг нэг мөрт асуулгатай биш. Хэрэв хугацаа дуусах нь шилжиж байгаа ч арилаагүй бол командын хугацаа дуусах болон татах хэмжээг хамт нэмэгдүүлж, дахин хэмжинэ.
Мөн адил арифметик яриа ихтэй ORM болон мөр бүрт нэг мэдэгдэл гаргадаг аливаа клиентэд хамаарна. Асуулгын төлөвлөгөө сайн, дамжуулалт бага бол өгөгдлийн санг тохируулахаас өмнө сүлжээний солилцоог тоол.
Порт, хуулбар, локал шүүлтүүрийг шалга
Нэртэй хуулбар динамик порт дээр сонсдог тул 1433 гэж таамаглахын оронд портыг баталгаажуулна. Өгөгдмөл хуулбар дээр утгыг хуулбарын SuperSocketNetLib түлхүүрийн доорх TcpPort бүртгэлийн утгаас уншиж болно. Oracle-ийн хувьд tnsnames.ora дахь хост шийдэгдэж, хаяг хариу өгч, сонсогчийн порт зөвшөөрөгдсөн эсэхийг шалгана; 1521 бол нийтлэг өгөгдмөл, баталгаа биш.
Дараа нь туннелийн өөрийн хандалтын жагсаалтыг, эцэст нь клиент болон сервер нэг машин байсан ч холболтыг хаадаг локал вирусын эсрэг програм эсвэл хост галт ханыг хасаж үзнэ. Тохиргоог өөрчлөхөөс өмнө бүтэлгүйтсэн үе шатыг тэмдэглэ, учир нь нэр шийдэх, TCP хүртээмж, TLS эсвэл нэвтрэлт тус бүр өөр мессежээр бүтэлгүйтдэг.
Үе шатыг тасалбарт бич. Эс бөгөөс дараагийн хүн үүнийг эхлүүлсэн мөнөөх холболтын мөр хайлтыг давтана.