تونل تقسیمشده WireGuard: پیکربندی بدون مسیر پیشفرض
تونل تقسیمشده همان فهرست پیشوندهایی است که بیرون میگذارید. بازههای دور را روی همتای کلاینت، نشانی کلاینت را روی همتای سرور بگذارید و سپس مسیرها را بخوانید.
تونل تقسیمشده با آنچه بیرون میگذارید تعریف میشود، و WireGuard این تصمیم را در یک فیلد میگیرد. AllowedIPs همتای کلاینت همزمان انتخاب میکند کدام مقصدها از تونل عبور کنند و فیلتر میکند کدام نشانیهای مبدأ داخلی پذیرفته شوند، و wg-quick همان فهرست را به مسیرهای میزبان تبدیل میکند. اگر فهرست را اشتباه بگیرید، تونل یا همهچیز را میبلعد یا هیچچیز را حمل نمیکند.
ابتدا فهرست پیشوندها را تعیین کنید
پیش از دست زدن به فایل پیکربندی، مقصدهایی را که باید از تونل استفاده کنند بنویسید. زیرشبکههای دفتر، یک بازه پایگاه داده، یک شبکه مدیریت: هرکدام پیشوندی با دلیلی هستند. هر چیزی که در فهرست نیست روی مسیر فیزیکی میماند، و تمام هدف طراحی همین است.
اگر فهرست شامل 0.0.0.0/0 یا ::/0 باشد، تونل کامل ساختهاید و باید بگویید، زیرا حالتهای خرابی و انتظارات DNS متفاوت است.
فهرست را بهاندازه کافی کوتاه نگه دارید تا بازبین بعداً بتواند آن را با جدول مسیریابی مقایسه کند.
پیکربندی کلاینت: همتا، AllowedIPs، DNS
بلوک رابط کلاینت نشانی تونل و کلید خصوصی خودش را نگه میدارد. بلوک همتا کلید عمومی سرور، نقطه پایانی و پیشوندهای گام یک را نگه میدارد:
[Interface]
Address = 10.9.0.2/32
PrivateKey = <client-private-key>
DNS = 10.20.0.53
[Peer]
PublicKey = <server-public-key>
Endpoint = vpn.example.net:51820
AllowedIPs = 10.20.0.0/16, 10.30.0.0/24
PersistentKeepalive = 25
AllowedIPs در کلاینت مجموعه مقصدهای دور است، نه نشانی خود کلاینت. خط DNS فقط از طریق یکپارچگی حلکننده wg-quick اثر میگذارد، پس میزبان بدون پشتیبانی resolvconf یا systemd-resolved آن را نادیده میگیرد. PersistentKeepalive نگاشت NAT را زنده نگه میدارد و در مسیر مستقیم لازم نیست.
هر پیشوند را با سرویسی که به آن خدمت میکند تفسیر کنید، وگرنه ویرایش بعدی حدس و گمان خواهد بود.
پیکربندی سرور: دیدگاه مقابل
در سرور، ورودی همتا نماینده کلاینت است، پس AllowedIPs آن نشانی تونل کلاینت است، معمولاً یک /32. این زیرشبکه دفتر نیست. کپی کردن فهرست کلاینت در ورودی سرور رایجترین اشتباه تونل تقسیمشده است، و یا دسترسی را گسترش میدهد یا بررسی مبدأ داخلی را هنگام دستدادن میشکند.
نشانی رابط خود سرور و مسیرهایی که به سمت دفتر نیاز دارد، از هر ورودی همتا جدا هستند.
دو فایل، دو دیدگاه، یک مجموعه پیشوند که میان آن دو تقسیم شده است.
آن را بالا بیاورید و مسیرها را بخوانید
رابط را با مدیر پشتیبانیشده راهاندازی کنید و سپس ببینید چه چیزی نصب کرده، نه چه چیزی قصد داشتید. wg-quick مسیرها را از AllowedIPs استخراج میکند؛ اگر پروفایل Table = off تنظیم کند، هیچچیز نصب نمیشود و مسیریابی به عهده شماست. مسیر هر پیشوند را بخوانید و تأیید کنید که به رابط WireGuard اشاره میکند. فهرست مسیر خالی معمولاً یعنی پروفایل اعمالشده همانی نیست که ویرایش کردید.
شمارندههای دستدادن را هم بررسی کنید، زیرا همتایی که دستدادن ندارد مشکل کلید، نقطه پایانی یا دسترسپذیری دارد، نه مسیریابی.
دستور دقیقی را که استفاده کردید بنویسید، زیرا نفر بعدی آن را زیر فشار اجرا خواهد کرد.
هر دو طرف را بررسی کنید و سپس بازگشت را ثبت کنید
یک نشانی خصوصی، نام داخلی آن و مقصدی را که باید مستقیم بماند آزمایش کنید. اگر نشانی خصوصی کار کند و مقصد مستقیم اکنون از تونل خارج شود، فهرست پیشوندها بسیار گسترده است. اگر نام شکست بخورد در حالی که نشانی کار میکند، خط DNS اثر نکرده است. بازگشت یک دستور است و به همان یادداشت تعلق دارد.
پس از اتصال دوباره، تأیید کنید که مسیرها هنوز آنجا هستند، زیرا مدیری که پروفایل را دوباره اعمال کند میتواند مسیرهای دستی را جایگزین کند.
یک مالک پیکربندی نگه دارید، زیرا دو مدیری که همان رابط را تولید میکنند سرانجام اختلاف پیدا خواهند کرد. راهنمای wg-quick رفتار مسیر و DNS را که فراهم میکند مستند میکند.