OpenVPN-მა DNS სერვერი გაგზავნა, მაგრამ Linux უგულებელყოფს მას
გაგზავნილი DNS სერვერი ჟურნალშია, გვირაბი აწეულია და შიდა სახელები კვლავ ვერ იხსნება. შეამოწმეთ რეზოლვერის ბმული და აირჩიეთ ერთი მფლობელი კავშირისთვის.
გაგზავნილი DNS სერვერი ჟურნალშია, გვირაბი აწეულია და შიდა სახელები კვლავ ვერ იხსნება. თავად გაგზავნაში არაფერია გატეხილი; პარამეტრი მივიდა და იქ გაჩერდა. გაგზავნილი DNS პარამეტრი შეტყობინებაა კლიენტისთვის და არა მითითება ოპერაციული სისტემის რეზოლვერისთვის, და სწორედ მათ შორის გადაცემაზე მთავრდება ასეთი შემთხვევების უმეტესობა. ხუთი შემოწმება, რიგრიგობით, პოულობს იმ გადაცემას, რომელიც არ მოხდა.
შემოწმება პირველი: როგორ იწყება კავშირი
კავშირის მფლობელი განსაზღვრავს, ვის შეუძლია რეზოლვერის პარამეტრების გამოყენება. უშუალო openvpn ბრძანება გარსიდან არაფერს ფლობს გარდა საკუთარი პროცესისა, ხოლო systemd ერთეულს, NetworkManager-ს ან მომწოდებლის კლიენტს თითოეულს აქვს DNS-ის გამოქვეყნების საკუთარი გზა. წაიკითხეთ პროცესების სია და ერთეულის სახელი სანამ რომელიმეს ჩათვლით.
ბრძანების ხაზის პროცესი ავტომატურად NetworkManager-ის კავშირი არ არის, და NetworkManager-ის კავშირი ავტომატურად არ არის ის, რამაც resolv.conf დაწერა. ეს ორი ვარაუდი ხსნის ამ გამოძიებაში დაკარგული საათების უმეტესობას. ჰკითხეთ, რომელი კომპონენტი გამოაქვეყნებდა DNS-ს იმ ინტერფეისისთვის, რომელსაც რეალურად ხედავთ.
ჩამოწერეთ მფლობელი სანამ გააგრძელებთ. ყოველი შემდგომი შემოწმება მასზეა დამოკიდებული.
შემოწმება მეორე: რას უჭირავს რეზოლვერის ბმულს სინამდვილეში
systemd-resolved ჰოსტზე resolvectl status ჩამოთვლის ყოველ ბმულს მისი DNS სერვერებითა და დომენებით. იპოვეთ გვირაბის ბმული და წაიკითხეთ მისი ჩანაწერები, და არ ჩათვალოთ, რომ ინტერფეისს ჰქვია tun0, რადგან ნუმერაცია შექმნის რიგს მიჰყვება. თუ გაგზავნილი მისამართი ბმულზე არ არის, გადაცემა ჩავარდა და არა მოთხოვნა.
თუ მისამართი არსებობს, შემდეგი კითხვაა, რომელ დომენებს ითხოვს ეს ბმული. ბმული დომენების სიის გარეშე პასუხობს მხოლოდ იმ სახელებს, რომლებზეც უშუალოდ ეკითხებიან, და ეს იშვიათად არის ის, რაც split-DNS განლაგებას სურს. მხოლოდ მისამართი აუცილებელია, მაგრამ არ არის საკმარისი.
ნებისმიერი დასკვნის გამოტანამდე შეადარეთ ბმულის სახელი რეზოლვერის გამოსავალში ინტერფეისის სახელს VPN ჟურნალში. იქ არსებული შეუსაბამობა ჩვეულებრივ ნიშნავს, რომ ჟურნალის სტრიქონი სხვა პროცესიდან მოვიდა.
შემოწმება მესამე: ირჩევს თუ არა სახელთა სივრცე ამ ბმულს
რეზოლვერს შეიძლება ჰქონდეს სწორი სერვერი და მაინც არ იკითხებოდეს. თითო ბმულის დომენი წყვეტს, რომელი მოთხოვნები სად მიდის, და მარშრუტიზაციის დომენის გარეშე პირადი სახელთა სივრცე უბრუნდება იმას, რასაც ნაგულისხმევი ბმული ამბობს. ამიტომ resolvectl query შიდა სახელისთვის შეიძლება წარმატებული იყოს, სანამ აპლიკაცია კვლავ ვარდება. შესაძლოა აპლიკაცია სულ სხვა რეზოლვერის გზას იყენებს.
შეამოწმეთ დომენის მინიჭება და არა მხოლოდ სერვერის მისამართი. დომენი, დაწერილი როგორც ~corp.example, მარშრუტიზაციის დომენია, და ტილდა ცვლის, როგორ ხდება სახელის შედარება.
თუ აპლიკაციას საკუთარი რეზოლვერი აქვს, შეამოწმეთ იმავე მექანიზმით, რომელსაც თავად იყენებს და არა სისტემის ხელსაწყოთი. მოთხოვნების ხელსაწყო, რომელიც სისტემურ რეზოლვერს გვერდს უვლის, წარმატებული იქნება ბმულის მდგომარეობის მიუხედავად.
შემოწმება მეოთხე: ერთი მფლობელი და არა ორი
თუ NetworkManager უკვე მართავს VPN-ს და რეზოლვერის მდგომარეობას, დაუკავშირებელი hook სკრიპტის დამატება კონკურენტ მწერებს ქმნის. პაკეტის მიერ systemd-resolved-ისთვის მოწოდებული hook მხარდაჭერილი ინტეგრაციაა და გარკვეულ სიცოცხლის ციკლს მოითხოვს: script-security 2, up გზა, up-restart, down გზა და down-pre. ეს პარამეტრები რეგისტრაციას და წაშლას სწორ მომენტებში ახდენს და არა მხოლოდ პირველ კავშირზე.
გამოიყენეთ პაკეტიდან დაყენებული გზა და არა სახელმძღვანელოდან კოპირებული საილუსტრაციო. ნებართვებსაც აქვს მნიშვნელობა, რადგან hook პრივილეგიების დაწევის შემდეგ მუშაობს.
დისტრიბუტივის რეზოლვერის სკრიპტის რედაქტირება მისი გამოსავლის სამიზნის შესაცვლელად ერთი ჰოსტის გვერდის ავლას აფიქსირებს. ეს ზოგადი შეკეთება არ არის.
შემოწმება მეხუთე: იგივე შედეგი ხელახალი დაკავშირების შემდეგ
ხელახლა დაუკავშირდით და ხელახლა წაიკითხეთ ბმული. რეგისტრაცია, რომელიც ერთხელ ჩნდება და შემდეგ გადასვლაზე ქრება, ის ავარიაა, რომლისთვისაც მთელი ეს სია არსებობს. შეამოწმეთ ძილის შემდეგ, იძულებითი ხელახალი დაკავშირების შემდეგ და რეზოლვერის სერვისის გადატვირთვის შემდეგ. ყოველი გადასვლა რიგის სხვა ვარაუდს ამოწმებს.
მხოლოდ მაშინ, როცა ხელახალი დაკავშირებისას ხუთივე შემოწმება გადის, შეგიძლიათ თქვათ, რომ გაგზავნილი პარამეტრები გამოიყენება. ყველაფერი უფრო ადრე იღბლიანი მომენტის ფოტოა.