Skip to content

Latest commit

 

History

History
71 lines (39 loc) · 6.49 KB

Loadbalancer.md

File metadata and controls

71 lines (39 loc) · 6.49 KB

در این داکیومنت نحوه راه انداختن لود بالانسر رو توضیح میدم

قبل هر چیز ؛ یکمی باید جزیات رو بیان کنم تا کسی دچار مشکل نشه ؛ اول اینکه باید بدونید برنامه در سرور خارج نیازمند هیچ پورتی نیست! به طور دقیق تر بخوام بگم یعنی دستوری که روی سرور خارجتون میزنید رو اگر ۱۰ بار پشت سر هم اجرا کنید و یعنی 10 بار برنامه اجرا بشه ؛ باز هم بدون مشکل کار میکنه چون وابسته به پورتی نیست (دقت کنید این مثال بود اینکارو انجام ندید چون ۱ بار اجرا کافیه و برنامه خودش pool داخلی داره)

خوب حالا باید بدونیم لود بالانس یعنی چی ؛ لود بالانس یعنی سرور ایران به جای اینکه تمام دیتای کاربران رو به یه سرور خارج رد و بدل کنه ؛ بیاد دیتای کاربران رو بین ۲ یا ۳ یا تعداد بیشتری سرور خارج تقیسم کنه اینطوری هم سرعت و کیفیت کانکشن خوب میشه هم تشخیص دادنش خیلی خیلی سخت تر میشه و هم اگه یکی از سرور های خارج از دسترس خارج شد به هر دلیلی ؛ بغیه سرور ها هستن تا کانکشن رو سرپا نگه دارن

حالا با یه مثال لود بالانس رو توضیح میدم فرض کنیم من ۲ تا سرور خارج دارم به اسم های p1 و p2 پنل v2ray من روی p1 نصب شده و کاربرام روی اون هستن پس p1 سرور اصلی منه و p2 سرور کمکی سناریو اینجوریه که سرور ایران ترافیک رو بین این دوتا سرور تقسیم میکنه نصفش دست p1 میرسه که خوب سرور اصلیه و نصفش هم دست p2 میرسه که p2 این دیتا رو باید بفرسته به سرور اصلی که p1 باشه پس p2 دیتایی که میاد دتسش بدردش نمیخوره فقط باید این دیتا رو برسونه به سرور اصلی که p1 هست

خوب داخل سرور ایران باید اینجوری برنامه رو اجرا کنیم

./RTT --iran --peer:91.x.x.x --peer:164.x.x.x --lport:400-500 --password:123 --sni:sheypoor.com

نکته اول اینکه لودبالانسینگ با مالتی پورت تداخلی نداره میتونید به شکل مالتی پورت هم اجرا کنید که من اینجا مالتی پورت زدم برای مثال.

نکته دوم اینکه شما باید ایپی های سرور خارجتونو داخل سوییچ peer قرار بدین من ۲ تا سرور خارج داشتم پس ۲ بار سوییچ peer را استفاده کردم شما هرچند تا سرور خارج دارید میتونید به همین شکل اضافه کنید و اینکه ترتیبشون هم مهم نیست و همچنین مهم هم نیست کودوم سرور اصلیه کودوم کمکی

خوب حالا سرور خارجی اصلی که p1 روش برنامه رو به این شکل اجرا میکنیم

./RTT --kharej --iran-ip:x.x.x.x --iran-port:443 --toip:127.0.0.1 --toport:multiport --password:123 --sni:sheypoor.com

چون روی سرور خارجی اصلی بودیم ؛ topip رو گزاشتیم 127.0.0.1

خوب حالا در سرور دوم p2 اینطورعمل میکنیم

./RTT --kharej --iran-ip:x.x.x.x --iran-port:443 --toip:91.x.x.x --toport:multiport --password:123 --sni:sheypoor.com

اینجا نکته مهم toip هست که باید ایپی سرور اصلی خارج p1 رو قرار بدین که دیتا برسه دست سرور اصلی که p1 هست

و تمام!‌ شما میتونید هر چند تا سرور خارج دیگه هم داشتین به همین شکل اضافه کنید برای تستش هم مثلا برنامه تونل را در سرور خارج اصلی ببندید و خواهید دید که کاربر هنوز وصله. یا همچنین میتونید برنامه روی سرور فرعی ببندید و باز هم کار بر وصل میمونه.


یه نکته ای هم همینجا بگم ؛ لود بالانسی که اینجا ازش حرف زدیم یعنی یه سرور ایران و چند تا سرور خارج ؛ حالت برعکس میشه یه سرور خارج و چند تا سرور ایران ؛ یعنی شما از دیتا سنتر های مختلف مثل اروان اسیا تک و غیره سرور ایران میخرید و به کاربرتون میتونید کانفیگ بدین که هرکودوم به سرور ایران مختلف اشاره کنن ولی درنهایت به یه سرور خارج وصل میشن.

نکته جالب اینه که این حالت هیچ نکته خاصی نداره ؛ برنامه رو کاملا عادی روی سرور های ایرانی که دارید اجرا کنید هیچ سوییچی هم اضافه نکنید اینطوری:

./RTT --iran --lport:443 --password:123 --sni:sheypoor.com

بعد بیاید روی سرور خارج ؛ فرض کنیم ما ۵ تا سرور ایران داشتیم ؛ روی سرور خارج پنج بار برنامه رو اجرا میکنیم ولی هربار اجرا که میکنیم ایپی یکی از سرور های ایران رو میدیم بهش مثلا :

./RTT --kharej --iran-ip:1.2.3.4 --iran-port:443 --toip:127.0.0.1 --toport:443 --password:123 --sni:sheypoor.com

./RTT --kharej --iran-ip5.6.7.8 --iran-port:443 --toip:127.0.0.1 --toport:443 --password:123 --sni:sheypoor.com

./RTT --kharej --iran-ip:9.10.11.12 --iran-port:443 --toip:127.0.0.1 --toport:443 --password:123 --sni:sheypoor.com

./RTT --kharej --iran-ip:12.13.14.15 --iran-port:443 --toip:127.0.0.1 --toport:443 --password:123 --sni:sheypoor.com

./RTT --kharej --iran-ip:16.17.18.19 --iran-port:443 --toip:127.0.0.1 --toport:443 --password:123 --sni:sheypoor.com

به همین راحتی ؛ حالت مالتی پورتم به اختیار اگه خواستید استفاده کنید اگرم نیازی نبود سینگل پورت استفاده کنید


در حالت لود بالانسر شاید بخواید پول سایز رو کم کنید؛ توضیحشو توی صفحه اصلی دادم که چیه

--pool:4

در دستور سرورهای خارج کاربرد دارد