OpenVPN شروع نمی‌شود و پیام خطا به خطی اشاره می‌کند که کاملاً درست به نظر می‌رسد: Unrecognized option or missing or extra parameter(s) in office.ovpn:42: ca. گواهی تغییر نکرده، فایل در ویرایشگر باز می‌شود و هیچ چیز در مسیر اشتباه به نظر نمی‌رسد. تجزیه‌گر به نام گزینه اعتراض ندارد؛ به تعداد آرگومان‌هایی اعتراض دارد که همراه آن رسیده‌اند. چهار بررسی تقریباً هر نمونه از این را حل می‌کند و ارزش دارد به ترتیب هزینه اجرا شوند.

چرا تجزیه‌گر گزینه را سرزنش می‌کند

هر خط پیکربندی پیش از آنکه گزینه‌ای آن را ببیند، بر اساس فاصله‌ها و نقل‌قول‌ها تقسیم می‌شود. بنابراین مقدار دارای فاصله اگر در نقل‌قول نباشد به شکل چند آرگومان می‌رسد و گزینه‌ای که مالک خط بود از ناسازگاری خبر می‌دهد. در ویندوز پوشه نصب پیش‌فرض این را قطعی می‌کند، زیرا C:\Program Files به‌حکم ساختار در میانه مسیر قرار دارد. در این خطا گواهی هرگز باز نمی‌شود، پس بررسی وجود فایل چیزی مفیدی را ثابت نمی‌کند.

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

ca C:\Program Files\OpenVPN\config\office-ca.crt

هر مسیری که فاصله دارد را در نقل‌قول بگذارید

یک جفت نقل‌قول دوتایی پیرامون مقدار تمام تعمیر است و خط‌های مورب رو به جلو در ویندوز پذیرفته می‌شوند، پس escape هرگز بخشی از مشکل نمی‌شود. همه گزینه‌های مسیر را در همان گذر اصلاح کنید، زیرا تجزیه‌گر در نخستین شکست متوقف می‌شود و بعدی فقط منتظر راه‌اندازی بعدی است. این مجموعه معمولاً شامل ca، cert، key، tls-auth، auth-user-pass است.

ca "C:/Program Files/OpenVPN/config/office-ca.crt"
cert "C:/Program Files/OpenVPN/config/office.crt"
key "C:/Program Files/OpenVPN/config/office.key"

جست‌وجو بر اساس نام پوشه هر رخداد را سریع‌تر از خواندن فایل پیدا می‌کند. پیش از هر ویرایشی آن را اجرا کنید تا فهرست کامل باشد:

Select-String -Path .\office.ovpn -Pattern 'Program Files'

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

اعلام حالت را پیش از گواهی‌ها بازیابی کنید

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

client
dev tun
proto udp
remote vpn.example.net 1194

تا آنجا هستید برای هر خط یک دستور نگه دارید. خطوط به‌هم‌چسبیده دقیقاً خطای تعداد آرگومان بخش اول را تولید می‌کنند و خط گزارش‌شده معقول به نظر می‌رسد زیرا چسبیدن جایی رخ داده که ویرایشگر متن را شکسته است. خط خام را بخوانید نه خط نمایش‌داده‌شده.

آسیب رمزگذاری شبیه نام گزینه است

فایلی که به‌صورت UTF-16 با نشانه ترتیب بایت ذخیره شده اولین گزینه خود را از تجزیه‌گر پنهان می‌کند و بایت‌های سرگردان می‌توانند در پیام به نام گزینه بچسبند. فایل را به‌صورت UTF-8 بدون نشانه ترتیب بایت ذخیره کنید، سپس دوباره بازش کنید و تأیید کنید که نخستین نویسه حرفی عادی است. ویرایشگرها، تغییر مسیر PowerShell و متنی که از پنجره گفت‌وگو جای‌گذاری شده همه رمزگذاری را بدون پرسیدن تغییر می‌دهند.

Format-Hex .\office.ovpn | Select-Object -First 1

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

کدام بررسی اول، و چرا

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

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

مقالات مرتبط