-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
11 changed files
with
206 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
--- | ||
title: "زنجیره پراکسی ها" | ||
weight: 4 | ||
description: > | ||
استفاده از چندین سرور به صورت زنجیره پشت سر هم | ||
--- | ||
|
||
به صورت عمومی، استفاده از ارتباط مستقیم کاربر با سرور اصلی توصیه نمیشود. این کار باعث امنیت پایین و تشخیص زود هنگام سرور شما توسط فیلترچی و ربات ها میشود. | ||
|
||
## پرکاربرد ترین پراکسی ها | ||
خود نرم افزار xray به عنوان یک پراکسی قوی با امکانات زیاد برای پنهان شدن از دید فیلترچی استفاده میشود. به دلیل استفاده زیاد از این نرم افزار، فیلترچی به دنبال شناسایی و فیلترکردن ارتبطات با این سرورهاست. برای اینکه سرور اصلی از گزند فیلترچی در امان بماند، بهتر است از ترکیب یک یا چند پراکسی دیگر استفاده کرد. | ||
|
||
### ۱. سرویسهای ابری | ||
سرویس های ابری امروزه به عنوان یکی از پر کاربرد ترین روشها برای افزایش امنیت، سرعت و راحتی وب سایت ها به کار میرود. شما میتوانید با پنهان کردن سرور خود پشت این سرویس ها به مخفی سازی سرور اصلی کمک کنید. | ||
![](../cloud-proxy.png) | ||
{{< alert color="success" title="مزایا" >}} | ||
* سادگی | ||
* وجود سرویس های رایگان | ||
* امکان استفاده از سرویس های grpc,WebSocker,HTTP,H2 | ||
{{< /alert >}} | ||
{{< alert color="warning" title="معایب" >}} | ||
* دارای قوانین متفاوت | ||
* لزوم تغییر آدرس ها | ||
* امکان فیلتر شدن آدرس های سرویس ابری | ||
* امکان استفاده از پورت های محدود و مشخص در نسخه رایگان | ||
{{< /alert >}} | ||
|
||
### ۲. سرور پراکسی محلی | ||
با استفاده از یک نرم افزار پراکسی نظیر nginx و یا HAproxy روی یک سرور محلی میتوانید ترافیک کاربران را به جای ارسال مستقیم به خارج، به سرور محلی بفرستید. این ترکیب نیاز به داشتن اطلاعات کافی برای تنظیم این نرم افزارها دارد. | ||
![](../local-proxy.png) | ||
{{< alert color="success" title="مزایا" >}} | ||
* امکانات بیشتر | ||
* فیلترینگ روی دیتاسنترهای محلی کمتر اعمال میشود | ||
* تغییر آدرس و ارسال درخواست ها با پارامتر های مناسب | ||
* استفاده رایگان از نرم افزار | ||
* امکان استفاده از پرتکل های بیشتر | ||
{{< /alert >}} | ||
{{< alert color="warning" title="معایب" >}} | ||
* نیاز به کار با محیط متنی و اتصال به سرور | ||
* همه درخواست ها با آدرس سرور محلی در سرور خارج دریافت میشود | ||
* سرور محلی باید خریداری شود | ||
* محدودیت های دیتاسنترهای محلی | ||
* خطر شناسایی خریدار سرور | ||
{{< /alert >}} | ||
|
||
### ۳. استفاده از Port forward | ||
با استفاده از نرم افزار iptables در لینوکس، شما میتوانید از ویژگی port forward استفاده کنید. | ||
![](../iptables-portforward.png) | ||
|
||
برای این کار باید از دیتاسنترهای محلی سرور تهیه کنید و تنظیمات زیر را روی سرور اعمال کنید: | ||
|
||
توضیح: آدرس فرضی a.b.c.d برای آدرس IP سرور خارج درنظر گرفته شده. لطفا با آدرس واقعی تعویض شود. | ||
``` | ||
iptables -A PREROUTING -p tcp -m tcp --dport 22 -j ACCEPT | ||
iptables -A PREROUTING -p icmp -j ACCEPT | ||
iptables -A PREROUTING -j DNAT --to-destination a.b.c.d | ||
``` | ||
1. دستور اول پورت ssh را برای دسترسی به سرور محلی استثنا میکند. | ||
2. دستور دوم برای عدم ارسال ping به سرور خارج استفاده شده. | ||
3. دستور سوم بقیه درخواست ها را به آدرس سرور خارج ارسال میکند | ||
|
||
{{< alert color="success" title="مزایا" >}} | ||
* سادگی | ||
* فیلترینگ روی دیتاسنترهای محلی کمتر اعمال میشود | ||
* قابلیت استفاده از همه پروتکل ها | ||
* در صورت فیلتر شدن سرور خارجی، میتوان به راحتی با تغییر دستور سوم، سرور جدید را معرفی کرد | ||
{{< /alert >}} | ||
{{< alert color="warning" title="معایب" >}} | ||
* نیاز به کار با محیط متنی و اتصال به سرور | ||
* همه درخواست ها با آدرس سرور محلی در سرور خارج دریافت میشود | ||
* سرور محلی باید خریداری شود | ||
* محدودیت های دیتاسنترهای محلی | ||
* خطر شناسایی خریدار سرور | ||
{{< /alert >}} | ||
|
||
### ۴. استفاده از dokodemo-door | ||
این مدل میتواند تا حدودی بهتر از مدل قبلی کار کند، ولی از نظر نوع کارکرد مشابه هستند. | ||
|
||
تفاوت اصلی این روش این است که ترافیک دریافت شده قابلیت گذر از تنظیمات مسیریابی xray را دارد و میتوان با x-ui تمامی عملیات ها را با پنل وب انجام داد. | ||
|
||
برای اینکار میبایست روی سرور محلی سرور xray و یا x-ui را نصب کرده و برای هر سرویس یک dokodemo-door با پورت مجزا تعیین کنید. | ||
در تنظیم زیر پورت ۸۴۴۳ سرور محلی به پورت ۸۴۴۳ از سرور خارج ارسال میشود: | ||
```json | ||
{ | ||
"listen": null, | ||
"port": 8443, | ||
"protocol": "dokodemo-door", | ||
"settings": { | ||
"address": "a.b.c.d", | ||
"port": 8443, | ||
"network": "tcp", | ||
"followRedirect": false, | ||
} | ||
} | ||
``` | ||
تنظیم مشابه در x-ui: | ||
![](../dokodemo-door.png) | ||
|
||
{{< alert color="success" title="مزایا" >}} | ||
* سادگی | ||
* امکان استفاده از روتینگ ها و امکانات xray | ||
* فیلترینگ روی دیتاسنترهای محلی کمتر اعمال میشود | ||
* قابلیت استفاده از همه پروتکل ها | ||
* در صورت فیلتر شدن سرور خارجی، میتوان به راحتی با تغییر آدرس، از سرور جدید استفاده کرد | ||
{{< /alert >}} | ||
{{< alert color="warning" title="معایب" >}} | ||
* همه درخواست ها با آدرس سرور محلی در سرور خارج دریافت میشود | ||
* سرور محلی باید خریداری شود | ||
* محدودیت های دیتاسنترهای محلی | ||
* خطر شناسایی خریدار سرور | ||
{{< /alert >}} | ||
|
||
### ۵. زنجیره xray | ||
یکی از قابلیت های فوق العاده نرم افزارهای v2ray/xray امکان اتصال به به سرور دیگر و تشکیل زنجیره پراکسی هاست. به طور کلی، دو بخش مهم این نرم افزار ها به ایجاد زنجیره کمک میکنند: | ||
1. inbound: وظیفه دریافت درخواستها را دارد | ||
2. outbound: وظیفه ارسال درخواستها را دارد | ||
|
||
در واقع نرم افزار سمت کاربر هم از همین متد برای اتصال استفاده میکند. سپس تمام ترافیک را به خروجی (outbound) ارسال میکند. | ||
در سرور هدف، ترافیک ورودی (inbound) دریافت شده و به خروجی (outbound) ارسال میشود. این زنجیره ادامه دارد تا اینکه یک سرور که در دنیای اینترنت آزاد قرار دارد، از طریق پروتکل هایی نظیر freedom در بخش outbound خود بتوانند درخواست کاربر اولیه را به سرور مقصد هدایت کنند. | ||
|
||
![](../xray-chain.png) | ||
|
||
در این میان، نقش بخش هایی نظیر routing برای مسیردهی به درخواست ها باید در نظر گرفته شود.(خطوط آبی در شکل بالا) | ||
|
||
برای استفاده از مزایای این روش، میبایست خروجی سرورها به سرور بعدی متصل شود. | ||
|
||
نمونه تنظیم بخش خروجی (outbound)در تنظیمات xray: | ||
|
||
```json | ||
"outbounds": [ | ||
{ | ||
"tag": "next_xray", | ||
"protocol": "vless", | ||
"settings": { | ||
"vnext": [ | ||
{ | ||
"address": "a.b.c.d", | ||
"port": 1443, | ||
"users": [ | ||
{ | ||
"id": "", | ||
"encryption": "none" | ||
} | ||
] | ||
} | ||
] | ||
}, | ||
"streamSettings": { | ||
"network": "tcp", | ||
"security": "none" | ||
} | ||
}, | ||
{ | ||
"protocol": "freedom", | ||
"settings": {}, | ||
"tag": "direct" | ||
}, | ||
{ | ||
"protocol": "blackhole", | ||
"settings": {}, | ||
"tag": "blocked" | ||
} | ||
], | ||
``` |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: "تانل معکوس" | ||
weight: 5 | ||
description: > | ||
تانل از سرور خارج به سرور داخلی با روش تانل معکوس (reverse) | ||
--- | ||
|
||
در حال آماده سازی... |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.