OpenVPN კლიენტის უზრუნველყოფა შეცდომაზე შეჩერებადი ეტაპებით
ხუთი ეტაპი ხელს უშლის უზრუნველყოფის სკრიპტს დატოვოს ნახევრად დაყენებული ინსტალაცია: შეამოწმე შეყვანები, მოამზადე ნაკრები, შეცვალე ატომურად, გააქტიურე ერთი მფლობელი, დაგეგმე გაუქმება.
უზრუნველყოფის სკრიპტები, რომლებიც შეცდომას აცნობებენ და აგრძელებენ, უარესები არიან, ვიდრე სკრიპტები, რომლებიც არასდროს ეშვება. კლიენტის კონფიგურაცია ეხება დაცულ გასაღებებს, გეითვეიზე იდენტობას და სერვისს, რომელიც შესაძლოა უკვე ემსახურებოდეს ტრაფიკს. თითოეულ მათგანს სჭირდება გაჩერების პირობა, და სკრიპტმა უნდა იცოდეს, რომელ ეტაპამდე მივიდა, როცა შეჩერდა.
მთელი საკითხი მიიღე ერთ ტრანზაქციად ხუთი საკონტროლო წერტილით, და აიძულე ყოველი საკონტროლო წერტილი თავისით უარი თქვას გაგრძელებაზე.
შეასწორე შეყვანები ფაილურ სისტემას შეხებამდე
დაიწყე ცხადი ხელშეკრულებით: ერთი იდენტობა, პროფილის ერთი წყარო, მომსახურების ერთი განზრახული მფლობელი. შეამოწმე, რომ პროფილი არსებობს, რომ სერტიფიკატი და გასაღები, რომლებზეც ის მიუთითებს, წაკითხვადია, და რომ სამიზნე დირექტორია მოსალოდნელ პაკეტს ეკუთვნის. გადაწყვეტადი გზა არ არის მტკიცებულება იმისა, რომ მის უკან არსებული მასალა სრულია.
ცარიელი ცვლადები ადრე უარყავი. დაუყენებელი $DEVICE, რომელიც არაფრად იშლება, install -m 400 $KEY /etc/openvpn/client/-ს დირექტორიაზე მიმართულ ასლად აქცევს, და წარუმატებლობა მოგვიანებით მოდის სერვისად, რომელსაც თავისი გასაღების წაკითხვა არ შეუძლია.
შეკრიბე პროფილების ნაკრები მოსამზადებელ დირექტორიაში
ჯერ სრული ნაკრები ააგე კერძო ადგილას: პროფილი, CA, კლიენტის სერტიფიკატი, გასაღები და ნებისმიერი დამხმარე, რომელსაც პროფილი იძახებს. დააკოპირე install -m 400 -o root -g root-ით, რომ უფლებები შექმნისას დაყენდეს და არა შემდეგ. შემდეგ შეამოწმე პროფილის შიგნით არსებული მითითებები, რადგან ფარდობითი ca ან key ხაზი იხსნება ერთეულის სამუშაო დირექტორიის მიმართ, როგორც კი სერვისი დაიწყება. აქტიურ დირექტორიაში არაფერი უნდა იწერებოდეს, სანამ მთელი ნაკრები არ ვალიდირდება.
ჩაწერე არასაიდუმლო ანაბეჭდი იმისა, რაც ამ გაშვებამ წარმოქმნა, მაგალითად ვერსიის ნიშნულის გვერდით შენახული sha256sum office.conf. სწორედ ეს ერთი მნიშვნელობა აძლევს განმეორებით გაშვებას საშუალებას განასხვავოს განახლება უმოქმედობისგან.
შეცვალე ატომურად და შეინახე წინა ნაკრები
გადაიტანე მომზადებული ნაკრები თავის ადგილზე ერთი ოპერაციით, სადაც ფაილური სისტემა იძლევა საშუალებას, და შეინახე განხილული წინა ნაკრები დროის ნიშნით სახელის ქვეშ. ნაწილობრივი ასლი, რომელიც ძველი გასაღების გვერდით ახალ პროფილს ტოვებს, ქმნის სერვისს, რომელიც არასწორი იდენტობით ავთენტიფიცირდება და მიზეზზე არაფერ სასარგებლოს არ ლოგავს. თუ შეცვლა ატომური ვერ იქნება, ისე დაალაგე გადატანები, რომ პროფილი ბოლოს დაეშვას.
როცა სამიზნე უკვე არსებობს, ცხადად გადაწყვიტე, ეს გაშვება განახლებაა, იდენტური განმეორებითი გაშვება, თუ სხვა მოწყობილობის პროფილთან კონფლიქტი. სხვა იდენტობის კუთვნილი პროფილის ჩუმად გადაწერა ის გზაა, რომლითაც ორი მანქანა ერთ სერტიფიკატს იზიარებს. სამაგიეროდ უარყავი გაშვება და დაასახელე კონფლიქტური მფლობელი.
გააქტიურე ერთი მფლობელი და დაამტკიცე
აირჩიე გააქტიურების ერთი გზა, ან systemd-ის ეგზემპლარი ან NetworkManager, და გამოიყენე თანმიმდევრულად. გააქტიურებული ერთეულის გვერდით არაკონტროლირებადი openvpn პროცესის გაშვება იძლევა ორ გვირაბს, კონკურენტ DNS განახლებებს და მკაფიო პასუხს არა იმაზე, რომელს მიმართავს გაჩერების ბრძანება. გააქტიურების შემდეგ შეამოწმე systemctl is-active openvpn-client@office, შემდეგ მარშრუტი შორეულ პრეფიქსამდე, შემდეგ resolvectl status გვირაბის მიერ დაყენებული გადამწყვეტისთვის. დაასრულე იმ ერთი რესურსის მიღწევით, რისთვისაც გვირაბი არსებობს.
მომუშავე პროცესი და მწვანე სისტემური უჯრის ხატულა პროცესის ფაქტებია, და არა მტკიცებულება იმისა, რომ იდენტობამ და ტრაფიკის პოლიტიკამ გადაცემა გადაურჩა.
განმეორებითი გაშვება და გაუქმება ცალკე სამუშაო ნაკადებია
მეორე გაშვება უნდა დაემთხვეს იმავე განხილულ ფაილებს და იმავე მფლობელს, და არ შექმნას მეორე ანგარიში ან მეორე დემონი. გაუქმება თავისი პროცედურაა: გააჩერე ზუსტი მფლობელი, დააარქივე ან წაშალე ლოკალური პროფილი პოლიტიკის მიხედვით, და გააუქმე იდენტობა გეითვეიზე. ლოკალური გასაღების ფაილის წაშლა არ აუქმებს ასლს, რომელმაც უკვე დატოვა მანქანა.
შეინახე აღდგენის გზა, რომელიც გვირაბზე არ არის დამოკიდებული, მაგალითად კონსოლზე წვდომა ან მეორე მართვის მარშრუტი. უზრუნველყოფის ის ცვლილება, რომელიც მანქანიდან გარეთ გკეტავს, წარუმატებელი ცვლილებაა, თუნდაც ყოველმა ეტაპმა წარმატება შეატყობინოს.
შესანახი სკრიპტი ტრანზაქციაა საკუთრებისა და მტკიცებულებების ირგვლივ. პრივილეგიური კოპირების ბრძანებების მოკლე სია იგივე არ არის.