مستندات / راهنمای کامل iMonitor / راه‌اندازی تونل بین سرور A و سرور B

IMONITOR DOCS

راه‌اندازی تونل بین سرور A و سرور B

اگر هدف شما ایجاد تونل میان دو سرور است، بهتر است از ابتدا با منطق «دو سر» فکر کنید. در بیشتر تونل‌ها، یک سمت را سرور A و سمت دیگر را سرور B در نظر می‌گیریم و مقادیر inner/outer را به‌صورت جفت وارد می‌کنیم.

1

پیش از ساخت تونل، این مفاهیم را بشناسید

Outer Local / Outer Remote: IPهای واقعی دو سرور روی اینترنت

Inner Local CIDR: IP داخلی همین سرور در تونل

Inner Probe: IP داخلی سمت مقابل که برای بررسی تونل به آن probe می‌زنید

Interface: نام اینترفیس ایجادشده روی سیستم‌عامل

Tunnel Key / if_id: شناسه‌ی مشترک یا کلید لازم برای بعضی تونل‌ها مانند ESP/XFRM

نکته

در تونل‌های point-to-point بهتر است برای هر تونل یک subnet داخلی جدا در نظر بگیرید تا IPهای داخلی میان تونل‌های مختلف تداخل نداشته باشند.

2

راه‌اندازی ساده‌ی تونل

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

1

روی سرور A یک تونل بسازید

عنوان، نوع Tunnel، پروتکل تونل، Outer Remote و Inner Local / Inner Probe را کامل کنید.

2

روی سرور B تونل جفت را بسازید

همان اطلاعات را به‌شکل معکوس وارد کنید؛ یعنی Outer Remote به IP سرور A اشاره کند و Inner Local و Inner Probe نیز جابه‌جا شوند.

3

وضعیت مانیتور را بررسی کنید

اگر اینترفیس ساخته شد و inner probe پاسخ داد، مانیتور تونل به وضعیت up می‌رسد.

هشدار

در تونل‌هایی مثل ESP/XFRM یا WireGuard، حتی در راه‌اندازی ساده نیز لازم است دو سمت با مقادیر هماهنگ ساخته شوند. اگر فقط یک سمت را بسازید، ایجاد interface لزوما به‌معنای سالم بودن تونل نیست.

ویدیوی ساخت تونل در راه‌اندازی ساده

در این ویدیو، ساخت یک تونل پایه بین سرور A و سرور B را با فرم ساده نمایش دهید.

3

راه‌اندازی پیشرفته‌ی تونل

راه‌اندازی پیشرفته زمانی کاربرد دارد که به کنترل دقیق نام interface، tunnel key، نسخه‌ی IP، outer local، source interface، حالت همیشه‌فعال و سایر پارامترهای تخصصی نیاز دارید.

استفاده از Interface سفارشی برای قابل تشخیص بودن تونل در لینوکس

تعیین Source Interface یا Outer Local برای مسیرهای پیچیده‌تر

تنظیم Tunnel Key مشترک برای پروتکل‌هایی که به if_id یا شناسه‌ی مشترک نیاز دارند

کنترل وضعیت مورد انتظار و همیشه‌فعال بودن مانیتور

4

مرجع کامل پروتکل‌های تونل

GRE

یکی از ساده‌ترین تونل‌های لایه‌ی 3 است و برای سناریوهای عمومی نقطه‌به‌نقطه بسیار مناسب است.

IPIP و IPv4-in-IPv4

برای عبور ترافیک IP روی IP و سناریوهای سبک مناسب است. در بعضی کرنل‌ها محدودیت نام اینترفیس یا تداخل با tunl0 وجود دارد.

IPv6 Encapsulation (SIT)

برای سناریوهای مبتنی بر IPv6 روی IPv4 و استفاده از تونل SIT مناسب است.

ETHERIP و ENCAP/GUE

برای بعضی سناریوهای خاص لایه‌ی 2 یا encapsulation پیشرفته استفاده می‌شود و به پشتیبانی کرنل وابسته است.

L2TPv3

برای تونل‌های لایه‌ی 2 یا point-to-point گزینه‌ی قدرتمندی است، اما باید جفت‌سازی دو سمت با دقت انجام شود.

ESP/XFRM

برای سناریوهای ایمن‌تر و مبتنی بر XFRM/IPsec استفاده می‌شود. این پروتکل به هماهنگی state/policy و if_id دو طرف وابسته است.

WireGuard

برای تونل‌های سریع و سبک با کلید عمومی/خصوصی مناسب است و در بسیاری از سناریوها به‌عنوان گزینه‌ی عملیاتی پیشنهادی شناخته می‌شود.

TUN over UDP/TCP/ICMP/BIP

برای زمانی کاربرد دارد که نیاز دارید یک interface مجازی را روی یک ترنسپورت مشخص حمل کنید. پایداری هر حالت به محیط شبکه و ابزارهای کمکی وابسته است.

SSH و Reverse SSH

برای سناریوهایی که از تونل SSH برای حمل ترافیک یا ساخت کانال معکوس استفاده می‌کنند مناسب است.

ویدیوی تونل در راه‌اندازی پیشرفته

در این ویدیو، تنظیم یک تونل پیشرفته‌تر با Interface، Inner/Outer و پارامترهای تکمیلی را نشان دهید.

ویدیوی تونل در راه‌اندازی پیشرفته

ویدیوی دوم را برای سناریوی Server A / Server B و فرم پیشرفته ضبط کنید.

5

نمونه‌ی کامل بین سرور A و سرور B

1

ابتدا سرور A را بسازید

روی سرور A، Outer Remote را برابر IP سرور B بگذارید و Inner Local را IP اول این subnet تعریف کنید.

2

سپس سرور B را بسازید

روی سرور B، Outer Remote را برابر IP سرور A بگذارید و Inner Local را IP دوم همان subnet تعریف کنید.

3

تونل را از هر دو سمت بررسی کنید

پس از ایجاد interface، با ping از IP داخلی هر سمت به IP داخلی سمت مقابل، سالم بودن تونل را بسنجید.

مثال IPهای بیرونی
Server A: 94.0.0.1
Server B: 45.0.0.2
مثال Inner Pair برای تونل /30
Server A Inner Local: 10.10.20.1/30
Server A Inner Probe: 10.10.20.2

Server B Inner Local: 10.10.20.2/30
Server B Inner Probe: 10.10.20.1

مطالعه بعدی

راهنمای قبلی

ساخت مانیتورهای شبکه و سرویس

راهنمای بعدی

صفحه‌ی عمومی، دامنه، SSL و Nginx