VM IP uzatishsiz yaratilgan, u allaqachon VPN dasturiy ta’minotini ishga tushirmoqda va instinkt uni bayroq yoqilgan holda shablondan qayta qurishdir. Bu qayta qurish kerak emas. Compute Engine canIpForwardni yangilanadigan xususiyat sifatida taqdim etadi va hujjatlashtirilgan yangilash yo‘li uni qayta ishga tushirish o‘rniga refresh bilan qo‘llaydi. Bayroq aslida boshqaradigan narsa tordir: usiz platforma instansga yetib kelgan, lekin instansning o‘z manziliga yo‘naltirilmagan paketlarni tashlab yuboradi. Boshqa mashinalar trafigini uzatuvchi shlyuz aynan shunday qiladi, shuning uchun bayroq yoniq bo‘lishi kerak. Bundan keyingi hamma narsa mehmon konfiguratsiyasi va marshrutlash bo‘lib, bayroq ularga tegmaydi.

Bayroq nimaga ruxsat beradi va nimaga bermaydi

Uzatish o‘chirilganda platforma instansni oxirgi nuqta deb ko‘radi. Manzili instansning o‘z manzili bo‘lgan paketlar yetkaziladi; instans boshqa birov nomidan uzatishi kerak bo‘lgan paketlar yetkazilmaydi.

Uzatish yoqilganda instans VPC marshruti uchun keyingi sakrash bo‘lib xizmat qilishi mumkin, bu esa VPN qurilmasi uchun zarur rol. Bayroq xavfsizlik devorlari, mehmon marshrutlashi, tunnel konfiguratsiyasi yoki qaytish yo‘llari haqida hech narsa demaydi, va buzilgan shlyuzdagi true qiymati baribir buzilgan shlyuz.

Joriy xususiyatni o‘qing

Hech narsani o‘zgartirishdan oldin sozlamani tekshiring, mo‘ljallangan instans, loyiha va zona uchun faqat o‘qish uchun describe ishlatib:

gcloud compute instances describe VM_NAME --project PROJECT_ID --zone ZONE --format='value(canIpForward)'

false qiymati faqat bu VM keyingi sakrash bo‘lishi kerak bo‘lsa muhim. Agar shunday bo‘lsa, yo‘lning qolgan qismi baribir alohida tekshirilishi kerak, chunki xususiyat uzunroq zanjirdagi bitta satr.

Mavjud instansni yangilang

Google’ning instans xususiyatlarini yangilash tartibi joriy resursni eksport qiladi, xususiyatni o‘zgartiradi va natijani taqdim etadi. Bu yaratish paytidagi --can-ip-forward bayrog‘idan boshqa ish oqimi va ishlab turgan VMda ishlaydigan aynan shu.

Avval ta’rifni mahalliy faylga eksport qiling va taqqoslash uchun o‘zgarmagan nusxani saqlang:

gcloud compute instances export VM_NAME --project PROJECT_ID --zone ZONE --destination=instance.yaml

O‘sha eksport qilingan faylda xususiyatni o‘rnating va boshqa hech narsani o‘zgartirmang:

canIpForward: true

Butun resursni, jumladan uning barmoq izini saqlang. Faylni bir satrli YAML hujjati bilan almashtirish yoki mashina turi, disk yoki interfeysga oid aloqasiz tahrirlarni bitta taqdimotga birlashtirish, xususiyat o‘zgarishi uzilishga aylanishining yo‘li shu.

Har qanday amaliy o‘zgarishga ruxsat berilishidan oldin yangilash mexanizmidan faylni tekshirishni va nima talab qilinishini xabar qilishni so‘rang:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=NO_EFFECT

Bu tekshiruv yugurishi uzatishni yoqmaydi. Javobni yaroqsiz xususiyatlar va zarur deb aytilgan amal bo‘yicha o‘qing. Bu alohida o‘zgarish uchun hujjatlashtirilgan amal REFRESH. Agar natija qayta ishga tushirishni so‘rasa, faylda siz o‘zgartirmoqchi bo‘lgan xususiyatdan ko‘proq narsa bor, shuning uchun qayta ishga tushirishga ruxsat berish o‘rniga uni tekshiring.

Ko‘rib chiqilgan faylni refresh chegarasi bilan qo‘llang:

gcloud compute instances update-from-file VM_NAME --project PROJECT_ID --zone ZONE --source=instance.yaml --most-disruptive-allowed-action=REFRESH

Amal tugaganini tekshiring va describe buyrug‘ini yana ishga tushiring. Agar barmoq izi endi mos kelmasa, siz tahrirlayotganingizda boshqa kimdir instansni o‘zgartirgan, shuning uchun eskirgan faylingizni zo‘rlab o‘tkazish o‘rniga yangi nusxa eksport qiling va o‘zgarishni yana ko‘rib chiqing.

Mehmon baribir paketni marshrutlashi kerak

Bulut ruxsati qurilmani routerga aylantirmaydi. VPC marshruti bu VMni manzil prefiksi uchun keyingi sakrash sifatida tanlashini va mehmon o‘zining uzatish siyosatini yoqqan holda tunnel va to‘g‘ri interfeys o‘rtasida marshrutlashini tasdiqlang.

Xavfsizlik devori siyosati ichki oqimga ham, tashqi tinglovchiga ham ruxsat berishi kerak. Faqat VPN portini ochish shifrlangan transportni tavsiflaydi va uning ichidagi dastur almashinuvi haqida hech narsa demaydi.

Nihoyat, manzilga mijozlar hovuziga qaytish yo‘li kerak yoki dizayn manbalarni ataylab tarjima qilishi kerak. Agar manzil tarjima qilingan trafikni ko‘rsa, tarjima qilingan manbani tekshiring; agar dizayn hovuzni saqlasa, o‘sha hovuzni qaytish marshrutida va kirish qoidalarida tekshiring. Qaysi dizayn kerakligini hal qilishdan oldin NAT qo‘shish yo‘qolgan marshrutni yashiradi va manzil ko‘radigan siyosatni o‘zgartiradi.

Linux shlyuzida yadro uzatishi mehmon konfiguratsiyasining bir qismi. pfSense qurilmasi o‘z ekvivalentiga ega va unga Linux sysctl buyrug‘ini ko‘chirish mos qadam emas.

Kirish kerak bo‘lgan mijozdan tekshiring

Shlyuzning o‘zidan emas, VPN mijozidan bitta maqsadli xizmatga sinab ko‘ring. Shlyuzda boshlangan ulanish boshqa manbadan foydalanadi va siz hozir yoqqan uzatish qoidalarini hech qachon ishga solmaydi.

Xususiyatni qurilmani boshqaradigan har qanday joyda qayd eting. Qo‘lda tuzatilgan VM keyingi almashtirish asl sozlamani jimgina qaytarmaguncha ishlaydi va bu nosozlik VPN dasturiy ta’minotidagi regressiya kabi ko‘rinadi.

Ish tartibi: xususiyatni o‘qing, bitta satrni eksport qilib tahrirlang, NO_EFFECT bilan tekshiring, REFRESH bilan qo‘llang, mehmon uzatayotganini tasdiqlang, so‘ng mijozdan sinab ko‘ring.

O'xshash maqolalar