მთელი LAN-ის VPN გვირაბის უკან მოთავსება ადვილი ნაწილია; იმის გადაწყვეტა, როგორ ხედავს შორეული მხარე ამ კლიენტებს, ადვილი არ არის. მასკარადი გადაწერს ყოველ LAN წყაროს კარიბჭის გვირაბის მისამართზე, ამიტომ შორეული მხარე ერთ პარტნიორს პასუხობს. პოლიტიკური მარშრუტიზაცია ინახავს თავდაპირველ მისამართებს და მოითხოვს, რომ შორეულმა მხარემ იცოდეს, როგორ მიაღწიოს მათ. არც ერთი არ არის ნაგულისხმევი; არჩევანი გამომდინარეობს იქიდან, ვის ეკუთვნის შორეული მხარე და მნიშვნელოვანია თუ არა იდენტობა მოწყობილობის მიხედვით.

ორი დიზაინი სხვადასხვა რამეს გვპირდება

მასკარადი LAN-ს ამცირებს ერთ ხილულ ჰოსტამდე: კარიბჭემდე. შორეული ქსელი პასუხობს სწორედ ამ ერთ მისამართს, და კარიბჭე პასუხებს უკან თარგმნის იმ კლიენტისკენ, ვინც ნაკადი დაიწყო. შორეულ მხარეს თქვენს პირად პრეფიქსებზე მარშრუტი არ სჭირდება, ამიტომ ეს დიზაინი უძლებს პროვაიდერს, რომელიც მათ გადატანაზე უარს ამბობს. კარიბჭე ასევე ხდება ყოველი კავშირის წყარო, ამიტომ შორეული მხარე ვერ გაარჩევს ორ კლიენტს.

პოლიტიკური მარშრუტიზაცია ინახავს ყოველი კლიენტის მისამართს უცვლელად. შორეული ქსელი ხედავს ნამდვილ წყაროს და შეუძლია დაალოგოს, გამოიყენოს წესი ყოველი ჰოსტისთვის ან გაგზავნოს პასუხი პირდაპირ ამ მისამართზე. ეს ხილვადობა მთელი არსია და ვალდებულებას მოიცავს: შორეულ მხარეს უნდა ჰქონდეს LAN პრეფიქსის მარშრუტი, რომელიც გვირაბის გავლით უკან მიდის. დაგეგმეთ ეს მარშრუტი წესის ჩართვამდე, რადგან გვირაბი მაინც ადგება და მხოლოდ პასუხები დააკლდება.

მარცხის რეჟიმები ისევე განსხვავდება, როგორც დაპირებები. დაკარგული მასკარადის წესი წარმოქმნის პაკეტებს, რომლებიც პირადი წყაროებით გადიან და არასდროს ბრუნდებიან. დაკარგული დაბრუნების მარშრუტი იგივე სიმპტომს იძლევა პოლიტიკური მარშრუტიზაციისას, მაგრამ გასწორება შორეულ როუტერს ეკუთვნის და არა კარიბჭეს.

მასკარადი: ერთი პარტნიორი შორეულ მხარეს

მასკარადის გზას აქვს თანმიმდევრობა, რომელიც მნიშვნელოვანია. გადამისამართება უნდა იყოს ჩართული, სანამ რომელიმე NAT წესი სარგებელს მოგვცემს, ფილტრის ცხრილმა უნდა დაუშვას გავლა ორივე მიმართულებით, და მხოლოდ ამის შემდეგ ვრცელდება თარგმანი გვირაბის ინტერფეისზე.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i eth1 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

კლიენტებს კვლავ სჭირდებათ გზა კარიბჭემდე. ან კარიბჭე მათი ნაგულისხმევი როუტერია, ან ისინი ატარებენ კონკრეტულ მარშრუტს შორეული პრეფიქსისთვის; თუ ცალკე როუტერი რჩება ნაგულისხმევად, ამ როუტერს სჭირდება სტატიკური მარშრუტი გვირაბის დანიშნულებებისთვის, თორემ პაკეტი არასწორ ჰოპზე გადავა, სანამ კარიბჭე დაინახავს მას.

DNS ცალკე გადაწყვეტილებაა. შორეული მხარის რეზოლვერი პასუხობს მხოლოდ მაშინ, როცა მისი პასუხი შეიძლება დაბრუნდეს კლიენტამდე. მასკარადის დროს მოთხოვნა თითქოს კარიბჭიდან მოდის, ამიტომ რეზოლვერის დაბრუნების გზა უკვე დაკმაყოფილებულია; პოლიტიკური მარშრუტიზაციისას რეზოლვერს იგივე დაბრუნების მარშრუტი სჭირდება, რაც ნებისმიერ სხვა შორეულ სერვისს.

პოლიტიკური მარშრუტიზაცია: შეინახეთ წყარო, დაამატეთ დაბრუნების გზა

პოლიტიკური მარშრუტიზაცია იწყება ცხრილით და წესით, რომელიც მას ირჩევს. LAN ინტერფეისიდან შემავალი ტრაფიკი იგზავნება გამოყოფილ ცხრილში, და ეს ცხრილი ატარებს ნაგულისხმევ მარშრუტს გვირაბის გავლით. მთავარი ცხრილი უცვლელი რჩება, ამიტომ თავად კარიბჭის მიერ შექმნილი ტრაფიკი შეიძლება სხვა გზით წავიდეს.

ip rule add iif eth1 table vpn
ip route add default dev tun0 table vpn

შემდეგ შორეულმა მხარემ LAN პრეფიქსი უკან უნდა დაამარშრუტოს გვირაბის გავლით. ეს პარამეტრია შორეულ როუტერზე და არა ამ კარიბჭეზე. კარიბჭემ ასევე უნდა მიიღოს პასუხები, რომლებიც სხვა ინტერფეისზე მოდის, ვიდრე მთავარი ცხრილი იწინასწარმეტყველებდა; ფხვიერი უკუმარშრუტული ფილტრაცია (rp_filter დაყენებული 2-ზე) ჩვეულებრივი კორექტირებაა, როცა მკაცრი რეჟიმი აგდებს ამ პაკეტებს.

როცა ორი გვირაბი აქტიურია, მონიშნეთ ყოველი ნაკადი შესვლისას და მიეცით ნიშანს ცხრილის არჩევის უფლება. წესი, რომელიც მხოლოდ შემავალ ინტერფეისს უყურებს, ორივე გვირაბის ტრაფიკს ერთ ცხრილში აგზავნის, ამიტომ მეორე გვირაბი პირველს ნაკადებს ჰპარავს. გამოსცადეთ ეს ნიშანი კავშირით, რომელიც გადარჩება ხელახალ დაკავშირებას, რადგან სწორედ მაშინ ვლინდება შერეული პოლიტიკა.

გადაწყვიტეთ საკუთრების და იმის მიხედვით, რასაც შორეული მხარე ლოგავს

თუ გვირაბი პროვაიდერთან მთავრდება, გამოიყენეთ მასკარადი. ის ოპერატორი თქვენს პირად LAN დიაპაზონებს არ დაამარშრუტებს და მას არ აქვს მიზეზი, გაარჩიოს ცალკეული კლიენტები თქვენი კარიბჭის უკან. ერთი ხილული პარტნიორი ერთადერთი მოდელია, რომელსაც მისი პოლიტიკა მხარს უჭერს, ამიტომ მიეცით ეს და თარგმანი თქვენს კიდეზე შეინახეთ. პროვაიდერი ხედავს ერთ პარტნიორს, რაც ზუსტად ის არის, რასაც მისი პოლიტიკა ელის, და თქვენი კლიენტები იმ ერთ იდენტობას მემკვიდრეობით იღებენ.

თუ ორივე ბოლო თქვენია და შორეული სერვისები წყაროს მისამართებზე მოქმედებენ, პოლიტიკური მარშრუტიზაცია იმსახურებს დამატებით მარშრუტს. მაშინ firewall-ის წესებს, მომხმარებლის მიხედვით წვდომას და აუდიტის ჟურნალებს შეუძლიათ კლიენტების გარჩევა. თუ შორეულ მხარეს მხოლოდ ხელმისაწვდომობა სჭირდება, მასკარადი უფრო მარტივია და დაბრუნების მარშრუტის შეცდომების მთელ კლასს აქრობს.

ჰიბრიდული დიზაინები ნორმალურია: პოლიტიკური მარშრუტიზაცია თქვენს ქსელში, მასკარადი პროვაიდერის კიდეზე. მთავარია ჩაიწეროთ, რომელი ჰოპი თარგმნის და რომელი ჰოპი ამარშრუტებს, რადგან ერთი კლიენტისთვის შემთხვევით დამატებული NAT წესი წყაროს მალავს იმავე ჯაჭვის ყოველი კლიენტისგან.

შეამოწმეთ ერთი კლიენტიდან, შემდეგ მეორე კლიენტიდან

გაუშვით ტესტი იქ, სადაც ტრაფიკი იწყება. შეამოწმეთ მარშრუტი, რომელსაც ჰოსტი იყენებს, დააკვირდით პაკეტის გამოჩენას გვირაბის ინტერფეისზე და შეამოწმეთ conntrack თარგმანისთვის. ეს თანმიმდევრობა ამტკიცებს, რომ პაკეტმა გაიარა განზრახული გზა და არა უბრალოდ სადღაც მივიდა.

გაიმეორეთ ტესტი ხელახალი დაკავშირების შემდეგ. მასკარადის წესი, რომელიც ინტერფეისს ასახელებს, უძლებს ახალ გვირაბის მისამართს; წესი, რომელიც ძველ მისამართს ასახელებს, ვერ უძლებს. შემდეგ გამოსცადეთ მეორე LAN ჰოსტი, რადგან ერთ მანქანაზე მომუშავე დიზაინი ხშირად დამოკიდებულია იმ მანქანის საკუთარ მარშრუტზე და არა კარიბჭის პოლიტიკაზე.

ჩაწერეთ არჩეული მოდელი, თარგმნილი ან შენახული წყარო და დაბრუნების მარშრუტის მფლობელი კარიბჭის შენიშვნებში. თორემ შემდეგი ადამიანი, ვინც კლიენტს ან გვირაბს დაამატებს, გამოიცნობს, და გამოცნობა ის გზაა, რომლითაც მომუშავე LAN-იდან-VPN კონფიგურაცია ნაწილობრივი ხდება.

დაკავშირებული სტატიები