რატომ კარგავს Azure-ის VPN მოწყობილობის VM დაბრუნების გზას
Azure VM-ში მყოფი VPN მოწყობილობა ითხოვს, რომ UDR, ქსელის ბარათის გადამისამართების დროშა და სტუმრის პოლიტიკა შეთანხმებული იყოს. მიჰყევით ერთ ფილიალის მოთხოვნას სამივეს გავლით.
VPN მოწყობილობას რომ ატარებს, ის Azure VM ორ დამოუკიდებელ გადაწყვეტილების სისტემაშია მოთავსებული. 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-ის დაშვება VM-ის საჯარო მისამართზე იცავს გვირაბს; ის არაფერს ამბობს იმაზე, შეიძლება თუ არა გაშიფრული ფილიალის მოთხოვნამ სამუშაო დატვირთვის პორტამდე მიაღწიოს.
მიჰყევით ერთ მოთხოვნას და მის პასუხს
აირჩიეთ ერთი ნებადართული ნაკადი და თვალყური ადევნეთ მას თავიდან ბოლომდე. ფილიალს სჭირდება მარშრუტი 10.0.10.0/24 საიტის კავშირის გავლით, მოწყობილობას სჭირდება მიწოდების გზა სამუშაო დატვირთვის ქვექსელამდე, ხოლო სამუშაო დატვირთვის ქვექსელს სჭირდება დაბრუნების მარშრუტი ფილიალისკენ.
ადრეულად გადაწყვიტეთ, ინარჩუნებს თუ არა დიზაინი ფილიალის წყაროს მისამართს, თუ თარგმნის მას. NAT ცვლის იმას, რასაც სამუშაო დატვირთვა ხედავს, ამიტომ მისი წვდომის წესები უნდა აღწეროს ის მოდელი, რომელიც ნამდვილად აირჩიეთ და არა გამოცნობილი კარიბჭის მისამართი.
წარმატებული ხელის ჩამორთმევა ამ ჯაჭვის ერთ რგოლს ამტკიცებს. გზა სრულდება მაშინ, როცა პასუხი იმავე მოწყობილობით ბრუნდება და სამუშაო დატვირთვის საკუთარი პოლიტიკა ამას იძლევა.