nmcli مدام گذرواژهٔ VPN را میپرسد: راز را بهصورت محلی ذخیره کنید
یک نشست رومیزی به این درخواست با یک عامل راز پاسخ میدهد. از طریق SSH هیچکس این کار را نمیکند، پس اعتبارنامه را در فایل کلید بگذارید و نمایه را دوباره بارگذاری کنید.
همان نمایه، دو نشست: از رومیزی وصل میشود و از طریق SSH روی درخواستی معلق میماند که هیچ چیز نمیتواند به آن پاسخ دهد. هیچ چیز خراب نیست و هیچ تنظیمی از دست نرفته است. NetworkManager اعتبارنامه را از یک عامل راز میخواهد، و عامل راز یک مؤلفهٔ رومیزی است که در نشستی که استفاده میکنید وجود ندارد.
دنبالهٔ زیر را اجرا کنید و تونل بدون رابط گرافیکی بالا میآید، با این هشدار که ذخیرهٔ یک راز تغییر میدهد چه کسی میتواند از آن نمایه استفاده کند.
پیش از هر تغییری تشخیص را تأیید کنید
تفاوت میان فعالسازی تعاملی و غیرتعاملی تمام تشخیص است. اگر nmcli --ask connection up موفق شود در حالی که فعالسازی ساده گیر میکند، نمایه درست است و منبع راز غایب است. همین یک مقایسه شما را از بازنویسی پیکربندیای که کار میکند نجات میدهد.
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show "Office IPsec" | grep -i flags
پرچمها را بخوانید نه اینکه حدس بزنید. مقادیری که معنای «از یک عامل بپرس» میدهند همان چیزی است که دنبالش هستید، و نامهای دقیق کلیدها میان افزونههای VPN فرق میکند چون در فرهنگ دادهٔ خود افزونه زندگی میکنند. نمایهٔ FortiSSL و نمایهٔ IPsec لزوماً از نامهای یکسان استفاده نمیکنند، پس از خروجی نمایهٔ خودتان کار بگیرید.
همچنین تأیید کنید که بستهٔ افزونهٔ آن پروتکل نصب شده است. افزونهٔ غایب بهصورت نوع اتصال ناشناخته یا خطای فعالسازی ظاهر میشود که چیزی دربارهٔ گذرواژه نمیگوید، و دنبال راز افتادن در آن وضعیت همان یک ساعت را دو بار هدر میدهد. یک پرسوجوی بسته ارزانتر از یک بعدازظهر کامل ویرایش فایلهای کلید است.
راز را به فایل کلید منتقل کنید
فایل اتصال زیر /etc/NetworkManager/system-connections/ قرار دارد. رازها بهطور پیشفرض آنجا نگه داشته نمیشوند، و منظور همان پرچمهایی است که تازه خواندید. تغییر یک پرچم به صفر به NetworkManager میگوید مقدار همراه نمایه ذخیره شده است نه اینکه هنگام فعالسازی درخواست شود.
[vpn]
password-flags=0
[vpn-secrets]
password=YOUR-VPN-PASSWORD
برای نمایهای با دو راز، الگو تکرار میشود: یک پرچم برای هر راز در بخش [vpn]، و مقادیر در [vpn-secrets]. نمایهٔ IPsec معمولاً یک کلید از پیش اشتراکی در کنار اعتبارنامهٔ کاربر دارد، و افزونه آنها را متفاوت از یک فیلد گذرواژهٔ ساده نام میگذارد، پس نام کلیدها را از خروجی vpn.data کپی کنید نه از نوشتهٔ وبلاگی که افزونهٔ دیگری استفاده کرده بود. یک نام کلید اشتباه نمایهای میسازد که بارگذاری میشود و سپس در احراز هویت شکست میخورد، که دقیقاً مثل گذرواژهٔ اشتباه خوانده میشود. پیش از اتصال دوباره، فایل خود را با نمایهای کارآمد از همان افزونه مقایسه کنید.
مقادیری را که فاصله، گیومه یا علامت دلار دارند در گیومه بگذارید. مقدار بدون گیومه که $ دارد بسته به جایی که تجزیه شود بهصورت تحتاللفظی خوانده یا بازشدن مییابد، و شکست احراز هویت حاصل شبیه گذرواژهٔ اشتباه است.
سپس مالکیت و حالت فایل را درست کنید. این فایلهای کلید را سرویس ممتازی میخواند، و فایلی که کاربران دیگر بتوانند بخوانند غیرقابلاعتماد تلقی میشود، که دلیل معمول نادیده گرفته شدن نمایهٔ ویرایششده است. مالک root، حالت 600، بدون استثنا.
دوباره بارگذاری کنید، سپس فعال کنید
فایل هنگام بارگذاری اتصال خوانده میشود، پس ویرایش آن کافی نیست. نمایهها را دوباره بارگذاری کنید و سپس اتصال را صریحاً بالا بیاورید.
sudo nmcli connection reload
sudo nmcli connection up "Office IPsec"
اگر بارگذاری دوباره تغییر را برندارد، راهاندازی کامل دوبارهٔ سرویس این کار را میکند، و گزارشهایی دقیقاً از همین وجود دارد. وقتی پیوندهای دیگر مهماند بارگذاری دوباره را ترجیح دهید، چون راهاندازی دوبارهٔ سرویس هر اتصال مدیریتشده را قطع میکند، و روی میزبان راهدور این میتواند نشست شما را پیش از بالا آمدن تونلی که میخواستید پایان دهد.
وقتی نامها مبهماند از UUID استفاده کنید. ماشینهایی با چند نمایهٔ مشتری تقریباً-تکراریها را انبار میکنند، و فعالسازی اشتباه یکی شکستی میدهد که شبیه مشکل اعتبارنامه است.
وقتی راز ذخیرهشده مشکل نیست
نمایهٔ FortiSSL میتواند حتی با اعتبارنامهٔ ذخیرهشدهٔ درست شکست بخورد چون کارخواه هرگز به گواهی دروازه اعتماد نمیکند. آن تنظیم در گفتوگوی اصلی نیست؛ پشت گزینههای پیشرفتهٔ VPN است، جایی که خلاصهٔ گواهی مورداعتماد وارد میشود. اگر گزارش بهجای گذرواژه از گواهی نام میبرد، شما در این شاخهاید و هیچ مقدار ویرایش [vpn-secrets] کمکی نمیکند.
دو بررسی دیگر هم اینجا جا دارد. تأیید کنید که نمایه از فایلی وارد نشده که هنوز به مسیری اشاره میکند که افزونه نمیتواند بخواند، و تأیید کنید که نمایه همان فعال است و نه یک نسخهٔ تکراری کهنه. هر دو شکست فعالسازی میدهند که مثل خطای احراز هویت خوانده میشود.
تصمیم بگیرید که ذخیرهسازی پذیرفتنی است یا نه
PSK و گذرواژهٔ ذخیرهشده برای هر چیزی که با root روی آن ماشین اجرا میشود خواندنی است. روی ماشینی که خودتان کنترل میکنید، این معاملهٔ معقولی برای سرویسی بدون رابط گرافیکی است. روی میزبان مشترک شایستهٔ گفتوگوست، چون نمایه اکنون اعتبارنامهای دارد که پیشتر با جاکلیدی رومیزی محافظت میشد. پیش از تصمیم گرفتن بپرسید چه کس دیگری میتواند روی آن میزبان به root برسد، نه بعد از اینکه تغییر اعمال شد.
اگر سیاست ذخیرهٔ رازهای VPN را ممنوع میکند، نمایه را برای کار کردن یک کار cron تضعیف نکنید. اتصال را از نشستی که عامل دارد اجرا کنید، یا برای خودکارسازی مکانیسم دیگری به کار ببرید.
در پایان ثبت کنید کدام نمایهها راز دارند تا کسی بیآنکه متوجه شود یکی را به لپتاپ کپی نکند. یک توضیح بالای بخش رازها با تاریخ و دلیل کافی است، و بعداً کسی را از بازبینی ناخوشایند نجات میدهد.