Xəta bildirib davam edən quraşdırma skriptləri heç işləməyən skriptlərdən pisdir. Müştəri quraşdırması qorunan açarlara, şlüz yanındaki kimliyə və artıq trafik verə bilən xidmətə toxunur. Bunların hər biri dayanma şərtinə ehtiyac duyur və skript dayandığı anda hansı mərhələyə çatdığını bilməlidir.

Bütün işi beş yoxlama nöqtəsi olan bir tranzaksiya kimi qəbul et və hər yoxlama nöqtəsinin özbaşına davam etməsini qadağan et.

Fayl sisteminə toxunmadan əvvəl girişləri düzəlt

Açıq müqavilə ilə başla: bir kimlik, bir profil mənbəyi, bir nəzərdə tutulan xidmət sahibi. Profilin mövcud olduğunu, istinad etdiyi sertifikat və açarın oxuna bilən olduğunu və hədəf qovluğun gözlənilən paketə aid olduğunu yoxla. Həll olunan yol arxasındaki materialın tam olduğuna sübut deyil.

Boş dəyişənləri erkən rədd et. Heç nəyə genişlənməyən təyin edilməmiş $DEVICE, install -m 400 $KEY /etc/openvpn/client/ əmrini qovluğa yönəlmiş kopyaya çevirir və uğursuzluq sonra açarını oxuya bilməyən xidmət kimi gəlir.

Profil dəstini müvəqqəti qovluqda yığ

Tam dəsti əvvəlcə şəxsi yerdə qur: profil, CA, müştəri sertifikatı, açar və profilin çağırdığı hər hansı köməkçi. install -m 400 -o root -g root ilə kopyala ki, icazələr sonra deyil, yaradılma zamanı təyin olunsun. Sonra profilin içindəki istinadları yoxla, çünki nisbi ca və ya key sətri xidmət başlayan kimi vahidin iş qovluğuna görə həll olunur. Bütün dəst təsdiqlənməyənə qədər canlı qovluğa heç nə yazılmamalıdır.

Bu işləmənin nə istehsal etdiyinin məxfi olmayan barmaq izini qeyd et, məsələn versiya işarəsinin yanında saxlanmış sha256sum office.conf. Yenidən işləmənin yeniləmə ilə heç nə etməməni ayırd etməsini məhz bu tək dəyər təmin edir.

Atomik dəyiş və əvvəlki dəsti saxla

Hazırlanmış dəsti fayl sistemi imkan verdiyi yerdə bir əməliyyat kimi yerinə köçür və nəzərdən keçirilmiş əvvəlki dəsti vaxt damğalı ad altında saxla. Yeni profili köhnə açarın yanında qoyan qismən kopya, yanlış kimliklə autentifikasiya edən və səbəb barədə faydalı heç nə qeyd etməyən xidmət yaradır. Əgər dəyişmə atomik ola bilmirsə, köçürmələri elə sırala ki, profil ən sonda yerə düşsün.

Hədəf artıq mövcuddursa, bu işləmənin yeniləmə, eyni təkrar işləmə, yoxsa başqa cihazın profili ilə toqquşma olduğunu açıq şəkildə qərarlaşdır. Başqa kimliyə aid profilin səssizcə üzərinə yazmaq iki maşının bir sertifikatı paylaşmasına gətirib çıxarır. Əvəzində işləməni rədd et və toqquşan sahibi adlandır.

Bir sahibi aktivləşdir və bunu sübut et

Bir aktivləşdirmə yolu seç, ya systemd nüsxəsi, ya da NetworkManager, və onu ardıcıl istifadə et. Aktivləşdirilmiş vahidin yanında idarə olunmayan openvpn prosesi başlatmaq iki tunel, rəqabət edən DNS yeniləmələri və dayandırma əmrinin hansını hədəf aldığına dair aydın cavab vermir. Aktivləşdirmədən sonra systemctl is-active openvpn-client@office yoxla, sonra uzaq prefiksə marşrutu, sonra tunelin quraşdırdığı həlledici üçün resolvectl status yoxla. Tunelin mövcud olduğu bir resursa çataraq bitir.

İşləyən proses və yaşıl tray ikonu proses faktlarıdır, kimliyin və trafik siyasətinin təhvil vermədən sağ çıxdığına sübut deyil.

Təkrar işləmə və dayandırma ayrı iş axınlarıdır

İkinci işləmə eyni nəzərdən keçirilmiş fayllara və eyni sahibə yaxınlaşmalıdır, ikinci hesab və ya ikinci daemon yaratmamalıdır. Dayandırma öz prosedurudur: dəqiq sahibi dayandır, yerli profili siyasətə uyğun arxivləşdir və ya sil, və şlüzdə kimliyi ləğv et. Yerli açar faylını silmək artıq maşından çıxmış kopyanı ləğv etmir.

Tuneldən asılı olmayan bərpa yolu saxla, məsələn konsol çıxışı və ya ikinci idarəetmə marşrutu. Səni qutudan kənarda qoyan quraşdırma dəyişikliyi, hər mərhələ uğur bildirsə belə, uğursuz dəyişiklikdir.

Saxlamağa dəyər skript sahiblik və sübut ətrafında qurulmuş tranzaksiyadır. İmtiyazlı kopyalama əmrlərinin qısa siyahısı eyni şey deyil.

Əlaqəli məqalələr