Skip to content

iptables

روی لینوکس، بلوک iptables پذیرش این را اعلام می‌کند که mihomo قواعد دیوار آتش که پراکسی شفاف (tproxy-port / redir-port) را واقعاً شفاف می‌کنند، مدیریت کند. خارج از لینوکس این بلوک نادیده گرفته می‌شود.

گزینه‌ها

فیلدنوعپیش‌فرضمقادیر مجازتوضیحات
enableboolfalsetrue | falseاجازه دهید mihomo قواعد iptables موردنیاز برای پراکسی شفاف روی لینوکس را نصب (و پاک‌سازی) کند.
inbound-interfacestring(unset)<interface>قواعد پراکسی-شفاف را به ترافیکی که از این رابط می‌رسد محدود کن (مثلاً `eth0`). خالی با تمام رابط‌ها مطابقت می‌کند.
bypass[]string[]<CIDR>CIDRهای مبدأ که نادیده گرفته می‌شوند — ترافیک از این مبدأها پراکسی شفاف نمی‌شود.
dns-redirectboolfalsetrue | falseهمهٔ DNS خروجی (UDP/53) را تصاحب کرده و به‌طور محلی پاسخ بده. هنگام اجرا به عنوان روتر لازم است؛ برای استفادهٔ دسکتاپی به‌طور پیش‌فرض خاموش است.

منبع: config/config.go:337-342 · ثابت‌شده در v1.19.24 (a847246)

مثال

yaml
tproxy-port: 7895

iptables:
  enable: true
  inbound-interface: eth0
  bypass:
    - 192.168.1.0/24
    - 10.0.0.0/8
  dns-redirect: true

نکات

  • برای موفقیت مدیریت iptables، mihomo باید با کاربر root (یا با CAP_NET_ADMIN) اجرا شود.
  • قواعد نصب‌شده در منبع mihomo زیر listener/sing_tun/ مستندسازی شده‌اند — آن‌ها یک زنجیرهٔ سفارشی و علامت مسیر می‌سازند.
  • وقتی mihomo به‌طور تمیز خارج می‌شود، قواعد خود را حذف می‌کند. یک کرش آن‌ها را باقی می‌گذارد؛ با iptables -t mangle -F MIHOMO (و زنجیرهٔ NAT متناظر) پاک‌سازی کنید.

منبع: config/config.go:337-342 · v1.19.24 (a847246)

Core Tutorial اثر Argsment