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

ინტერფეისი ჩნდება მანამ, ვიდრე რაიმე იმუშავებს

გვირაბის კლიენტი ხსნის ვირტუალურ ინტერფეისს და გადასცემს პაკეტებს. TUN მოწყობილობა ატარებს IP პაკეტებს, რაც სჭირდება მარშრუტიზებულ VPN-ს; TAP მოწყობილობა ატარებს Ethernet კადრებს, რაც სჭირდება ხიდურ დიზაინს. ბირთვის მოდული უზრუნველყოფს მოწყობილობას და კლიენტი ფლობს მას მანამ, ვიდრე სესია გრძელდება.

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

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

მარშრუტებს აყენებს ის, ვინც გვირაბს ფლობს

მარშრუტები მეორე ცვლილებაა და მათი საკუთრება უფრო მნიშვნელოვანია, ვიდრე შიგთავსი. NetworkManager-ის პროფილი, systemd-ის ერთეული და ხელით გაშვებული კლიენტი ყველა მარშრუტებს აყენებს; როცა ორი მათგანი ერთდროულად აკეთებს ამას, ჩნდება ცხრილი, რომელსაც შემდეგ ვერავინ ახსნის.

ip -br addr show
ip route show
ip -6 route show

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

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

ამომხსნელი ხელს იცვლის

DNS მესამე ცვლილებაა და ის, რომელიც ყველაზე სავარაუდოდ იმართება სადმე, სადაც არ შეგიხედავთ. სამუშაო მაგიდაზე NetworkManager-მა შეიძლება ამომხსნელის პარამეტრები თითოეული კავშირისთვის გადასცეს. systemd-resolved-ის მქონე სისტემაში პარამეტრები თითოეული რგოლისთვის გამოიყენება და /etc/resolv.conf შეიძლება იყოს ჩანასახი ან სიმბოლური ბმული და არა ფაილი, რომელიც უნდა შეასწოროთ.

resolvectl status
readlink -f /etc/resolv.conf
cat /etc/resolv.conf

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

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

ერთი მმართველი თითო კავშირზე

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

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

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

რა უნდა შემოწმდეს, როცა აწეულია, მაგრამ არ მუშაობს

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

nmcli connection show --active
nmcli device status
wg show

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

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

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