openvpn --errors-to-stderr გაშვების პარამეტრია და არა შეცდომა
ბრძანების სტრიქონში --errors-to-stderr-ის დანახვა არ ნიშნავს, რომ რაღაც ვერ შესრულდა. გადაწყვიტეთ, კითხულობთ გაშვების სტრიქონს თუ პროცესის გამომავალს, და შემდეგ შეამოწმეთ.
ბრძანების სტრიქონი, რომელიც შეიცავს --errors-to-stderr საჩივრის მსგავსია და არ არის საჩივარი. სიტყვა პარამეტრის სახელს ეკუთვნის, ისევე როგორც ჟურნალის ფაილის სახელი არაფერს ამბობს იმაზე, თუ რა არის ფაილში. სანამ რაიმე კონფიგურაციას შეცვლით, დაადგინეთ, რას კითხულობთ სინამდვილეში.
გადაწყვეტილებას სამი განშტოება აქვს: სტრიქონი თავად გაშვებაა, სტრიქონი პროგრამის დაბეჭდილი გამომავალია, ან სტრიქონი ტექსტია, რომელიც გარსმა VPN-ის დაწყებამდე გაიმეორა. თითოეული განშტოება სხვა ადგილას მიუთითებს საყურებლად და მხოლოდ ერთი მათგანია თავად VPN-ის შეტყობინება.
პარამეტრის სახელი არ არის სტატუსის შეტყობინება
Community OpenVPN-ისთვის, --errors-to-stderr შეცდომების გამომავალს სტანდარტულ გამომავალის ნაცვლად სტანდარტულ შეცდომაზე მიმართავს. ეს ნაკადის არჩევანია, არა სიმძიმის ფილტრი, და ის შეცდომას არ ქმნის. მოგვიანებით --log ან --log-append შეუძლია იგივე შეტყობინებები ფაილში გადაამისამართოს, ამიტომ დროშის ეფექტი დამოკიდებულია ბრძანების დანარჩენ ნაწილზე. წყაროს ჟურნალირების ცნობარი განსაზღვრავს ამ თანმიმდევრობას.
ამრიგად, დროშის არსებობა გეუბნებათ, სად წავიდოდნენ შეცდომები. ის არ გეუბნებათ, რომ ერთი მოხდა.
გაშვების სტრიქონი თუ პროცესის გამომავალი
დაიწყეთ კითხვით, ვინ დაბეჭდა ტექსტი. სერვისის ერთეული, აპლიკაციის ნაკრები ან shell-ის გარსი ხშირად იმეორებს მთელ argv-ს მანამ, სანამ VPN-ის პროცესი რამეს ჩაწერს. ეს გამეორება არ განსხვავდება სტატუსის სტრიქონისგან, თუ მხოლოდ ფრაგმენტს ხედავთ.
თუ სტრიქონი გარსიდან მოვიდა, VPN ჯერ არ მუშაობდა და სათქმელი არაფერი აქვს. გამომავალში უფრო ქვემოთ მოძებნეთ პირველი შეტყობინება, რომელსაც დროის ნიშანი ან ქვესისტემის სახელი აქვს.
თუ სტრიქონი VPN-ის პროცესიდან მოვიდა, ის მაინც მხოლოდ გამოძახებაა. OpenVPN არ ბეჭდავს საკუთარ ბრძანების სტრიქონს შეცდომად და მნიშვნელოვანი შეტყობინებები მის შემდეგ მოდის.
იპოვეთ პროცესი და მისი შედეგი
დაადგინეთ, მუშაობს თუ არა პროცესი ჯერ კიდევ. აქტიური და ხელახლა მცდელი კლიენტი ძალიან განსხვავებულად გამოიყურება დაუყოვნებლივ გასულისგან და ერთი და იგივე ბრძანების სტრიქონი ორივეს წინ დგას.
შემდეგ წაიკითხეთ შედეგი იმ კომპონენტის მეშვეობით, რომელიც ფლობს პროცესს. systemd-ის ქვეშ ეს ერთეულის ჟურნალია; სამაგიდო აპლიკაციაში — თავად აპლიკაციის ჟურნალი ან კონსოლი. გასვლის სტატუსი და ბოლო შეტყობინებები პასუხობს კითხვას, რომელზეც პარამეტრის სახელი მხოლოდ მიგვანიშნებს.
კონფიგურაციის ანალიზის შეცდომა, დაკარგული ფაილი, უარყოფილი სერტიფიკატი და პარტნიორის დროის ამოწურვა ოთხი სხვადასხვა მოვლენაა. ისინი ერთსა და იმავე ნაკადზე მოდიან. მათ ოთხი განსხვავებული შესწორება სჭირდებათ. გადაწყვიტეთ, რომელი გაქვთ, სანამ პროფილს შეეხებით, და ზუსტად ციტირეთ შეტყობინება, როცა დახმარებას ითხოვთ.
როდის იმსახურებს დროშა თავის ადგილს
დროშა იმსახურებს თავის ადგილს, როცა stdout მონაცემებს ატარებს და შეცდომებმა არ უნდა დააბინძუროს ის, ან როცა გარსი ორ ნაკადს ცალ-ცალკე იჭერს. ტერმინალში წინა პლანის სესიაში ორივე ნაკადი თქვენს წინ ხვდება. ამ შემთხვევაში განსხვავება იშვიათად ცვლის იმას, რასაც აკეთებთ.
შეინახეთ ის, თუ გარემომცველი სკრიპტი გაყოფაზეა დამოკიდებული. მისი წაშლა იმიტომ, რომ სახელი საგანგაშოდ გამოიყურება, ცვლის იმას, სად ჩნდება შეტყობინებები და სხვა არაფერს ასწორებს.
რა არ უნდა შეიცვალოს
ნუ მოეპყრობით პარამეტრს როგორც შეკეთების ნაბიჯს. მისი წაშლა ვერ გამოასწორებს სერტიფიკატს, მარშრუტს ან ავთენტიფიკაციის ჩავარდნას.
თუ გამოძახება შეიცავს --config stdin, კონფიგურაცია სტანდარტული შემავალის მეშვეობით მიეწოდება. ეს ცალკე გადაწყვეტილებაა იმაზე, როგორ მიეწოდება ფაილი. ერთდროულად ერთი რამ შეცვალეთ და სანამ მეორეს შეცვლით, ხელახლა წაიკითხეთ ნამდვილი შეტყობინება.