radkesvat / WaterWall

WaterWall is an unidentifiable mechanism for bypassing GFW. This includes the new trojan protocol, explains its underlying ideas, and provides a guide to it.
Mozilla Public License 2.0
206 stars 30 forks source link

پیشنهاد برای روش لودبالانسینگ #75

Closed lostsoul6 closed 1 day ago

lostsoul6 commented 3 days ago

درود مهندس @radkesvat وقت بخیر ،

الان wiki رو داشتم مطالعه میکردم برای روش لودبالانس . ایده خوبی هست ولی یه ایراد داره که خودتون هم فرمودید . اینکه نیاز هست روی هر دو سرور خارج ما بیایم و xray مشابه نصب کنیم . این مورد عملی نیست به نظرم چون مثلا ما که سرویس رایگان با حجم های پایین ارائه میدیم به تعداد نفرات زیاد ، برامون مهم هست که کاربر سر حجمی که براش تعریف شده متوقف بشه .

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

برای همین وقتی بهش فکر کردم گفتم خوب میشه اگر ترافیک خروجی از سرور ایران به دو سرور مجازی خارج مثلا آلمان و هلند بره ولی xray روی هلند باشه فقط و آلمان این وسط فقط به عنوان واسطه باشه بین ایران و هلند .

اینطوری از نظر فیلترچی ترافیک خروجی ایران همچنان داره به مقصد های مختلف میره و از مقصد های مختلف دریافت میشه ولی xray یه دونه هست و دیگه تداخل ندارن .

یه همچین چیزی مثلا :

flowchart

نمیدونم این اصلا از نظر فنی مقدور هست یا نه ولی خواهشا یه بررسی بکنید اگر ممکن بود یه قابلیت اضافه کنید که بشه مقصد xray رو داخل کانفیگ مشخص کرد و سایر سرورهای خارج فقط نقش هدایت ترافیک رو داشته باشن . تشکر

navid4132 commented 3 days ago

این روش قابل اجرا هست و قبلا هم به صورت راند رابین روی اسکریپت RTT بود. بعنوان مثال شما 1 سرور مرکزی دارین که هسته xray داره - 7 سرور دارین بعنوان سرور میانی که از طریق سرور یا سرورهای ایران عمل تقسیم ترافیکو انجام میدن - و یک یا چند سرور ایران. در این نمونه ترافیک از سرور ایران به سرورهای لودبالانس ارسال میشه و سرور های لودبالانس ترافیکو فوروارد میکنن به سرور مرکزی- اگر یکی از سرور های لودبالانس به هر دلیلی از شبکه خارج بشه سرور های دیگه عمل انتقال ترافیکو انجام میدن(همون داستان failover هستش) روی سرور مرکزی هم میشه اسکریپت اجرا کرد ولی اگر اجرا هم نکنین مشکلی پیش نمیاد چون در هر صورت سرور های لود بالانس ارتباط بین ایران با سرور مرکزی برقرار میکنن. مثل تصویر زیر:

LB7

lostsoul6 commented 3 days ago

وقت بخیر @navid4132 . سرورهای لودبالانس یعنی LB1 تا LB7 سرورهای خارج هستند یا ایران؟

navid4132 commented 3 days ago

وقت بخیر @navid4132 . سرورهای لودبالانس یعنی LB1 تا LB7 سرورهای خارج هستند یا ایران؟

ایران= IR-SRV سرور های لودبالانس = LB سرور مرکزی = Center-SRV

radkesvat commented 3 days ago

این همون روش دومه که گفتم کم طرفداره توی همون داکیومنت لود بالانسینگ

اجراش راحته تنها کاری که باید بکنید اینه که (اگه المان میخواد به هلند برسه در نهایت)

در کانفیگ فایل سرور آلمان نود آخر که ادرسش معمولا 127.0.0.1 هست ؛ اونجا ادرس و پورت سرور هلند رو بدید

lostsoul6 commented 3 days ago

ممنون بابت پاسختون @radkesvat

توی این حالتی که فرمودید ، همه ترافیک همه نود ها از طریق سرور هلند به ایران برمیگرده؟ اینطور اگر باشه فکر کنم باعث اکسس شدن بشه .

radkesvat commented 3 days ago

نه از همون مسیر هلند به آلمان و بعد به ایران بر میگرده