dev tun در ویندوز همچنان یک آداپتور TAP نشان میدهد. آیا این اشتباه است؟
یک آداپتور TAP-Windows زیر پروفایل dev tun طبیعی است. درایور لایه 3 یک کلید اختیاری است و گزارش کلاینت، نه نام آداپتور، میگوید کدامیک اجرا شده است.
مدیر دستگاه یک TAP-Windows Adapter V9 نشان میدهد، در حالی که پروفایل میگوید dev tun، و تونل کار میکند. این ترکیب یک پیکربندی اشتباه نیست، و جابهجا کردن حالت به این سو و آن سو آن را تغییر نمیدهد. نام آداپتور نشان میدهد کلاینت کدام درایور ویندوز را بارگذاری کرده است، نه اینکه تونل چه بستههایی را حمل میکند. پیش از تغییر هر چیزی، خط درایور را در گزارش کلاینت بخوانید.
چرا یک تونل لایه 3 یک آداپتور اترنت میگیرد
در بیشتر تاریخ ویندوزی کلاینت، هیچ آداپتور مجازی لایه 3 قابل استفاده وجود نداشت. تنها گزینه درایور TAP-Windows بود که یک رابط اترنت ارائه میدهد. سپس کلاینت رفتار لایه 2 از دسترفته را شبیهسازی میکرد تا ویندوز بتواند آن را پیکربندی کند. همان شبیهسازی دلیل آن است که آداپتور هنوز شبیه یک کارت شبکه به نظر میرسد.
اگر دقیق نگاه کنید دو بخش از این شبیهسازی دیده میشود: کلاینت به ARP برای نشانی تونل پاسخ میدهد، و یک اجاره DHCP کوچک به ماشین محلی میدهد. بنابراین ویندوز یک آداپتور اترنت معمولی با نشانی MAC و درایور NDIS میبیند، در حالی که خود تونل بستههای خام IP را حمل میکند. لباس اترنت متعلق به درایور است، نه به حالت تونل.
به جای قضاوت از روی نام، خط درایور را پیدا کنید
دو آداپتور میتوانند در نسخههای مختلف درایور نام یکسان داشته باشند، پس نام بهتنهایی نمیتواند بگوید چه چیزی اجرا شده است. گزارش کلاینت نام دستگاهی را که باز کرده میآورد، و در نسخههای تازهتر نام درایوری را که انتخاب کرده هم میآورد؛ همان خطی است که باید بخوانید.
سه چیز را در گزارش به این ترتیب بررسی کنید: اینکه کلاینت اصلاً آداپتوری باز کرده یا نه، کدام درایور را گزارش میکند، و اینکه پس از یک خطا به حالت قبلی بازگشته یا نه. خط بازگشت آسان از چشم میافتد چون اتصال با این حال برقرار میشود، و تونل آنگاه با درایور قدیمیتر کار میکند در حالی که کاربر فکر میکند درایور جدید فعال است.
به درایور لایه 3 بروید و بررسی کنید چه چیزی باید موجود باشد
درایور لایه 3 که پروژه WireGuard عرضه میکند از نسخه 2.5 کلاینت به بعد در دسترس است، اما اختیاری است. افزودن یک دستور آن را انتخاب میکند:
windows-driver wintun
درایور باید روی ماشین نصب باشد، و نسخههای رسمی یک کپی امضاشده همراه دارند. اگر خودتان کلاینت را بستهبندی میکنید همان انتشار امضاشده را عرضه کنید، چون درایوری که بهصورت خصوصی ساخته شود با کپیهایی که دیگر محصولات VPN نصب میکنند برخورد میکند. این برخوردها خطاهایی پدید میآورند که نسبت دادنشان کند است، و معمولاً پس از رسیدن یک کلاینت VPN دوم به ماشین ظاهر میشوند. در مقابل، نبودِ درایور یک خط روشن در گزارش باقی میگذارد.
درایور همچنین مجوزهای سختگیرانهتری اعمال میکند، بنابراین کلاینت آداپتور را از طریق سرویس تعاملی خود که با یک حساب ممتاز اجرا میشود میسازد. اگر کلاینت را بهعنوان یک فرایند کاربر عادی و بدون آن سرویس اجرا کنید، دستور میتواند شکست بخورد، که آداپتور نصبشده پیشین را قابل مشاهده باقی میگذارد و به نظر میرسد که تغییر نادیده گرفته شده است.
چه زمانی TAP همچنان پاسخ درست است
اگر تونل باید فریمهای اترنت، ترافیک پخش یا پروتکلهای غیر IP را حمل کند، یک آداپتور لایه 2 لازم است و درایور TAP از همان الزام پیروی میکند. یک طراحی پُلی در ویندوز همان محدودیت را دارد، چون رابط باید به یک دامنه لایه 2 بپیوندد.
کارایی در سطح نام آداپتور دلیلی برای ترجیح یکی بر دیگری نیست. نسخه 2.6 یک درایور تخلیه کانال داده اضافه میکند که پردازش بسته را به هسته منتقل میکند، و همان گزینهای است که ویژگیهای توان عبوری را تغییر میدهد. این یک تصمیم مربوط به توانمندی است نه الزامی برای اتصال، و به نسخه ساخت و بسته نصبشده بستگی دارد. پروفایلی که بدون آن کار میکند همچنان کار میکند.
| What the tunnel must carry | Adapter family | Where it is selected |
|---|---|---|
| IPv4 and IPv6 packets | Layer-3 driver, or the older TAP emulation | Client directive plus installed signed driver |
| Ethernet frames, non-IP protocols | TAP-Windows | Profile mode and the TAP driver package |
| Higher throughput on a supported build | Data-channel offload driver | Client build and driver package, separately from the profile |
پس از تغییر، پاکسازی کنید
برداشتن آداپتور قدیمی به همان اندازه افزودن آداپتور جدید اهمیت دارد. یک رابط TAP باقیمانده میتواند نشانی و مسیری از یک نشست پیشین را نگه دارد، و آن ورودیها بیش از اتصالی که آنها را ساخته زنده میمانند. دستگاه کهنه را در مدیر دستگاه حذف کنید، سپس دوباره متصل شوید و تأیید کنید که جدول مسیریابی دیگر از آن نام نمیبرد.
اگر چند محصول VPN نصب است، پیش از عیبیابی پروفایل یادداشت کنید هر کدام کدام بسته درایور را همراه دارد. دو کلاینت که نسخههای متفاوتی از یک درایور را نصب میکنند تعارضی است که هیچ ویرایشی در پروفایل آن را حل نمیکند. کلاینت بیاستفاده را حذف نصب کنید و راهاندازی مجدد کنید، سپس در مدیر دستگاه آداپتورهای تکراری را جستوجو کنید. تنها پس از آن ارزش دارد که خطوط گزارش دو محصول را مقایسه کنید.