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

სიჩუმეს ორი ძალიან განსხვავებული ახსნა აქვს

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

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

იპოვეთ ინსტრუქცია, შემდეგ იპოვეთ პროცესი.

ps -o pid,args= -C openvpn
grep -nE '^\s*(log|log-append|cd|daemon|verb)\b' /etc/openvpn/server/server.conf

იპოვეთ დანიშნულება, რომელსაც მოქმედი პროცესი იყენებს

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

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

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

log log-append-ის წინააღმდეგ: მტკიცებულება და წაშლა

log-append ამატებს იმას, რაც უკვე არის ფაილში. log ხსნის ფაილს ჩასაწერად და ჭრის მას, ამიტომ ორივეს შორის გადართვამ შეიძლება წაშალოს ის გაშვება, რომელსაც კითხულობდით.

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

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

როცა სერვისის გარსი გამონატანას იჭერს

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

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

შეადარეთ გაშვების ორი წყობა იმის ნაცვლად, რომ დაასკვნათ, რომ ერთი მათგანი გატეხილია. წაიკითხეთ unit-ის ბრძანების სტრიქონი და მისი გარემო, შემდეგ წაიკითხეთ journal იმავე დროის ფანჯრისთვის. თუ გარსი გამონატანას საკუთარ ფაილში გადაამისამართებს, ეს ფაილი ახლა თქვენი ჟურნალია და OpenVPN-ის ინსტრუქციებს არანაირი კავშირი არ აქვთ იმასთან, სად წავიდა შეტყობინებები.

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

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

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

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

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