strongSwan vips: ვირტუალური მისამართის მოთხოვნა IKEv2-ისგან
vips ითხოვს შიდა IKEv2 მისამართს; კარიბჭე წყვეტს, რას მისცემს. დააკონფიგურირეთ მოთხოვნა, ჩატვირთეთ ის, შემდეგ კი შეამოწმეთ, რა გამოყო რეალურად პასუხისმგებელმა.
თქვენს IKEv2 კლიენტს შეუძლია კარიბჭეს შიდა მისამართი სთხოვოს, და კარიბჭე წყვეტს, რა დააბრუნოს. strongSwan-ში ეს მოთხოვნა vips პარამეტრია და ის მოთხოვნად რჩება მაშინაც კი, როცა მასში კონკრეტულ მისამართს წერთ. ქვემოთ მოცემული სახელმძღვანელო აყენებს მოთხოვნას, ტვირთავს მას და კითხულობს, რა დაბრუნდა, რადგან ეს სამი ნაბიჯი სამი სხვადასხვა გზით ფეილდება. არც ერთი მათგანი არ მოკლდება უფრო ძლიერად აკრეფით.
რას ითხოვს vips და რას ვერ დაჰპირდება
vips კავშირის განსაზღვრებაში ჯდება და პასუხისმგებელს ვირტუალურ მისამართს სთხოვს. strongSwan-ის ვირტუალური მისამართების გზამკვლევი ცხადად ამბობს, რომ პასუხი შეიძლება იყოს სხვა მისამართი, ან საერთოდ არაფერი, და სწორედ ამ წინადადებას გამოტოვებენ ადამიანები, როცა მნიშვნელობას წერენ და ელიან, რომ ის გამოჩნდება. მოთხოვნა მაინც ღირს, რადგან თქვენ სწორედ პასუხს ამოწმებთ. პარამეტრს მოეპყარით როგორც კითხვის მითითებას, და არა როგორც შედეგის კონფიგურაციას.
0.0.0.0-ის მოთხოვნა ნიშნავს ნებისმიერი ხელმისაწვდომი IPv4 ვირტუალური მისამართის მოთხოვნას, რაც ჩვეულებრივ სწორია, როცა ზუსტ მნიშვნელობას არ აქვს მნიშვნელობა. კონკრეტული მისამართის მოთხოვნა კარიბჭისთვის მინიშნებაა, და არა მის მიმართ მოთხოვნა.
swanctl-ის ფრაგმენტი და მისი ადგილი
პარამეტრი კავშირის ბლოკში ზის, არა საკუთარ ფაილში და არა ოპერაციული სისტემის პროფილში. ეს იზოლირებული ფრაგმენტი ფორმას გვიჩვენებს:
connections {
net {
local_addrs = 192.0.2.10
remote_addrs = 203.0.113.5
vips = 10.77.0.31
children {
net { local_ts = dynamic remote_ts = 10.77.0.0/24 }
}
}
}
ჩატვირთეთ ის ფაილით, რომელსაც კავშირი ეკუთვნის, შემდეგ დაიწყეთ კავშირი და წაიკითხეთ შედეგი. არასწორ განყოფილებაში ჩასმული ფრაგმენტი ანალიზის შეცდომას იძლევა ან, უარესი, კავშირს, რომელიც იტვირთება იმ მოთხოვნის გარეშე, რომელიც გგონიათ, რომ გააკეთეთ. გაუშვით სამი ბრძანება თანმიმდევრობით და შეინახეთ გამომავალი.
swanctl --load-all --file /etc/swanctl/swanctl.conf
swanctl --initiate --child net
swanctl --list-sas
local_ts ტრაფიკს ირჩევს, მისამართს არ ქმნის
local_ts ასახელებს იმ ტრაფიკის ნაკრებს, რომელსაც შვილეული SA იცავს; ის მისამართს ინტერფეისზე არ დებს. ვირტუალური IP-ის შეთანხმების შემდეგ strongSwan წყვეტს თავისი ნაგულისხმევი დინამიკური ამრჩევის გამოყენებას და ამის ნაცვლად მინიჭებულ მისამართს იყენებს. თუ ამრჩევს პირდაპირი მისამართისთვის მიაჭედებთ, ამტკიცებთ იმას, რაც კარიბჭემ შეიძლება არ მოგცათ, და ამიტომ ხარვეზი მუშა SA-ს სახით ჩნდება, რომლის ტრაფიკიც არსად მიდის. ამრჩევი ტრაფიკს აღწერს, ხოლო მინიჭება სხვა გაცვლიდან მოდის.
სტაბილური შიდა მისამართის მიღების სხვა გზა მისი ლოკალურად ფლობაა. მისამართი ინტერფეისზე დადეთ გვირაბის აწევამდე, ამრჩევი უკვე არსებულისკენ მიმართეთ და პარტნიორი და მარშრუტი მის გარშემო მოაწყვეთ.
ამ დიზაინში არაფერი შეთანხმდება, ამიტომ არაფერი ვერ გადანაწილდება, და ეს არის გაცვლა: დეტერმინიზმი სანაცვლოდ იმისა, რომ მისამართების სამუშაო თავად გააკეთოთ. ეს სხვა მექანიზმია, და არა vips-ის ვარიანტი, ამიტომ ორივე ერთ კავშირში არ უნდა აირიოს. შეთანხმებული მისამართის გვერდით მიჭედებული ამრჩევი ის კავშირია, რომელიც მუშაობს მანამ, სანამ კარიბჭე სხვა რამეს გასცემს.
შეამოწმეთ, რა გამოყო რეალურად პასუხისმგებელმა
წაიკითხეთ SA-ების სია იმ მისამართისთვის, რომელიც კარიბჭემ მოგცათ, შემდეგ დაადასტურეთ, რომ მისამართი ინტერფეისზე არსებობს. თუ ორივე არ ემთხვევა, გვირაბი აწეულია და ტრაფიკი იქ არ მიდის, სადაც ფიქრობთ. მინიჭებული მისამართი, რომელიც არასდროს აღწევს ინტერფეისამდე, ამ თანმიმდევრობის ყველაზე დამაბნეველი ხარვეზია, რადგან თითოეული ნახევარი ცალკე სწორად გამოიყურება.
თქვენს ჩანაწერებში ოთხი მისამართი ცალ-ცალკე შეინახეთ: მოთხოვნილი შიდა მისამართი, მინიჭებული, მანქანის LAN მისამართი და საჯარო გასასვლელი, რომელზეც რომელიმე ვებსაიტი იტყობინება. ისინი სხვადასხვა ფენას ეკუთვნის და სხვადასხვა ადგილას ჩნდება. სახელმძღვანელო, რომელიც ოთხივეს აღრიცხავს, ის არის, რომელსაც სხვა ადამიანი გაჰყვება იმის კითხვის გარეშე, რომელი მისამართი გქონდათ მხედველობაში. ყოველი გადატვირთვის შემდეგ ხელახლა წაიკითხეთ ისინი, რადგან მინიჭებული მნიშვნელობა ერთადერთია, რომელიც ცოცხალ გვირაბს აღწერს.
სტატიკური დიზაინი ცალკე შეინახეთ
თუ ფიქსირებული შიდა მისამართი გჭირდებათ, მოაწყვეთ ჯავშნა კარიბჭეზე და კლიენტის მოთხოვნა მოთხოვნად დატოვეთ. მიჭედებული ამრჩევის შეთანხმებულ მისამართთან შერევა იძლევა კავშირს, რომელიც მუშაობს მანამ, სანამ კარიბჭე სხვა რამეს მიუნიშნებს. ჯავშნის წესი კავშირის გვერდით ჩაწერეთ, რადგან ეს არის ის ნაწილი, რომლის გამოცნობაც კოლეგას კონფიგურაციის ფაილიდან არ შეუძლია. შემდეგ ახალი კლიენტი წესს მემკვიდრეობით იღებს, ნაცვლად იმისა, რომ ხელახლა აღმოაჩინოს.
ჩაშენებულ Mac კლიენტში არც ერთი ამ პარამეტრის სახელი არ არსებობს. გამოიყენეთ ნებისმიერი მინიჭება ან ჯავშნა, რომელსაც კარიბჭე გთავაზობთ, და პროფილი, რომელსაც ოპერატორი აქვეყნებს, და კლიენტის მხარეს ნებისმიერ მნიშვნელობას მინიშნებად მოეპყარით, სანამ მინიჭებას ხელახლა არ წაიკითხავთ. დაბრუნება ნიშნავს vips ხაზის მოშორებას და გადატვირთვას, რაც გაბრუნებთ იმაზე, რასაც კარიბჭე ნაგულისხმევად მიუნიშნებს.