Bitta tashqi prefiks uchun foydalanuvchi belgilagan marshrut qo‘shasiz, uni VPN shlyuziga yo‘naltirasiz, ammo trafik baribir Azure’ning internet yo‘li orqali chiqadi. Yoki u to‘g‘ri chiqadi, javob esa hech qachon qaytmaydi. Ikkala natija ham bir xil xatodan kelib chiqadi: Azure’dagi keyingi sakrashni butun dizayn deb hisoblash. Marshrutlar jadvali faqat paket Azure ichida qaysi chiqishni olishini hal qiladi. Tunneldan keyin u bilan nima bo‘lishi va javob qanday qaytishi — siz qurishingiz kerak bo‘lgan ikkinchi yarmi.

Keyingi sakrash shlyuz, qurilmaning IP emas

UDR mos keluvchi prefiksni keyingi sakrash turiga yuboradi, VirtualNetworkGateway esa tur, manzil emas. Odamlar shlyuzning xususiy IP manzilini VirtualAppliance marshrutiga yopishtirib, keyin nima uchun hech narsa mos kelmasligiga hayron bo‘lishadi, chunki bu tur o‘rniga NIC yoki ichki yuk balanslagichini kutadi. Microsoft’ning marshrutlash hujjatlari ham shlyuz keyingi sakrashini shlyuzi VPN shlyuz bo‘lgan virtual tarmoq bilan cheklaydi. ExpressRoute, Route Server va Virtual WAN markazi bu variant bilan manzillanmaydi.

Marshrutni yozishdan oldin virtual tarmoqda aslida nima borligini tekshiring. Agar dizayn markaz orqali marshrutlasa, marshrut siz tahrirlayotgan shoxga emas, markazning marshrutlash egasiga tegishli.

Biror narsani o‘zgartirishdan oldin amaldagi marshrutni o‘qing

Azure tizim marshrutlari, BGP orqali o‘rganilgan prefikslar va UDR’larni har bir NIC uchun amaldagi marshrutlar jadvaliga birlashtiradi va eng uzun mos keluvchi prefiks qayerdan kelganidan qat’i nazar yutadi. Bir xil prefiks uchun UDR BGP marshrutidan ustun. Shu tartib tufayli avvalgi tajribadan qolgan eski UDR tunnel orqali hozir o‘rgangan prefiksni jimgina bosib ketishi mumkin.

Avval amaldagi jadvalni ko‘ring, keyin marshrut qo‘shayotganingizni yoki almashtirayotganingizni hal qiling:

az network nic show-effective-route-table \
  --resource-group rg-net --name vm-web-nic -o table

Prefiks bilan birga manba ustunini ham o‘qing. To‘g‘ri prefiks va noto‘g‘ri manbaga ega marshrut qaysi obyektni tahrirlashni aytadi va birinchisiga yutqazadigan ikkinchi marshrut qo‘shishdan saqlaydi.

Marshrutni haqiqiy prefiks va quyi tarmoqqa moslab yozing

Forum postidan ko‘chirilgan ommaviy diapazon o‘rniga siz haqiqatan yetib boradigan xizmatdan olingan manzilning haqiqiy prefiksidan foydalaning. Butun chiqishni ko‘chiradigan standart marshrutni ko‘rib chiqishdan oldin bitta tasdiqlangan xizmatdan boshlang. So‘ngra marshrutlar jadvalini ish yukining quyi tarmog‘iga ulang. Shlyuz quyi tarmog‘ining o‘z talablari bor va jadvalingizni u yerga ulash yukni yo‘naltirish o‘rniga shlyuzni buzadi.

Marshrutni yarating, so‘ngra jadvalni ish yuki joylashgan quyi tarmoqqa bog‘lang:

az network route-table route create --resource-group rg-net --route-table-name rt-egress \
  --name to-partner --address-prefix 203.0.113.0/24 --next-hop-type VirtualNetworkGateway
az network vnet subnet update --resource-group rg-net --vnet-name vnet-app \
  --name snet-web --route-table rt-egress

Tarqatish ham muhim. Ushbu jadvalda BGP tarqatish yoqilgan bo‘lsa, o‘rganilgan prefikslar siz yozganlaringiz yonida paydo bo‘ladi va aniqroq o‘rganilgan prefiks kengroq UDR’dan ustun kelishi mumkin. Tarqatishni faqat UDR to‘plami ushbu quyi tarmoq uchun vakolatli bo‘lishini xohlaganingizda o‘chiring.

Mahalliy yarmini tugating, aks holda oqim u yerda o‘ladi

Mahalliy shlyuz Azure manbasini qabul qilishi, uni manzilga uzatishi va ilovaga ruxsat berishi kerak. Uning keyingi yo‘li internet chiqishi yoki boshqa xususiy sakrash bo‘lishi mumkin, ammo bu qaror Azure marshrutlar jadvaliga emas, rejaga tegishli. Odatiy muvaffaqiyatsizlik — qaytish yo‘li. Internet manzili xususiy Azure manbasini sizga qaytarib marshrutlamaydi, shuning uchun javob o‘z standart shlyuziga borib o‘ladi yoki umuman chiqmaydi.

Ikki dizayn buni hal qiladi va ular bir-birini almashtira olmaydi. Manbani chiqishda tarjima qiling, shunda manzil mahalliy tarmoqqa tegishli bo‘lgan ommaviy manzilga javob beradi. Yoki manbani saqlab, javoblar tunnel orqali qaytishi uchun marshrutlangan qaytish munosabatini quring. Bittasini tanlang va ilova qaysi manzilni ko‘rishini yozib qo‘ying.

Selektorlar va ruxsat ro‘yxatlari bularning barchasidan alohida. Azure keyingi sakrashini tanlash VPN trafik selektorlarini kengaytirmaydi va tashqi xizmatning manba ruxsat ro‘yxatini o‘zgartirmaydi.

Manzil ko‘radigan manba bilan tekshiring

So‘rovni boshqa quyi tarmoqdagi sakrash xostidan emas, haqiqiy ish yukidan yuboring, so‘ngra manzil ko‘rgan manba manzilini o‘qing. Shu bitta qiymat ikkita qaytish dizaynidan qaysi biri amalda ekanini aytadi. Keyin javob yo‘lini tekshiring va VM’ga oddiy boshqaruv trafigi hali ishlayotganiga ishonch hosil qiling, chunki tasodifan qo‘shilgan standart marshrut ilova buzilishidan ancha oldin buzilgan SSH sessiyasi sifatida ko‘rinadi.

Tanlangan prefiks orqali o‘tish majburiy tunnelga qaraganda ancha tor o‘zgarish. Uni tor tuting va qaytarish bitta marshrutni o‘chirishdir.

O'xshash maqolalar