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

دو کلید، دو جهت

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

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

wg show
wg show interfaces

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

چه چیزی را به اشتراک بگذاریم و چه چیزی را هرگز

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

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

یک دستگاه، یک مدخل همتا

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

نگاشت دستگاه به کلید عمومی را کنار فهرست نشانی‌ها نگه دارید. همان فهرست است که لغو کردن را به کاری دو دقیقه‌ای تبدیل می‌کند نه یک بعدازظهر.

چه چیزی پس از مصافحه هم شکست می‌خورد

جفت‌کلیدها همتاها را مشخص می‌کنند؛ آن‌ها دربارهٔ رفتار شبکه تصمیم نمی‌گیرند. AllowedIPs بازه‌های نشانی را به یک همتا نسبت می‌دهد، و مسیرهای پیرامون آن را کارخواه یا ابزار راه‌اندازی اداره می‌کند. نشانه معمولاً می‌گوید لایهٔ بعدی کدام است:

What you seeWhich key problem it usually meansWhere to look first
Handshake age stays at never on both endsPeer public key missing, or an endpoint pointing at nothingwg show, then the endpoint value
Handshake completes on one side onlyThe two ends hold different public keys for each otherwg show on both hosts
Handshake works, then no trafficAllowedIPs or routes rather than keyswg show and the route table
Worked until a key was regeneratedThe peer entry still holds the old public keyCompare both public keys, then update the peer

DNS می‌تواند پس از آنکه هر دو همتا درست تأیید هویت شدند شکست بخورد، و یک برنامه می‌تواند وقتی خود تونل سالم است شکست بخورد، پس مصافحهٔ کارآمد پایان عیب‌یابی نیست. کلیدها همچنین هیچ چیزی دربارهٔ شیوهٔ ثبت گزارش اپراتور یا دربارهٔ اینکه وب‌گاهی حساب شما را بشناسد نمی‌گویند، و آن پرسش‌ها جای دیگری است. وقتی چهار بررسی گذشت به لایه‌های شبکه بروید، چون کلید گم‌شده مشکل مسیریابی نقاب‌دار نیست.

مقالات مرتبط