ერთი VPN ანგარიში ორ სერვერზე: მდგომარეობის სამი წიგნი
საერთო დაშვება, კვანძისეული ქსელის კონფიგურაცია და ცოცხალი სესიები ცალკე პრობლემებია. გამოყავით ისინი, სანამ ერთ ანგარიშს კვანძებს შორის გაამეორებთ.
ერთი ანგარიში, რომელსაც ორი VPN კვანძიდან ნებისმიერზე შესვლა შეუძლია, დიზაინის კითხვას აყენებს გაცილებით ადრე, ვიდრე პროგრამული უზრუნველყოფის კითხვად იქცევა. ანგარიშის ხედი, თითოეული კვანძის საკუთარი ქსელი და დაკავშირებული კლიენტის მიერ დაჭერილი სესია მდგომარეობის სამი სხვადასხვა სახეა და ისინი სხვადასხვაგვარად ფუჭდება, როცა მათ აქეთ-იქით აკოპირებთ. სამივეს ერთ სისტემაში კოპირება მათგან ერთის დაკარგვის ჩვეული გზაა.
გაიარეთ ქვემოთ მოცემული სამი წიგნი რიგრიგობით. თითოეული კითხულობს, რა არის უფლებამოსილი, რა არის ლოკალური და რა ხდება, როცა მეორე კვანძი არ არის, და პასუხები ერთმანეთიდან არ გამომდინარეობს.
ვინ შეიძლება დაუკავშირდეს: ერთი უფლებამოსილება, ბევრი კვანძი
დაიწყეთ დაშვების წიგნით: რომელი იდენტობის წყაროა უფლებამოსილი, რომელ სერტიფიკატის გამომცემლებს ენდობიან, რომელი ანგარიშები არიან უფლებამოსილი, რომელი მეორე ფაქტორი მოქმედებს და რას აღწევს თითოეული ანგარიში. შემდეგ ჩამოწერეთ, როგორ იგებს თითოეული კვანძი ცვლილებებს და რამდენად სწრაფად.
საერთო მონაცემთა ბაზა ამ პასუხის ერთი შესაძლო კომპონენტია. ეს არ არის მტკიცებულება იმისა, რომ ყველა შესაბამისი პოლიტიკა იქ ცხოვრობს, ან რომ ყველა კვანძი ცვლილებას ერთსა და იმავე მომენტში იყენებს. A კვანძზე გამორთული, მაგრამ B კვანძზე ჯერ კიდევ მიღებული ანგარიში ნიშნავს, რომ გასვლის პროცესი არ დასრულებულა.
გადაწყვიტეთ, რას აკეთებს კვანძი, როცა უფლებამოსილება მიუწვდომელია. შეფერხების დროს დაქეშირებული რწმუნებების მიღება უსაფრთხოების ღირებულების მქონე პოლიტიკის არჩევანია, ხოლო მათი უარყოფა ხელმისაწვდომობის ღირებულების მქონე პოლიტიკის არჩევანი. ორივე დასაცავია; დოკუმენტირების გარეშე დატოვება არა.
გამომცემლის უფლებამოსილება ანგარიშის მონაცემებისგან ცალკე შეინახეთ. რამდენიმე კარიბჭეს შეუძლია ერთსა და იმავე CA-ს ენდოს მისი ხელმოწერის გასაღების გარეშე, და თითოეულ კვანძს მაინც სჭირდება საკუთარი სერვერის სერტიფიკატი და საკუთარი კლიენტის მხრიდან ნდობის ურთიერთობა.
რა ეკუთვნის კვანძს: მისამართები და მარშრუტები
მეორე წიგნი ლოკალურია თითოეული კვანძისთვის: მოსმენის მისამართი, სერვერის იდენტობა, მისამართების აუზი, მარშრუტები კერძო რესურსებამდე, ამომხსნელის პოლიტიკა და როგორ გადის ტრაფიკი ინტერნეტისკენ. ერთი და იგივე ანგარიში შეიძლება ორივე კვანძმა მოემსახუროს, სანამ ეს ობიექტები განსხვავებული რჩება.
დაბრუნების გზა ის ნაწილია, რომელიც დავიწყებას ეძლევა. თუ ორივე კვანძი ერთი აუზიდან ანაწილებს მისამართებს, კერძო ქსელი ვერ გაიგებს, რომელ კვანძს ეკუთვნის მოცემული კლიენტი და პასუხი შეიძლება არასწორ ადგილას გაიგზავნოს. განსხვავებულ აუზებსაც სჭირდება მარშრუტები და ნებართვები, ამიტომ ცალკე რიცხვითი დიაპაზონი სრული დიზაინი არ არის.
კლიენტები განზრახ მიმართეთ ერთ კვანძზე. DNS-ის არჩევა, კლიენტის ბოლო წერტილების სიები და ფრონტენდის სერვისი სხვადასხვა მექანიზმია, განსხვავებული ჯანმრთელობისა და მარცხის გადართვის ქცევით. ერთის არჩევა კარგია; „დატვირთვის გაწონასწორება“ როგორც დიზაინი ტოვებს დაბრუნების გზას და მარცხის ქცევას განუსაზღვრელს.
დოკუმენტირებული პროდუქტის მაგალითი აქ ეხმარება. Pritunl-ის გამეორების დოკუმენტაცია VPN ქსელს თითოეული ასლის ობიექტად თვლის და სხვადასხვა ასლზე მყოფ კლიენტებს ერთმანეთამდე მისასვლელად დამატებითი მარშრუტები და კავშირი სჭირდებათ. ეს პროდუქტისთვის სპეციფიკური მოწყობაა, არა Community OpenVPN-ის რეცეპტი, მაგრამ აჩვენებს, რატომ ცვლის ასლის დამატება ქსელს და არა მხოლოდ ანგარიშების საცავს.
რა არის სესია: ცოცხალი მდგომარეობა, არა სტრიქონი
მესამე წიგნი ცოცხალი სესიაა. დაკავშირებულ კლიენტს აქვს პროტოკოლის მდგომარეობა და ქსელური მინიჭება იმ კვანძზე, რომელმაც მიიღო იგი. ანგარიშის ცოდნა მეორე კვანძზე არ აძლევს ამ კვანძს სესიას, გასაღებებს ან პაკეტების გაგრძელების უნარს.
ნათლად თქვით, რა ხდება, როცა კვანძი ფუჭდება. მხარდაჭერილი შედეგი შეიძლება იყოს მეორე კვანძზე ხელახლა დაკავშირება ახალი აუთენტიფიკაციითა და ახალი მისამართით, რის შემდეგაც აპლიკაცია თავისებურად აღდგება. თუ უწყვეტი გადაცემაა საჭირო, ეს მოთხოვნა ეყრდნობა განხორციელების ცხად მხარდაჭერას და არა მონაცემთა ბაზის გამეორებიდან გამოტანილ დასკვნას. დაწერეთ პასუხი იქ, სადაც მორიგე ინჟინერი იპოვის.
ტევადობის წესებსაც იგივე მოპყრობა სჭირდება. ანგარიშზე ორი ერთდროული სესიის ზღვარი კვანძებს შორის მხოლოდ მაშინ აღსრულდება, თუ რომელიმე უფლებამოსილებას დაკავებული ადგილების კოორდინირებული ხედი აქვს. კვანძისეული სიები და ისტორიული ანგარიშის ჩანაწერი ამ ხედს არ ქმნიან.
სამივე წიგნის გამოცდა
თითოეული ცალკე გამოსცადეთ. შედით A კვანძით, შემდეგ B კვანძით და დაადასტურეთ, რომ ორივე წარმატებულია მოსალოდნელი მისამართების დიაპაზონებით. გააუქმეთ იდენტობა და შეამოწმეთ ორივე კვანძი, და არა მხოლოდ ის, რომელიც შემთხვევით გამოსცადეთ. შემდეგ გააჩერეთ ერთი კვანძი და დააკვირდით, რას აკეთებს სინამდვილეში კლიენტი და კერძო აპლიკაცია.
მიღების ტესტში ჩართეთ დაბრუნების გზა. კლიენტი, რომელიც B-ს უკავშირდება, მაგრამ A-ს უკან მდგარი რესურსიდან პასუხებს ვერ იღებს, დაშვების შემოწმება გაიარა და ქსელური ვერ გაიარა, და ეს განსხვავება ანგარიშში უნდა გამოჩნდეს.
მრავალკვანძიანი ანგარიშის დიზაინი მხოლოდ მაშინაა სრული, როცა სამივე წიგნს აქვს ცხადი მფლობელი, ცვლილების გზა და მარცხის ქცევა. კონფიგურაციის ფაილის კვანძებს შორის კოპირება ამ კითხვებიდან არცერთს არ პასუხობს.