همتای WireGuard از WAN نادرست خارج میشود: پنج بررسی به ترتیب
در دروازهای با چند پیوند بالاسری، دستدادن و جریان هدایتشده میتوانند مسیرهای متفاوتی بگیرند. قاعده، نشانه، ترجمه و پاسخ را به همین ترتیب پیش ببرید.
دو پیوند بالاسری، یک دروازه، و همتای WireGuard که ترافیکش پیوسته روی خط پشتیبان ظاهر میشود. دستدادن در تمام مدت سالم میماند. به همین دلیل خواندن نشانه بهصورت نقص WireGuard و نه خطای مسیریابی آسان است.
بررسیهای زیر را به ترتیب انجام دهید. هر یک شرط توقف دارد و جلو افتادن معمولاً پاسخی اشتباه و مطمئن تولید میکند.
دستدادن را از جریان هدایتشده جدا کنید
تبادل رمزنگاریشده با همتا مسیری تا نشانی عمومی سرور دارد. ترافیک هدایتشدهٔ کلاینت مقصد دیگری دارد و ممکن است با نشانهها یا قواعد سیاست انتخاب شود. اینها دو تصمیم مسیریابی هستند که یک رابط را شریکاند. گرفتن یکی بهعنوان مدرک دربارهٔ دیگری نخستین اشتباه است.
بهمحض اینکه دیدید از دستدادن استنتاج میکنید، توقف کنید. آن فقط مدرکی دربارهٔ مسیر نشانی پایانی است.
قاعدهٔ سیاست را بخوانید، نه جدول پیشفرض را
جدول پیشفرض نشان میدهد وقتی هیچ قاعدهٔ سیاستی مطابقت ندارد چه رخ میدهد. در دروازهای که بر اساس مبدأ، نشانه یا مقصد مسیریابی میکند، قاعدهٔ تعیینکننده جای دیگری زندگی میکند. جدول ساده میتواند کاملاً معقول به نظر برسد، در حالی که انتخاب واقعی بالاتر از آن انجام میشود.
ip rule show
ip route show table main
ip -4 route get 203.0.113.9 from 10.30.8.2
قواعد سیاست و جدولهایی را که به آنها اشاره میکنند بخوانید. سپس تأیید کنید کدام قاعده با جریان آزمون شما مطابقت دارد. قاعدهای که به رابطی اشاره میکند که دیگر پیوند بالاسری موردنظر را حمل نمیکند یک یافته است، نه یک جزئیات. جستوجوی مسیر در پایان پاسخ را بسیار سریعتر از خواندن جدول و حدس زدن نشان میدهد.
نشانه و ترجمه را با هم بررسی کنید
مسیریابی سیاست بر نشانهٔ بستهای تکیه دارد که پیشتر در زنجیره تنظیم شده است. اگر قاعدهٔ نشانهگذاری ترافیک شما را از دست بدهد، جریان به جدول اصلی میافتد و از هر پیشفرضی که آنجا باشد خارج میشود. بستههای هدایتشده اغلب از زنجیرههایی که برای ترافیک تولیدشدهٔ محلی نوشته شدهاند عبور میکنند.
nft list chain inet filter prerouting
conntrack -L -s 10.30.8.2 2>/dev/null | head
ip -s link show dev eth1
ترجمه باید با پیوند بالاسری که جریان را حمل میکند هماهنگ باشد. قاعدهای که به نشانی اصلی ترجمه میکند در حالی که بسته از خط پشتیبان خارج میشود، پاسخهایی تولید میکند که به رابطی نشانیدهی شدهاند که جریان هرگز از آن استفاده نکرد. شرط رابط خود قاعدهٔ ترجمه را بررسی کنید. قاعدهٔ بیقید تا زمانی کار میکند که پیوند بالاسری دوم استفاده شود، و سپس به شکلی شکست میخورد که متناوب به نظر میرسد.
مراقب باشید کدام رابط پاسخ را حمل میکند
در حالی که یک درخواست اجرا میشود، روی هر دو پیوند بالاسری ضبط کنید. یادداشت کنید کدام رابط درخواست و کدام پاسخ را حمل میکند. مسیرهای نامتقارن بسیار آسانتر دیده میشوند تا پیشبینی.
اگر پاسخ از پیوند بالاسری نادرست برسد، مشکل از WireGuard به ردیابی اتصال یا ترجمه منتقل شده است. هیچ تغییری در پیکربندی همتا آن را درست نمیکند.
یک چیز را با راه بازگشت تغییر دهید
پیش از ویرایش قواعد سیاست روی دروازه، دسترسی کنسول یا خارج از باند را نگه دارید. یک تغییر بدهید، همان مقصد مجاز را بیازمایید، سپس دوباره وصل شوید و تأیید کنید که دستدادن هنوز از مسیر موردنظر نشانی پایانی استفاده میکند. آزمون عددی روی خانوادهٔ دوم نشانیها بیفزایید، زیرا سیاستی که فقط برای v4 است همان اشتباه را در دسترس میگذارد.
یادداشت کنید هر جریان از کدام پیوند بالاسری استفاده کرد. آن یادداشت گزارش بعدی را به بررسی دو دقیقهای بهجای یک بعدازظهر کامل تبدیل میکند. یادداشتهای WireGuard دربارهٔ فضاهای نام و مسیریابی توضیح میدهند چگونه مسیر نشانی پایانی را عامدانه از ترافیک تونلشده جدا کنیم، کاری که معمولاً پاکتر از کپی کردن راهحل دورزدن با مسیر پیشفرض است.