Skip to content

TUN — Xray-core

Xray-core یک ورودی TUN حداقلی را در proxy/tun فراهم می‌کند. این یک دستگاه TUN ایجاد می‌کند و بسته‌های خام را می‌خواند — اما مسیرها را پیکربندی نمی‌کند، DNS را اسنیف نمی‌کند و قواعد iptables را نصب نمی‌کند. همهٔ این‌ها مسئولیت شماست.

برای تجربهٔ کامل TUN (مسیر خودکار، اسنیف DNS، مسیر سخت‌گیرانه، فیلتر برنامه‌ها) از sing-box یا mihomo به‌عنوان جلویی TUN استفاده کنید و خروجی آن‌ها را از طریق Xray مسیریابی کنید.

ورودی

settings برای "protocol": "tun":

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
namestringxray0<interface name>نام دستگاه TUN. در زمان راه‌اندازی ایجاد می‌شود.
MTUuint321500<bytes>واحد بیشینهٔ ارسال برای این دستگاه.
userLeveluint320<uint32>سطح سیاست پیش‌فرض برای اتصال‌های دریافت‌شده روی این ورودی.

منبع: infra/conf/tun.go:8-12 · ثابت‌شده در v1.260327.0 (d2758a0)

مثال

json
{
  "inbounds": [{
    "tag": "tun-in",
    "protocol": "tun",
    "settings": {
      "name": "xray0",
      "MTU": 9000
    }
  }]
}

پس از اجرا شدن ورودی TUN، شبکه‌بندی سیستم را خودتان پیکربندی کنید:

sh
# Linux example
ip addr add 198.18.0.1/30 dev xray0
ip link set xray0 up

# Route everything through xray0 (skip your management subnet)
ip route add 1/1 dev xray0
ip route add 128/1 dev xray0

# DNS hijack
iptables -t nat -A OUTPUT -p udp --dport 53 -j REDIRECT --to-port 5353
# (then have an Xray dokodemo-door inbound on 5353)

نکات

  • ورودی TUN در Xray یک خوانندهٔ سطح پایین بسته‌هاست. خودش TCP/IP را تجزیه نمی‌کند؛ به‌جای آن، بسته‌ها توسط یک پشتهٔ شبکهٔ درون‌فرایندی حداقلی رمزگشایی می‌شوند و به خروجی‌ها تحویل داده می‌شوند.
  • استفادهٔ رایج در لینوکس: همراه با ورودی‌های dokodemo-door و یک مجموعه قواعد iptables دست‌ساز برای بخش‌های پراکسی شفاف.
  • در ویندوز/مک‌اواس، ورودی TUN در Xray یک دستگاه wintun / utun ایجاد می‌کند اما باز هم باید مسیریابی را خودتان اسکریپت کنید. بیشتر کاربران در آن پلتفرم‌ها sing-box یا mihomo را ترجیح می‌دهند که مسیرها را به‌طور خودکار پیکربندی می‌کنند.

نکات بین‌هسته‌ای

  • sing-box دارای یک ورودی TUN کاملاً مجهز با auto_route، auto_redirect، strict_route، route_address، فیلتر UID/بسته و انتخاب پشتهٔ هر پلتفرم (gVisor / system / mixed) است. ببینید TUN — sing-box.
  • mihomo ورودی TUN معادل کاملی در بلوک سطح بالای tun: دارد با مجموعه‌ای از همان گزینه‌ها با نام‌های kebab-case. ببینید TUN — mihomo.

منبع: infra/conf/tun.go:8-12 · v1.260327.0 (d2758a0)

Core Tutorial اثر Argsment