این راهنما همهی جاهایی که میتوان بعد از تونل (rathole + kcp) سرعت و پایداری را بهتر کرد جمع کرده. ترتیب از «بیشترین تأثیر» به «کمترین» است. هر تغییر را جدا اعمال کن و تست بگیر.
یادآوری معماری: کاربر → TLS/۴۴۳/دامنه → nginx (روی rp01) → rathole-server → تونل (websocket یا kcp) → نود → Xray → اینترنت. پس چهار نقطهی قابلتنظیم داریم: تونل، کرنل دو سرور، Xray نود، کلاینت کاربر. nginx فقط یک پراکسی سبک در مسیر است.
# کرنل: BBR روشن است؟ (هر دو سرور)
sysctl net.ipv4.tcp_congestion_control # باید: bbr
# مصرف CPU/شبکهی لحظهای
top -d1 # آیا xray یا nginx یا kcptun CPU را پر کرده؟
# پکتلاس/پایداری مسیر سرور-به-سرور
mtr -rwc 30 <IP-طرف-مقابل>- اگر
mtrلاس بالا داشت → مشکل مسیر است؛ kcp/FEC (تونل) جواب میدهد، نه تنظیم Xray. - اگر CPU پر بود → مشکل رمزگذاری/مالتیپلکس است؛ سراغ بخش Xray برو.
- اگر هیچکدام و باز هم کند → احتمال throttle شدن IP نود.
mux چند استریم را روی یک کانکشن قاطی میکند؛ یک ریلز سنگین بقیه را بلاک میکند (head-of-line blocking). در کلاینت (ساب کاربر) و در outbound:
"mux": { "enabled": false }مسیر کاربر↔ایران از قبل TLS دارد و تونل هم رمز دارد. پس اینباندهای تراکر روی نود را سبک نگه دار:
- VLESS + WS با
"security": "none"(TLS=off) روی نود — چون rathole/nginx ترمینیت میکند. - TLS اضافی فقط جایی که برای استتار لازم است (مثل سرویس game با گواهی واقعی).
"streamSettings": {
"sockopt": {
"tcpNoDelay": true,
"tcpFastOpen": true,
"tcpKeepAliveIdle": 30,
"mark": 0
}
}در کانفیگ Xray نود:
"dns": { "servers": ["1.1.1.1", "8.8.8.8", "localhost"] }و outbound با "domainStrategy" معقول. اگر سایتها IPv6 کند دارند، "domainStrategy": "UseIPv4".
"policy": { "levels": { "0": { "bufferSize": 512 } } },
"log": { "loglevel": "warning" }loglevel: warning(نهdebug) تا I/O لاگ، CPU را نخورد.bufferSizeبزرگتر برای throughput بهتر در فایلهای حجیم/ویدئو.
نسخههای جدید بهینهسازیهای TCP/Vision دارند. اگر خیلی قدیمی است، آپدیت کن.
ratholectl tune # روی ایران
ratholenode tune # روی نوداینها را ست میکند (بدون ریبوت، بدون قطع تونل):
- BBR + fq (کنترل ازدحام مدرن؛ مهمترین برد کرنل).
- بافر بزرگ UDP (
rmem_max/wmem_max=25MB) — برای throughput بالای kcp ضروری. - file-max / conntrack_max / somaxconn / backlog بالا — رفع ۵۰۲ زیر برست.
- tcp_fastopen، mtu_probing، slow_start_after_idle=0.
تأیید:
sysctl net.ipv4.tcp_congestion_control net.core.rmem_max# روی ایران:
ratholectl kcp on 443 balanced # استتار QUIC + افزونگی ~۳۰٪ (پیشفرض)
ratholectl kcp on 443 lossy # loss زیاد روی مسیر → parity بیشتر
ratholectl kcp on 443 aggressive # کمترین لتنسی (mode fast3، پنجره بزرگ)
# روی نود (همان پروفایل):
ratholenode kcp on <IRAN_IP>:443 <KEY> <profile>- balanced: حالت عادی. شروع از این.
- lossy: اگر هنوز بافر داری و
mtrلاس بالا نشان میدهد (مثلاً >۸٪). - aggressive: اگر پهنایباند کافی است و فقط لتنسی/پایداری میخواهی (parity ۴، mode تهاجمی).
- خاموشکردن و برگشت به websocket/۴۴۳:
ratholenode kcp off.
استتار: پورت ۴۴۳ روی UDP برای DPI شبیه QUIC/HTTP3 است و با nginx (TCP/443) تداخل ندارد.
اگر شبکه UDP بینالمللی را throttle کرد، یا kcp off کن یا سراغ لایهی obfs برو (پایین).
از قبل تنظیم شده: proxy_buffering off، tcp_nodelay، timeoutهای طولانی، worker_connections بالا (با tune).
نکتهها:
- روی مسیر داده فقط passthrough است؛ جای فشردنِ زیادی نمانده.
- اگر
nginx -tخطا نداد وdoctorسبز بود، nginx مشکل سرعت نیست. - لاگ دسترسی را برای مسیرهای پرترافیک میتوانی خاموش کنی تا I/O کم شود (
access_log off;در location داده).
- mux=off (مهم).
- اگر کلاینت چند کانفیگ دارد، برای ریلز از کانفیگی استفاده کند که روی kcp است.
- در v2rayNG/نکوباکس:
TCP no delayروشن،Muxخاموش، concurrency پایین. - اگر کاربر موبایل است و وایفای/همراه قاطی میشود،
tcpKeepAliveکمک میکند اتصال زود نمیرد.
- اگر همهی موارد بالا انجام شد و باز کند بود، احتمالاً IP نود throttle/کثیف است.
- یک نود/IP تمیزتر امتحان کن؛ با
upstreamمیتوانی نود دوم را موازی اضافه کنی و کاربران را تقسیم کنی. mtrاز نود به مقصد (اینستاگرام) را هم ببین، نه فقط نود↔ایران.
اگر UDP/443 کافی نبود و شبکه kcp را اذیت کرد، میتوان UDP را پشت یک لایهی fake-TCP/obfs برد:
- ابزار:
udp2raw(روی هر دو سرور) که UDP را بهشکل TCP درمیآورد و obfs دارد. - این فعلاً در اسکریپت خودکار نشده (برای جلوگیری از پیچیدگی تستنشده). اگر خواستی بگو تا بهصورت یک زیرفرمان افزودنی (
kcp obfs on) اضافه و در سندباکس تست کنم.
tuneروی هر دو سرور +BBRرا چک کن.mux=offو sockopt روی Xray/کلاینت.- تونل:
kcp on 443 balanced→ تست ریلز → اگر لازم بودlossy/aggressive. - DNS سریع روی نود.
- اگر باز کند بود → نود/IP تمیزتر، یا obfs.
هر مرحله را جدا تست کن تا بفهمی کدام واقعاً کمک کرد.