Ինչու է Azure-ի VPN սարքով վիրտուալ մեքենան կորցնում վերադարձի ուղին
Azure-ի վիրտուալ մեքենայում գտնվող VPN սարքը պահանջում է, որ UDR-ը, ցանցային քարտի փոխանցման դրոշակը և հյուրի քաղաքականությունը համաձայնեցված լինեն։ Հետևեք մեկ ճյուղային հարցման բոլոր երեքի միջով։
VPN սարք աշխատացնող Azure-ի վիրտուալ մեքենան գտնվում է երկու անկախ որոշումների համակարգերի ներսում։ Azure-ը որոշում է, թե որտեղից է փաթեթը դուրս գալիս ենթացանցից՝ օգտագործելով երթուղային աղյուսակները և ցանցային քարտի փոխանցման կարգավորումը։ Սարքի սեփական օպերացիոն համակարգը որոշում է, թե արդյոք այն կփոխանցի ապակոդավորված փաթեթը առաջ։ Կատարյալ բարձրացող թունելը դեռ կարող է ձախողվել երկրորդ համակարգում, և հենց այնտեղ են կանգ առնում այս տեղակայումների մեծ մասը։
Մեկ ուղու երեք տերեր
Վերցրեք ճյուղային ցանց 192.168.50.0/24 և աշխատանքային բեռի ենթացանց 10.0.10.0/24՝ սարքը գտնվում է 10.0.0.4 հասցեում՝ իր սեփական ենթացանցում։ Մեկ հարցում դիպչում է երեք առանձին կոնֆիգուրացիաների։
| Decision | Configured in | How it fails |
|---|---|---|
| Where the workload subnet sends branch traffic | Azure route table entry | Traffic leaves the subnet and never reaches the appliance |
| Whether a NIC may accept traffic not addressed to it | Azure NIC IP forwarding | Packets arrive and disappear at the interface |
| Whether the guest forwards decrypted traffic | Guest OS or vendor appliance policy | Tunnel is up, workload is unreachable |
| Whether the workload accepts the source | NSG and service policy | Requests delivered, replies refused |
Մեծ մասամբ կազմակերպություններում յուրաքանչյուր տող պատկանում է տարբեր թիմի, այդ պատճառով էլ այս խափանումը սովորաբար գալիս է մեկի փոխարեն երեք տոմսի տեսքով։
Այն երթուղին, որը ցույց է տալիս սարքին
Կցեք երթուղային աղյուսակը աշխատանքային բեռի ենթացանցին և ճյուղային նախածանցին տվեք Virtual appliance տիպի հաջորդ թռիչք՝ 10.0.0.4 հասցեով։ Օգտագործեք սարքի հասանելի մասնավոր հասցեն, երբեք՝ նրա հանրային VPN մուտքի կետը։ Հաջորդ թռիչքը պետք է լինի հասցե, որին աշխատանքային բեռի ենթացանցն արդեն կարող է հասնել։ Թողեք աշխատանքային բեռի մնացած երթուղավորումը ինչպես կա, եթե դիտավորությամբ չեք որոշել փոխարինել լռելյայն երթուղին։
Պահեք սարքը իր սեփական ենթացանցում և համոզվեք, որ ճյուղային երթևեկությունը սարք ուղարկող երթուղին չի որսում նաև սարքի սեփական ելքային ուղին։ Նման հանգույցը նման է առողջ թունելի՝ զրո պատասխաններով, և դա գիշերվա ժամը 2-ին վրիպազերծելը շատ տհաճ զբաղմունք է։
Ցանցային քարտի դրոշակը, որը բոլորը մոռանում են
Azure-ն ունի IP փոխանցման կարգավորում յուրաքանչյուր ցանցային քարտի համար, և այն լռելյայն անջատված է։ Այն գոյություն ունի, որովհետև փոխանցող քարտը ստանում է փաթեթներ, որոնք հասցեագրված են ուրիշ ինչ-որ բանի, և դրանք լուռ գցելը մյուս բոլորի համար անվտանգ լռելյայն է։
az network nic update --resource-group rg-net --name appliance-nic --ip-forwarding true միացնում է այն մեկ ինտերֆեյսի համար։ Microsoft-ի ցանցային քարտի փոխանցման ուղեցույցը պահանջում է այս կարգավորումը յուրաքանչյուր միացված քարտի վրա, որը փոխանցում է երթևեկություն, ուստի մեկ քարտով սարքը դեռ պետք է այն սահմանած ունենա այդ քարտի վրա։
Դրոշակը ոչ երթուղի է, ոչ էլ հրե պատի կանոն։ Այն միացնելը տալիս է թույլտվություն և ուրիշ ոչինչ։
Ինչ է անում հյուրը ապակոդավորված փաթեթի հետ
Երբ թունելը ավարտվում է, սարքի սեփական կույտը կայացնում է հաջորդ որոշումը։ Linux հյուրի վրա IPv4 փոխանցումը գործարկման ժամանակի կարգավորում է, և sysctl -w net.ipv4.ip_forward=1 տևում է մինչև հաջորդ բեռնարկումը։ Փոխարենը պահպանեք այն ֆայլում՝ /etc/sysctl.d/ տակ։ Արտադրողի սարքն ունի իր համարժեքը, և արտադրողի հարթակում փակցված Linux հրահանգները սովորաբար ընդհանրապես ոչինչ չեն անում։
Հյուրի հրե պատի քաղաքականությունը կրկին առանձին է, ինչպես նաև աշխատանքային բեռի ցանցային անվտանգության խումբը։ UDP 500 և 4500-ը վիրտուալ մեքենայի հանրային հասցեին թույլատրելը պաշտպանում է թունելը, բայց ոչինչ չի ասում այն մասին, թե արդյոք ապակոդավորված ճյուղային հարցումը կարող է հասնել աշխատանքային բեռի պորտին։
Հետևեք մեկ հարցումով և նրա պատասխանով
Ընտրեք մեկ թույլատրված հոսք և հետևեք այն սկզբից մինչև վերջ։ Ճյուղին երթուղի է պետք 10.0.10.0/24 կայքի միացման միջով, սարքին առաքման ուղի է պետք դեպի աշխատանքային բեռի ենթացանց, իսկ աշխատանքային բեռի ենթացանցին վերադարձի երթուղի է պետք դեպի ճյուղ։
Շուտ որոշեք՝ նախագիծը պահպանում է ճյուղի աղբյուրի հասցեն, թե թարգմանում է այն։ NAT-ը փոխում է այն, ինչ տեսնում է աշխատանքային բեռը, ուստի նրա մուտքի կանոնները պետք է նկարագրեն ձեր իրականում ընտրած մոդելը, ոչ թե գուշակված դարպասի հասցե։
Հաջող ձեռքսեղմումը ապացուցում է այդ շղթայի մեկ օղակը։ Ուղին ամբողջական է, երբ պատասխանը վերադառնում է նույն սարքով և աշխատանքային բեռի սեփական քաղաքականությունը դա թույլատրում է։