فایلی به نام config.json پیدا می‌کنید، در آن از یک سرور VPN نام برده شده و بلافاصله این فرض پیش می‌آید: این باید همان اتصال OpenVPN باشد. اغلب چنین نیست. یک فایل JSON با این نام می‌تواند به یک فرانت‌اند رومیزی که کلاینت را اجرا می‌کند، به یک دیمن که تنظیمات خودش را ذخیره می‌کند، یا به قالب خروجی یک محصول تعلق داشته باشد، و هر یک از این‌ها طرح‌واره خودش را دارد.

نام فایل کم‌فایده‌ترین سرنخ است. از فرایندی که فایل را می‌خواند شروع کنید، سپس بررسی کنید که آیا قالبی که انتظار دارد اصلاً JSON است، و تنها پس از آن تصمیم بگیرید که ویرایش فایل روش پشتیبانی‌شده برای تغییر چیزی است یا نه.

از فرایند شروع کنید، نه از نام فایل

ببینید واقعاً چه چیزی در حال اجراست. یک واحد سرویس، یک اسکریپت راه‌انداز یا یک برنامه در سینی سیستم، فایل دودویی‌ای که اجرا می‌کند و اغلب مسیر پیکربندی‌ای که می‌فرستد را نام می‌برد. پوشه‌ای که فایل را در خود دارد سرنخ دوم است: پوشه‌های دادهٔ برنامه‌ها، پوشه‌های پیکربندی سرویس‌ها و پوشه‌های نمایهٔ کاربران به مالکان متفاوتی اشاره دارند.

سپس مستندات محصولی را بخوانید که مالک آن مؤلفه است. اگر JSON متعلق به یک پوشش باشد، کلیدهایش کلیدهای همان پوشش‌اند، و شیئی که ظاهراً معقول ساخته شده از نمونهٔ محصولی دیگر باشد رد می‌شود یا بی‌صدا نادیده گرفته می‌شود.

دو فایل با نام یکسان در پوشه‌های مختلف تلهٔ رایجی است. یکی ممکن است وضعیت تولیدشده‌ای باشد که سرویس در هر راه‌اندازی بازنویسی می‌کند، و دیگری ممکن است قالبی باشد که انتظار می‌رود انسان ویرایشش کند. تغییر فایل نادرست اصلاحی می‌دهد که تا راه‌اندازی مجدد بعدی دوام می‌آورد.

پروفایل Community OpenVPN در واقع چیست

Community OpenVPN 2.6 قالبی متنی مبتنی بر گزینه می‌خواند. پروفایل دنباله‌ای از دستورهاست: خط حالت کلاینت، خط دستگاه، یک نقطهٔ پایانی راه دور، به‌همراه گزینه‌های هویت، رمزنگاری و مسیر، و می‌تواند مواد گواهی و کلید را درون بلوک‌های درون‌خطی جای دهد.

این قالب توسط خود کلاینت خط به خط تجزیه می‌شود. دادن یک سند JSON به آن از طریق گزینهٔ config تجزیه‌گر JSON را روشن نمی‌کند؛ خط اول به‌عنوان یک دستور ناشناخته رد خواهد شد. تغییر نام یک فایل JSON به‌گونه‌ای که به .ovpn ختم شود نیز محتوایش را تبدیل نمی‌کند، و یک فایل گزینه‌های معتبر به‌خاطر غیرمعمول بودن پسوندش نامعتبر نمی‌شود.

OpenVPN Connect و OpenVPN 3 Linux مسیرهای درون‌ریزی و مدیریت خودشان را برای پروفایل‌ها دارند. این محصولات می‌توانند پروفایلی را بپذیرند و در پایگاه داده یا وضعیت سرویس خودشان ذخیره کنند، که همان چیزی نیست که یک فایل JSON تصادفاً سروری را توصیف کند.

ویرایش وضعیتی که مؤلفهٔ دیگری مالک آن است

اگر JSON تولیدشده باشد، ویرایش آن یک مسابقه است. یک سرویس در حال اجرا ممکن است آن را هنگام خاموش شدن، هنگام اتصال مجدد یا هنگام تغییر تنظیمات بعدی بازنویسی کند، و ویرایش دستی بدون هیچ خطایی ناپدید می‌شود. فرمان درون‌ریزی محصول، API مدیریت یا رابط تنظیمات را ترجیح دهید، چون این مسیرها همان وضعیت درونی‌ای را که فایل نمایندگی می‌کند به‌روزرسانی می‌کنند. فایلی که پس از راه‌اندازی مجدد به حالت قبل برمی‌گردد به شما می‌گوید کدام مسیر ماندگار بود.

اگر واقعاً فایلی تولیدشده را ویرایش می‌کنید، نخست سرویس را متوقف کنید، نسخه‌ای پشتیبان بگیرید و کوچک‌ترین تغییر ممکن را انجام دهید. سپس بررسی کنید که آیا سرویس هنگام آغاز فایل را بازنویسی می‌کند، چون فایلی که هنگام آغاز به عقب برمی‌گردد یعنی منبع حقیقت واقعی جای دیگری است و ویرایش هرگز پایدار نمی‌ماند.

گذرواژه‌ها و کلیدهای خصوصی درون‌خطی موضوعی جدا هستند. JSON می‌تواند کلید کاملی را به همان آسانی یک فایل گزینه‌ها حمل کند، پس هر خروجی را محرمانه بدانید، آن را از درایوهای اشتراکی دور نگه دارید و پیش از چسباندن ساختار در پرسش یک انجمن، مقادیر را پنهان کنید.

بررسی تغییر و محافظت از فایل

بررسی به معنای «JSON تجزیه می‌شود» نیست. تجزیه فقط ثابت می‌کند که آکولادها جفت هستند؛ دربارهٔ اینکه مالک کلیدها را می‌شناسد یا نه چیزی نمی‌گوید. وضعیت خود محصول را بررسی کنید: فهرست پروفایل‌های فعال، اتصال انتخاب‌شده، و اتصال مجددی که واقعاً از مقادیر جدید استفاده می‌کند. پروفایلی که در فهرست دیده می‌شود اما هرگز انتخاب نمی‌شود هنوز پروفایل در حال استفاده نیست.

گزارش رخداد مؤلفه‌ای را که ویرایش کردید زیر نظر بگیرید، نه فقط گزارش کلاینت VPN را. پوششی که فایل شما را رد می‌کند معمولاً آن را در گزارش خودش اعلام می‌کند، و کلاینتی که فایل را هرگز دریافت نکرده دقیقاً مانند کلاینتی است که تنظیمات بدی دریافت کرده.

نسخه‌ای از فایل کارآمد نگه دارید و نسخهٔ محصولی را که با آن آزموده‌اید ثبت کنید. این قالب‌ها میان انتشارها تغییر می‌کنند، و ساختاری که سال گذشته کار می‌کرد ممکن است پس از ارتقا با پیامی رد شود که اصلاً به طرح‌واره اشاره نمی‌کند.

خلاصهٔ مسیر: فرایند را شناسایی کنید، مستنداتش را بخوانید، تأیید کنید که فایل اصلاً JSON است، از مسیر ویرایش پشتیبانی‌شده استفاده کنید و از طریق وضعیت خود محصول بررسی کنید. نام فایل هرگز به هیچ‌یک از این پرسش‌ها پاسخ نداد.

مقالات مرتبط