یک پروکسی معکوس امن، پایدار و با کارایی بالا برای عبور از NAT، که با Rust نوشته شده است.
اسکریپت زیر را در سرور خود (دبیان یا اوبونتو اجرا کنید)
wget -Nq https://github.com/Musixal/rathole-tunnel/raw/main/rathole.sh && bash rathole.sh
پس از اجرای اسکریپت از طریق دستور درج شده در بالا
1️⃣ اول باید سرور ایران رو کانفیگ کنید. گزینه ۱ کانفیگ تانل رو بزنید. مجددا گزینه ی ۱ سرور ایران رو انتخاب کنید. ازتون پورت تانل رو میخواد. مثلا ۸۰۸۰ یا ۴۴۳ یا پورت موردنظر خودتون رو بزنید. الان تعداد کانفیگ هایی که میخواید تانل کنید و پورتش رو نیاز دارید رو بزنید. مثلا ۲ کانفیگ. به ترتیب پورت کانفیگ ها رو وارد کنید. در پایان نوع transport رو انتخاب کنید که tcp یا udp میتونه باشه. سرویس در سرور ایران راه اندازی و نصب میشه. با ریستارت سرور هم خودش اجرا میشه. کارمون اینجا تموم شد.
2️⃣ برای سرور خارج بعد از اجرای اسکریپت گزینه ۱ کانفیگ تانل و بعد گزینه ۲ یعنی سرور خارج رو میزنیم. اول تعداد سرورهای ایران رو وارد میکنید. بعد باید آدرس سرور ایران رو وارد کنید. بعد پورت تانل رو میخواد که باید با پورت تانل ایران یکی باشه. مجددا تعداد کانفیگ ها رو وارد کنید و پورت هایی که تو سرور ایران زدید رو باز همینجا وارد کنید. سپس نوع transport رو انتخاب کنید که tcp یا udp میتونه باشه. اگر تعداد سرور ایران بالای یکی باشه مجددا اطلاعات بالا رو برای سرور بعدی میخواد. سرویس سرور خارج راه اندازی و نصب میشه.
3️⃣ از طریق گزینه ۳ میتونید وضعیت سرویس رو ببینید. در سرور ایران باید سرویس سرور ایران سبز باشه و سرویس سرور خارج قرمز باشه. در سرور خارج هم سرویس سرور خارج باید سبز و سرویس ایران قرمز باشه، یعنی برعکس هم. اگر هر دو تا قرمز بودند پس یک جای کار ایراد داره. مثلا پورتی رو انتخاب کردید که توسط نرم افزار دیگه داره استفاده میشه. دقت کنید پورت تانل نباید با پورت کانفیگ مشترک باشه.
4️⃣ برای حذف فایل ها و پاکسازی کامل تانل گزینه ۲ یعنی destroy tunnel رو بزنید.
5️⃣ برای ریستارت سرویس های مربوطه گزینه ۵ رو بزنید.
6️⃣ پیشنهاد میشه یه کرون جاب برای ریستارت خودکار سرویس ها ایجاد کنید. برای این کار گزینه ۶ رو بزنید. بعد گزینه ی ۱ اضافه کردن کرون جاب رو بزنید. سرور مدنظر یعنی ایران یا خارج رو انتخاب کنید. تایمی که میخواید ریستارت سرویس انجام بشه رو انتخاب کنید. مثلا برای هر ۶ ساعت عدد ۴ رو بزنید. برای پاک کردن کرون جاب گزینه ۶ و بعد گزینه ۲ یعنی delete رو انتخاب کنید. اسکریپت فقط کرون جاب خودش رو پاک میکنه و به بقیه کرون جاب هاتون کاری نداره. کرون جاب رو باید روی هر دو تا سرور ایران و خارج تنظیم کنید و مقدارش هم یک ساعت مشخص باشه. مثلا هر دو تا سرور هر ۶ ساعت باشه.
7️⃣ میتونید روی هر چند تا سرور خارج اسکریپت رو اجرا کنید و همه رو به یک سرور ایران متصل کنید. توی گیت هاب پروژه آموزشش هست.
8️⃣ روی دبیان ۱۲ و اوبونتو تست شده و مشکلی نداره.
🔑 پیشنهاد میکنم برای حفظ امنیت تانلتون حتما این کار رو انجام بدید.
اسکریپت رو اجرا کنید و گزینه هفتم یعنی Change security token رو انتخاب کنید. اسکریپت، سرور ایران یا خارج رو خودش تشخیص میده و مقدار فعلی توکن و همچنین یه مقدار رندوم و مطمئن رو بهتون پیشنهاد میده و از شما یه توکن جدید میخواد. توکن رندوم یا هر پسوردی که مدنظرتون هست رو به اسکریپت بدید. بعد از این کار سرویس رت هول به صورت خودکار ریستارت میشه. این مقدار باید در هر دو سرور یکی باشه. پس برای هر دو سرورتون این کار رو انجام بدید و یک توکن واحد رو وارد کنید.
🟢 نحوه ی تانل چند سرور خارج به یک سرور ایران:
دقت کنید برای این کار باید پورت تانل بین همه سرورها یکسان باشد. مثلا ۳ سرور خارج دارید.
0️⃣ در سرور ایران ۳ کانفیگ با مشخصات زیر می سازید. شماره پورت ها رو میتونید به دلخواه تغییر بدید:
پورت تانل: ۸۰۸۰
پورت کانفیگ ۱: ۲۰۵۳
پورت کانفیگ ۲: ۲۰۵۷
پورت کانفیگ ۳: ۲۰۸۳
1️⃣ برای سرور خارج ۱ فقط یک کانفیگ میزنید:
پورت تانل: ۸۰۸۰
پورت کانفیگ: ۲۰۵۳
2️⃣ برای سرور خارج ۲ فقط یک کانفیگ میزنید:
پورت تانل: ۸۰۸۰
پورت کانفیگ: ۲۰۵۷
3️⃣ برای سرور خارج ۳ فقط یک کانفیگ میزنید:
پورت تانل: ۸۰۸۰
پورت کانفیگ: ۲۰۸۳
به این ترتیب هر پورت به یک سرور خارج تونل میشه. هر چقد سرور خارج داشته باشید میتونید متصل کنید و محدودیتی نداره. پورت عجیب غریب هم نزنید.
چیز خاصی نیست و از طریق اون میتونید ترافیک هر پورت رو تحت نظر داشته باشید. ارتباطی با تانل نداره. برای این کار گزینه ۶ از منوی اصلی رو انتخاب کنید. بعد گزینه ۱ اضافه کردن پورت ها رو میزنید.
به این صورت میشه پورت اضافه کرد:
8080, 443, 2058, 2056
هر تعداد پورت که نیاز داشت میتونید با کاما جدا کنید و اضافه کنید. بعد هم اگر خواستید میشه مجددا پورت اضافه کرد.
برای مشاهده ترافیک مصرفی گزینه ۶ از منوی اصلی و بعد گزینه ۲ یعنی view traffic usage رو انتخاب کنید.
برای حذف قوانین iptables گزینه ۶ از منوی اصلی و بعد گزینه ۳ رو انتخاب کنید. این اسکریپت فقط قوانین مربوط به خودش رو پاک میکنه و به بقیه قوانین ایجاد شده کاری نداره.
1️⃣ منابع سیستمتون رو چک کنید. درصد CPU Usage یا RAM بالا نباشه.
2️⃣ اسکریپت Optimizer نصب کنید. BBR مناسب کانفیگ کنید.
3️⃣ سرعت پورت سرورتون رو با iperf3 چک کنید. ممکنه مشکل از پورت سرورتون باشه.
4️⃣ پورت تانل و کانفیگ رو عوض کنید، گاها تاثیر خیلی زیادی داره.
5️⃣ در نهایت اگر هیچکدوم جواب نداد سرورتون رو ریبیلد کنید.
برای اطلاعات بیشتر کانال زیر را چک کنید: