ინტერფეისი აწეულია, მაგრამ wg-quick ჩავარდა: რა ვქნათ შემდეგ
ჩავარდნილმა ერთეულმა შეიძლება ნახევრად გამართული გვირაბი დატოვოს. წაიკითხეთ პირველი ჩავარდნილი ნაბიჯი, გადაწყვიტეთ გავასუფთავოთ თუ შევაკეთოთ, და შემდეგ დაამტკიცეთ მოთხოვნით.
ერთეული წითელია, ინტერფეისი არსებობს და გვირაბი უმეტესად მუშაობს, რაც ყველაზე დამაბნეველი კომბინაციაა. კონფიგურაცია თანმიმდევრობაა: ჯერ ინტერფეისი იქმნება, შემდეგ მოდის მისამართები, მარშრუტები, ამომხსნელის პარამეტრები და ნებისმიერი კაუჭის ბრძანება. მეოთხე ნაბიჯზე ჩავარდნა პირველ სამს ადგილზე ტოვებს, ამიტომ ინტერფეისის სახელი იმის მტკიცებულებაა, რომ გაშვება დაიწყო, და არა რომ დასრულდა. ერთი დამატებითი ფაქტი აგვაცილებდა დაბნეულობას: ნაბიჯი, რომელიც ჩავარდა.
ნაწილობრივი მდგომარეობა ჩვეულებრივი ჩავარდნაა
ამ ქცევას უნდა ველოდოთ და არა დაზიანებად მივიჩნიოთ. ინტერფეისი კონფიგურაციის ყველაზე იაფი ნაწილია და ყველაზე ადვილი დასატოვებელი, და სწორედ ის ნაწილია, რომელიც მოწყობილობას ნახევრად მომუშავედ აჩვენებს.
რაც ჯერ არ არსებობს, არის ყველაფერი, რაც ჩავარდნილი ნაბიჯის შემდეგ მოვიდა. თუ ჩავარდნა ამომხსნელის ეტაპზე იყო, მისამართები და მარშრუტები არის, DNS კი არა. თუ ეს მარშრუტი იყო, გვირაბს აქვს მისამართი და მასში გასავლელი გზა არ აქვს.
შედეგია მოწყობილობა, რომელიც ზოგიერთ ტესტს პასუხობს და სხვებში ჩავარდება, ამიტომაც ხალხი ასკვნის, რომ სერვისი ციმციმებს, თუმცა ის არასოდეს წარმატებით არ გაშვებულა. სერვისი, რომელიც არასოდეს დასრულებულა, ვერ იციმციმებს. მას მხოლოდ იმავე მიზეზით შეუძლია განმეორებით ჩავარდნა.
იპოვეთ პირველი ჩავარდნილი ნაბიჯი
წაიკითხეთ ერთეულის ჟურნალი და არა მხოლოდ მიმდინარე მდგომარეობა, და წაიკითხეთ ის ჩავარდნილი გაშვების დასაწყისიდან. ბოლო სტრიქონი გეუბნებათ გასვლის კოდს; პირველი შეცდომა გეუბნებათ, რა გამოსწორდეს.
ეს ბრძანებები ბეჭდავს ერთეულის მდგომარეობას, ამ ერთეულის ჩატვირთვის ჟურნალს და გვირაბის ცოცხალ მდგომარეობას:
systemctl status wg-quick@wg0
journalctl -u wg-quick@wg0 -b --no-pager | tail -40
wg show
ip -4 addr show dev wg0ამომხსნელის შეცდომა, უკვე არსებული მარშრუტი, არანულოვანი კოდით გასული კაუჭი და კონფიგურაციის ანალიზის ჩავარდნა ყველა იმ ფანჯარაში ჩნდება, და თითოეული თავის კომპონენტს ასახელებს. მხოლოდ ინტერფეისის მდგომარეობიდან გამოცნობა მთელ ამ ინფორმაციას უგულებელყოფს.
სამი პირობა, რომელიც შეკეთებას წყვეტს
გადაწყვიტეთ, ასუფთავებთ, ადგილზე აკეთებთ შეკეთებას თუ ერთეულს ჩატვირთვის გზიდან აშორებთ, და ეს რამის აკრეფამდე გადაწყვიტეთ.
თუ ინტერფეისი გატეხილია, კონფიგურაცია კი სწორია, გაასუფთავეთ და თავიდან დაიწყეთ. თუ კონფიგურაცია არასწორია, გამოასწორეთ და მაინც ჯერ გაასუფთავეთ, რადგან ნაწილობრივ მდგომარეობაზე მეორე მმართველის გაშვება ერთი ინტერფეისისთვის ორ მფლობელს ქმნის. თუ ჩავარდნა სისტემის დაკარგული კომპონენტია, მაგალითად ამომხსნელის დამხმარე, რომელიც მოწყობილობას არ აქვს, დამოკიდებულება შეგნებულად დააყენეთ ან წაშალეთ, ნაცვლად იმისა, რომ ერთეული სანამ ჩივილს შეწყვეტს, შეასწოროთ.
ეს სამი შემთხვევა ფარავს იმის უმეტეს ნაწილს, რაც იდუმალ წითელ ერთეულს ჰგავს. განმასხვავებელი კითხვაა, მოხდებოდა თუ არა იგივე ჩავარდნა სუფთა მდგომარეობის მოწყობილობაზე, და პასუხი ჩვეულებრივ პირველი შეცდომის სტრიქონიდან მოდის.
გაასუფთავეთ ხელახლა ცდამდე
არსებულ მდგომარეობაზე ხელახალი ცდა შეიძლება ახალი მიზეზით ჩავარდეს და თავდაპირველი დამალოს. ჩამოწიეთ ინტერფეისი იმავე ხელსაწყოთი, რომელმაც ის შექმნა, შემდეგ დაადასტურეთ, რომ არაფერი დარჩა.
არ წაშალოთ უკავშირო ინტერფეისები და არ გადააყენოთ ჰოსტის ქსელური დასტა. ორივე დიდი ქმედებაა პატარა ობიექტის გამოსასწორებლად, და ისინი ერთ ჩავარდნილ გვირაბს აქცევს მოწყობილობად, რომლის სხვა კავშირები ხელახლა უნდა დამყარდეს. სწორი მოცულობაა ერთი ინტერფეისი და მისი მფლობელი ერთეული. ყველაფერი უფრო ფართო მოითხოვს დაწერილ მიზეზს, სანამ მოხდება.
დაამტკიცეთ გვირაბი და არა ერთეული
მწვანე ერთეული ნიშნავს, რომ გაშვების მიმდევრობა ნულით გავიდა. ეს არ ნიშნავს, რომ პაკეტმა მეორე მხარეს მიაღწია, და არც იმას, რომ ამომხსნელი ისე დაყენდა, როგორც გინდოდათ.
გაგზავნეთ მოთხოვნა გვირაბში და წაიკითხეთ მდგომარეობა, რომელმაც ის წარმოშვა:
systemctl is-active wg-quick@wg0
wg show wg0 latest-handshakes
ping -c 3 10.63.0.1
resolvectl query internal.example.netუპასუხო ხელის ჩამორთმევა მაინც გეუბნებათ, რომ გვირაბი ჩამოყალიბდა და მოპირდაპირე მხარე ჩუმადაა, რაც განსხვავებული პრობლემაა, ვიდრე ერთეული, რომელიც არასოდეს გაშვებულა. შეინახეთ ერთეულის მდგომარეობა, ხელის ჩამორთმევა და მოთხოვნის შედეგი ერთ ჩანაწერში, რადგან ისინი დამოუკიდებლად ჩავარდებიან და მხოლოდ ერთობლიობა აღწერს სისტემას.