پرش پورت
کاربران در چین گاهی گزارش میدهند که ISPهایشان اتصالهای UDP پایدار را مسدود یا محدود میکنند؛ اما این محدودیتها اغلب فقط به همان پورتی که استفاده میشود اعمال میشود. «پرش پورت» میتواند برای چنین وضعیتی راهحل موقتی باشد.
کلاینت
کلاینت Hysteria از قالب ویژهٔ آدرس چندپورته پشتیبانی میکند:
example.com:1234,5678,9012 # (1)!
example.com:20000-50000 # (2)!
example.com:1234,5000-6000,7044,8000-9000 # (3)!
- چند پورت جدا.
- یک بازهٔ پورت.
- ترکیب هر دو.
محدودیتی برای تعداد پورتهایی که مشخص میکنید وجود ندارد.
کلاینت برای اتصال اولیه یکی از پورتهای مشخصشده را بهصورت تصادفی انتخاب میکند و بهطور دورهای به پورت دیگری جابهجا میشود. گزینهٔ کنترل فاصلهٔ زمانی در بخش transport است:
توجه: میتوانید از
hopIntervalبرای فاصلهٔ ثابت یا ازminHopInterval/maxHopIntervalبرای فاصلهٔ تصادفی استفاده کنید. نمیتوانید هر دو را همزمان استفاده کنید.
با فرض اینکه سرور روی همهٔ پورتهایی که گفتید در دسترس باشد، فرایند پرش برای لایههای بالاتر شفاف است و نباید باعث از دست رفتن داده یا قطع اتصال شود.
سرور
بازهٔ پورت داخلی (فقط لینوکس)
در لینوکس، سرور Hysteria از گوشدادن روی بازهٔ پورت بهصورت داخلی پشتیبانی میکند. کافی است بازهٔ پورت را در فیلد listen مشخص کنید:
سرور روی اولین پورت بازه گوش میدهد و بهطور خودکار قوانین فایروال (با استفاده از nftables یا iptables) برای هدایت ترافیک سایر پورتها به پورت اول تنظیم میکند. قوانین هنگام خاموششدن سرور بهطور خودکار پاک میشوند.
توجه: نیاز به
nft(nftables) یاiptables/ip6tablesدر سیستم دارد. سرور ممکن است به مجوزهای مناسب (مثلاً root یاCAP_NET_ADMIN) برای تغییر قوانین فایروال نیاز داشته باشد.
تنظیم دستی
معمولاً لازم نیست، اما میتوانید با DNAT در iptables یا nftables پورتها را بهصورت دستی هدایت کنید:
در این مثال سرور روی پورت 443 گوش میدهد، اما کلاینت میتواند به هر پورتی در بازهٔ 20000–50000 وصل شود.