Redirect و TProxy — mihomo
mihomo دو روش برای اعلان ورودیهای پراکسی شفاف Linux ارائه میدهد: کلیدهای میانبر سطح بالا (redir-port و tproxy-port)، یا فرم یکپارچهٔ listeners: (type: redir, type: tproxy).
میانبرهای سطح بالا
روی سند ریشه تنظیم میشوند؛ سادهترین فرم:
yaml
redir-port: 7892 # TCP only (iptables REDIRECT mode)
tproxy-port: 7893 # TCP + UDP (iptables/nftables TPROXY mode)هر دو بهطور مفصل در صفحهٔ Basics مستند شدهاند.
فرم شنونده
برای چند نمونه یا کنترل بیشتر، زیر listeners: اعلان کنید:
type: redir
yaml
listeners:
- name: redir-in
type: redir
listen: 127.0.0.1
port: 7892RedirOption فقط BaseOption به ارثبریشده (listen, port, name) را حمل میکند.
type: tproxy
| فیلد | نوع | پیشفرض | مقادیر مجاز | توضیحات |
|---|---|---|---|---|
udp | bool | false | true | false | گوش دادن به بستههای UDP نیز. TPROXY تنها راه پراکسی شفاف UDP در Linux است. |
منبع: listener/inbound/tproxy.go:13-16 · ثابتشده در v1.19.24 (a847246)
yaml
listeners:
- name: tproxy-in
type: tproxy
listen: 0.0.0.0
port: 7893
udp: trueپیکربندی iptables
REDIRECT (فقط TCP):
sh
iptables -t nat -N MIHOMO
iptables -t nat -A MIHOMO -d 192.168.0.0/16 -j RETURN
iptables -t nat -A MIHOMO -d 10.0.0.0/8 -j RETURN
iptables -t nat -A MIHOMO -p tcp -j REDIRECT --to-ports 7892
iptables -t nat -A OUTPUT -p tcp -j MIHOMOTPROXY (TCP + UDP):
sh
iptables -t mangle -N MIHOMO
iptables -t mangle -A MIHOMO -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A MIHOMO -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A MIHOMO -p tcp -j TPROXY --on-port 7893 --tproxy-mark 0x1
iptables -t mangle -A MIHOMO -p udp -j TPROXY --on-port 7893 --tproxy-mark 0x1
iptables -t mangle -A PREROUTING -j MIHOMO
ip rule add fwmark 0x1 table 100
ip route add local 0.0.0.0/0 dev lo table 100برای یک پیکربندی iptables پاکیزه و مدیریتشده توسط mihomo، بلوک سطح بالای iptables: را ترجیح دهید — mihomo قواعد را خودش نصب و حذف میکند.
نکات
- میانبر سطح بالا (
tproxy-port) و فرم شنونده (type: tproxy) میتوانند همزمان وجود داشته باشند. وقتی نیاز دارید چند آدرس bind داشته باشید یا پراکسی شفاف را با دیگر انواع ورودی روی یک daemon مخلوط کنید، از فرم شنونده استفاده کنید. redir-portو شنوندهٔtype: redirفقط TCP هستند. برای UDP شفاف، ازtproxy-portیاtype: tproxyباudp: trueاستفاده کنید.- بلوک
iptables:در mihomo (به iptables مراجعه کنید) پیکربندی قاعدهٔ الگوی استاندارد را خودکار میکند —iptables.enable: trueرا تنظیم کنید و mihomo قواعد را خودش مدیریت میکند. - TPROXY فقط در Linux است. در macOS/Windows از TUN استفاده کنید.
نکات بینهستهای
- Xray-core از ورودی Dokodemo-door با
streamSettings.sockopt.tproxyبرای هر دو حالت استفاده میکند. به Redirect/TProxy — Xray-core مراجعه کنید. - sing-box انواع ورودی اختصاصی
redirectوtproxyرا با نامهای snake_case و همان الزامات سمت iptables ارسال میکند. به Redirect/TProxy — sing-box مراجعه کنید.
منبع: listener/inbound/tproxy.go:13-16 · v1.19.24 (a847246)
