VPN ortidagi QGIS ni PostGIS ga ulash: bosqichma-bosqich
QGIS ni VPN ortidagi PostGIS yoki WMS ga yo‘naltiring: tunnelni xizmatning so‘nggi nuqtasidan ajrating, verify-full TLS ni saqlang va har bir chegarani tartib bilan sinab ko‘ring.
QGIS ma’lumot provayderlari yetib boradigan har qanday yo‘lni o‘qiydi, shuning uchun ishlab turgan VPN sozlashning faqat yarmi. Tunnel ish stoliga marshrut va nomlarni hal qilish siyosatini beradi; loyihaga hali ham xizmatning so‘nggi nuqtasi, provayder protokoli va xizmat qabul qiladigan hisob ma’lumotlari kerak. Bular uchta alohida maydon, VPN ning ommaviy tinglovchisini ma’lumotlar bazasi maydoniga yozish ularning birortasi ham emas. Ushbu qo‘llanma bitta PostGIS qatlamini QGIS formasidan qaytarilgan satrgacha kuzatib boradi va har bir qadam isbotlaydigan chegarani nomlaydi.
VPN dan emas, qatlamdan boshlang
Har bir qatlam turi boshqa turdagi so‘nggi nuqtaga yetadi. PostGIS qatlami xost, port, ma’lumotlar bazasi va rol bilan PostgreSQL ulanishini ochadi. WMS yoki WFS qatlami xizmat URL ini oladi va keyin imkoniyatlar hujjatini tahlil qiladi. Tarmoq ulashmasidagi shapefile faqat operatsion tizim ocha oladigan fayl yo‘lini talab qiladi. Bular uch xil mexanizm bo‘lgani uchun, qaysi birini tuzatayotganingizni bilmaguningizcha bo‘sh loyiha hech narsa demaydi.
GIS operatoridan so‘nggi nuqta, port, kerakli identifikatsiya va hisobingizga tegishli kirish siyosatini so‘rang. Joylashtirish shaxsiy DNS ga yoki sertifikatdagi nom tekshiruviga bog‘liq bo‘lsa, xizmat xost nomini berilganidek saqlang. Boshqa foydalanuvchining saqlangan ulanishidan nusxalangan xost manzilini qayta ishlatish javob beradigan, lekin eski ma’lumotlar bazasini saqlaydigan mashinaga yetishning eng tez yo‘li.
Marshrutlar, ruxsat etilgan resurslar va nomlarni hal qilish VPN ni boshqaradigan kishiga tegishli. Ma’lumot manbasi formasi tunnel profili hech qachon yubormagan marshrutni o‘rnata olmaydi va shlyuz siyosatini kengaytira olmaydi. Xost hal bo‘lib, port javob berganida, muammoning tarmoq tomoni tugagan.
Operator bergan shaxsiy so‘nggi nuqtani kiriting
QGIS dagi PostgreSQL formasi libpq kutadigan maydonlarni aks ettiradi, shuning uchun uni buyruq qatori ulanishi kuzatadigan tartibda to‘ldiring. Xizmat va xost ma’lumotlar bazasi mashinasini oladi, port server haqiqatan ochadigan tinglovchini oladi, ma’lumotlar bazasi esa server standarti o‘rniga aniq katalogni oladi. Parolni loyiha faylida emas, autentifikatsiya konfiguratsiyasida saqlang, shunda umumiy loyiha hisob ma’lumotlarini olib yurmaydi.
Biror narsa yozishdan oldin ikkita nomni ajrating. Shlyuz nomi VPN mijozi ichida, ma’lumotlar bazasi nomi QGIS da bo‘ladi va ular kamdan-kam bir xil xost bo‘ladi.
VPN gateway: vpn.gis.lab.example (profile only, not a data source)
Database host: db.gis.lab.example:5432 (PostGIS service)
Database name: gis_prod
TLS mode: verify-full
Agar ma’lumotlar bazasi shlyuz ortidagi boshqa mashinada bo‘lsa, formadagi nom o‘sha mashina bo‘lishi kerak. Tunnel orqali shaxsiy DNS nomni ishlatadi va faqat ulangan paytda hal bo‘ladigan loyiha yomon keshlash emas, to‘g‘ri harakat qilmoqda.
Ma’lumotlar bazasining TLS rejimini tunneldan alohida saqlang
VPN mahsuloti nomidagi SSL tunnelni tasvirlaydi, ma’lumotlar bazasi seansini emas. QGIS PostgreSQL SSL rejimini libpq ga uzatadi va bu rejim mijoz server sertifikatini tekshirishini va undagi xost nomini tekshirishini boshqaradi. verify-fullikkalasini ham qiladi, shuning uchun sertifikat xizmat nomini olib yurganda saqlashga arziydigan rejim shu.
Tunnel allaqachon shifrlanganligi sababli rejimni disable gacha tushirish yetib borgan server so‘ralgan server ekanini tekshirishni olib tashlaydi. Tekshiruv muvaffaqiyatsiz bo‘lsa, odatiy sabab nom mos kelmasligi yoki ildiz sertifikatining yo‘qligi va ikkalasini ham ulanishni zaiflashtirmasdan tuzatish mumkin. sslrootcert ni operator e’lon qilgan CA ga yo‘naltiring va formadagi xost nomini sertifikatdagi nom bilan bir xil saqlang.
Shaxsiy marshrutli tunnel va amaldagi sertifikatli ma’lumotlar bazasi baribir rolda muvaffaqiyatsiz bo‘lishi mumkin. Ilova hisob ma’lumotlari VPN nikidan alohida va shlyuzda autentifikatsiya qilingan hisob PostgreSQL da hech qanday yashirin huquqqa ega emas.
Har bir chegarani tartib bilan sinab ko‘ring va birinchi muvaffaqiyatsizlikni o‘qing
Mijozdan tashqariga qat’iy tartibda ishlang: nomlarni hal qilish, TCP yetib borish, TLS, autentifikatsiya va keyin so‘rovning o‘zi. Birinchi muvaffaqiyatsiz qadam yagona xabar qilishga arziydigan qadamdir, oldinga sakrash esa hali yetmagan chegaradan xato xabarlarini keltiradi. To‘rtta buyruq birinchi to‘rt qadamni qamrab oladi.
getent hosts db.gis.lab.example
nc -vz db.gis.lab.example 5432
psql "host=db.gis.lab.example port=5432 dbname=gis_prod sslmode=verify-full" -c 'select 1'
curl -sS 'https://wms.gis.lab.example/ows?service=WMS&request=GetCapabilities' | head -c 200
getent dan bo‘sh javob nomlarni hal qilish muammosi, ma’lumotlar bazasi muammosi emas. Rad etilgan yoki muddati o‘tgan nc marshrut yoki firewall qoidasi yo‘qligini bildiradi, bu shlyuz tomonidagi tuzatish. psql dan TLS xatosi sertifikat yoki nom noto‘g‘ri ekanini bildiradi, holbuki password authentication failed PostgreSQL ga yetganingizni va muammo hisob ma’lumotlarida ekanini bildiradi. WMS qatlami uchun curl chaqiruvi QGIS tahlil qiladigan imkoniyatlar XML ini qaytaradi, shuning uchun o‘sha chiqishdagi HTML kirish sahifasi bo‘sh qatlamni darhol tushuntiradi.
Kutish muddati tugashiga qaraganda PostgreSQL xatosi yaxshi xabar. U manzil javob berganini isbotlaydi, bu esa chiptani tarmoq jamoasidan ma’lumotlar bazasi yoki GIS administratoriga o‘tkazadi. Bu farqni hisobotda saqlash bir aylanani tejaydi.
Loyiha bo‘sh qatlamlar bilan ochilganda
QGIS ichida biror narsani qayta kiritishdan oldin qatlamning saqlangan manbasini tekshiring. Qatlam xossalari loyiha saqlagan aniq ulanish satrini ko‘rsatadi va eski xostli takroriy ulanish yozuvi oldingi ofis tarmog‘ining odatiy qoldig‘i. Ulanish tuzatilgandan keyin loyihani qayta yuklash provayderni har doim qayta o‘qimaydi, shuning uchun qatlamni olib tashlab, tuzatilgan ulanishdan qayta qo‘shing.
Keyin autentifikatsiya konfiguratsiyasi ro‘yxatda borligi emas, qatlamga biriktirilgani ekanini tasdiqlang. Boshqa autentifikatsiya konfiguratsiyasi bilan saqlangan qatlam brauzer panelida jimgina muvaffaqiyatsiz bo‘ladi, mustaqil psql test esa o‘tadi.
Qatlam yuklanganda loyihani faqat fayllar uchun nisbiy yo‘llar bilan saqlang va xizmat ulanishlarini ularning so‘nggi nuqtasi nomi bilan saqlang. Loyihani meros oladigan keyingi odam chipta ochmasdan qaysi xostni buzuq qatlam kutganini ayta oladi.