قطع اضطراری یا دسترسی به LAN؟ دو پاسخ برای WireGuard
کلاینت ویندوز وقتی پروفایل 0.0.0.0/0 را مشخص میکند، ترافیک خارج از تونل را مسدود میکند. تصمیم بگیرید کدام ویژگی را لازم دارید و پیشفرض را بر همان اساس بیان کنید.
دستدهی کامل میشود، مرور وب کار میکند، و چاپگر، NAS و میزبانهای SSH محلی ناپدید میشوند. در کلاینت ویندوز این معمولاً اصلاً خطای مسیریابی نیست: همتایی که پیشوندهای مجازش پیشفرض تحتاللفظی را شامل میشود گزینهٔ مسدود کردن ترافیک خارج از تونل را فعال میکند، و آن گزینه بهصورت قواعد دیوار آتش پیادهسازی شده است که بستههای خروجی از هر رابط دیگر را دور میریزد. جدول مسیرها همچنان زیرشبکهٔ محلی را بهعنوان پیوند مستقیم فهرست میکند، و به همین دلیل نشانه شبیه یک دروغ به نظر میرسد. سه شرط تعیین میکند با آن چه باید کرد، و فقط یکی از آنها دربارهٔ مسیریابی است.
دو شکست یک نشانه را با خود دارند
شکست اول حالت بستهٔ ایمن کلاینت است، و نشانهٔ آن این است که همهچیز بیرون از تونل متوقف میشود در حالی که خود تونل بیعیب کار میکند. دومی یک مشکل واقعی دسترسپذیری است: مسیر گمشده، ورودی گمشده در سرور برای زیرشبکهای پشت کلاینت، یا دو شبکه که یک محدودهٔ نشانی را همرسانی میکنند. هر دو ماشینی میسازند که میتواند مرور کند و نمیتواند چاپ کند، و راهحلهایشان متضاد است، پس تشخیص باید پیش از پیکربندی بیاید.
مشاهدهٔ متمایزکننده این است که آیا زیرشبکهٔ محلی هنوز در جدول مسیرها هست، در حالی که ترافیک به آن دور ریخته میشود.
سه شرط پاسخ را روشن میکند
نخست، آیا این ماشین به بستهٔ ایمن نیاز دارد؟ اگر پاسخ بله است، تونلی که میافتد باید ترافیک را متوقف کند نه اینکه آن را به رابط فیزیکی برگرداند، و این الزام از آسایش محلی مهمتر است. دوم، آیا دستگاههای محلی باید تا وقتی تونل برپاست دسترسپذیر بمانند؟ چاپ، ذخیرهسازی شبکه و کنسولهای مدیریت محلی دلایل معمول هستند، و اینها الزامات مشروعی هستند نه استثناهایی که باید برایشان عذرخواهی کرد. سوم، آیا پروفایل پیشفرض را بهصورت تحتاللفظی 0.0.0.0/0 بیان میکند؟ همین جزئیات است که قواعد کلاینت را فعال میکند، و قابل ویرایش است.
پیش از دست زدن به پروفایل، به این سه پرسش کتبی پاسخ دهید، چون هر پاسخ به پیکربندی متفاوتی اشاره میکند.
بستهٔ ایمن را برگزینید و از LAN چشم بپوشید
اگر نشت مهمتر از دسترسپذیری محلی است، پیشفرض تحتاللفظی را نگه دارید و گزینهٔ مسدود کردن ترافیک خارج از تونل را روشن بگذارید. این موضعی منسجم است: ماشین بهعنوان دستگاهی در نظر گرفته میشود که یا داخل تونل است یا آفلاین، و خدمات محلی از دستگاه دیگری یا از طریق تونل در دسترساند اگر سرور آنها را مسیریابی کند. هزینه واقعی است و باید در یادداشتهای استقرار ذکر شود، نه اینکه کسی که باید چاپ کند آن را کشف کند.
این انتخاب درست برای ماشینهایی است که کاری انجام میدهند که هنگام افتادن تونل نباید در شبکهٔ یک کافه دیده شود. برای لپتاپ خانگی که به اسکنر هم نیاز دارد، پیشفرض بدی است.
دسترسی به LAN را برگزینید و پیشفرض را به شکلی دیگر بیان کنید
اگر دستگاههای محلی باید دسترسپذیر بمانند، همان پوشش را بدون پیشوند تحتاللفظی پیشفرض بیان کنید. دو پیشوند نیمه همهٔ نشانیهای IPv4 را پوشش میدهند، جفت معادل IPv6 را پوشش میدهد، و کلاینت دیگر قواعد مسدودکننده را وارد نمیکند چون رشتهای که به دنبالش میگردد وجود ندارد.
[Peer]
AllowedIPs = 0.0.0.0/1
AllowedIPs = 128.0.0.0/1
AllowedIPs = ::/1
AllowedIPs = 8000::/1
Endpoint = vpn.example.net:51820
برداشتن آن تیک باعث میشود کلاینت همان دو جفت را در پروفایل بنویسد، پس مقایسهٔ فایل تولیدشده با بلوک بالا راهی سریع برای تأیید سازوکار است نه حدس زدن دربارهٔ آن. دو پیامد دارد. پوشش یکسان است، پس چیز دیگری در تونل تغییر نمیکند. محافظت یکسان نیست: با رفتن قواعد، تونلی که میافتد ماشین را با رابط فیزیکیاش رها میکند، و همین چیزی بود که بستهٔ ایمن از آن جلوگیری میکرد.
هر حال دو مظنون دیگر را بررسی کنید
پس از روشن شدن مسئلهٔ دیوار آتش، تأیید کنید که زیرشبکهٔ محلی واقعاً مسیریابی میشود و طرف دور از هر چیزی پشت این کلاینت آگاه است. سروری که باید به LAN پشت یک کلاینت برسد به آن پیشوند در فهرست مجاز کلاینت روی هاب نیاز دارد؛ اگر آن را جا بیندازید، هاب نمیتواند برای آن نشانیها همتایی انتخاب کند، و هیچ مقدار پیکربندی کلاینت یکی نمیسازد.
Get-NetConnectionProfile | Select-Object Name, InterfaceAlias, NetworkCategory
Get-NetFirewallProfile | Select-Object Name, Enabled, DefaultOutboundAction
route print 0.0.0.0
دستهٔ شبکه بیش از آنچه مردم انتظار دارند مهم است: آداپتور تونل تازهساختهای که عمومی طبقهبندی شود تغییر میدهد کدام قواعد بر آن اعمال میشود، و نتیجه میتواند مثل مسدود شدن توسط دیوار آتش در طرف دور به نظر برسد. خروجی مسیرها نشان میدهد آیا اصلاً پیشفرضی وجود دارد، که مشکل سیاست را از مسیر گمشده جدا میکند.
سپس سه چیز را در یک نشست بیازمایید: اینترنت، یک میزبان محلی بر اساس نشانی، و یک میزبان از طریق تونل. دستدهی فقط ثابت میکند کلیدها همخواناند، پس همان سه آزمون سیاست را نشان میدهند. اگر میزبان محلی با پاککردن گزینه همچنان امتناع کند، مشکوکان باقیمانده مسیر، فهرست مجاز طرف دور و زیرشبکهٔ تکراری هستند، به همین ترتیب.