فهرست مطالب
- ۱مقدمه: چرا ایجاد تانل بین چند سرور با WireGuard یک ضرورت است؟
- ۲۱. نصب WireGuard روی هر سرور لینوکسی
- ۳۲. تولید کلیدهای رمزنگاری امنیتی WireGuard
- ۴۳. پیکربندی فایلهای کانفیگ wg0.conf
- ۵۴. راهاندازی، فعالسازی و تست سرویس WireGuard
- ۶۵. تست اتصال و پینگ بین سرورها
- ۷۶. رفع مشکلات رایج و عیبیابی شبکه
- ۸جمعبندی نهایی
مقدمه: چرا ایجاد تانل بین چند سرور با WireGuard یک ضرورت است؟
در دنیای امروز که امنیت و ارتباطات رمزنگاریشده در شبکهها بسیار حیاتی شده است، استفاده از فناوریهای پیشرفته مانند مستندات رسمی WireGuard به یک انتخاب بیرقیب برای اتصال امن سرورها تبدیل شده است. پروتکل WireGuard یک شبکه خصوصی مجازی (VPN) بسیار ساده، مدرن، فوقالعاده سریع و قدرتمند است که به مدیران سیستم اجازه میدهد ساختارهای ایزوله و امن خلق کنند.
در این راهنمای تخصصی، نحوه اتصال چند سرور لینوکس از طریق تانل وایرگارد را با جزئیات کامل بررسی خواهیم کرد. فرض کنید سه سرور مجازی ایران از دیتاسنترهای مختلف در اختیار داریم:
- سرور اول (رسپینا): (IP عمومی:
192.168.1.10، IP خصوصی:10.10.10.1) - سرور دوم (پیشگامان): (IP عمومی:
192.168.1.20، IP خصوصی:10.10.10.2) - سرور سوم (شاتل): (IP عمومی:
192.168.1.30، IP خصوصی:10.10.10.3)
هدف ما ساخت یک شبکه خصوصی مش (Mesh Network) است که این سرورها بدون درگیری با محدودیتهای پورت یا نیاز به آیپی عمومی اضافی، به صورت امن با یکدیگر تبادل داده داشته باشند.
پیش از اینکه وارد مراحل کانفیگ شبکه شویم، اگر سرورهای شما تازه خریداری شدهاند، حتماً مقاله جامع صفر تا صد کانفیگ سرور مجازی لینوکس (اوبونتو) را برای تامین امنیت اولیه مطالعه کنید.

۱. نصب WireGuard روی هر سرور لینوکسی
برای راهاندازی ساختار تانل وایرگارد، گامهای زیر را روی تمامی سرورهای خود به صورت مجزا اجرا کنید:
- بهروزرسانی مخازن سیستمعامل و نصب پکیج وایرگارد:
sudo apt update && sudo apt install wireguard -y
- اطمینان از نصب موفقیتآمیز و بررسی نسخه پکیج:
wg --version
همچنین برای بهینهسازی کامل کارتهای شبکه و افزایش پهنای باند سرور خود، میتوانید نگاهی به مقاله آموزش جامع بهینهسازی سرور مجازی اوبونتو (افزایش سرعت + کاهش پینگ) بیندازید.
۲. تولید کلیدهای رمزنگاری امنیتی WireGuard
پروتکل WireGuard بر پایه رمزنگاری نامتقارن (Public/Private Key) بنا شده است. برای هر سرور باید یک جفت کلید اختصاصی تولید کنیم.
- در ترمینال هر سرور دستور زیر را وارد کنید تا کلیدها ساخته شوند:
wg genkey | tee privatekey | wg pubkey > publickey
- برای اطمینان، محتوای کلیدها را بررسی کنید (کلید عمومی را باید در سرورهای دیگر به عنوان Peer معرفی کنید):
cat privatekey cat publickey
نکته امنیتی حیاتی: فایل
privatekeyحکم رمز عبور ریشه را دارد، بنابراین دسترسی آن را کاملاً محدود کنید:
chmod 600 privatekey
۳. پیکربندی فایلهای کانفیگ wg0.conf
حالا باید ساختار شبکه خصوصی را با ایجاد فایل پیکربندی wg0.conf در مسیر /etc/wireguard/ تعریف کنیم.
پیکربندی سرور ۱ (رسپینا)
- فایل کانفیگ را باز کنید:
sudo nano /etc/wireguard/wg0.conf
- محتوای زیر را جایگزین کنید (کلیدهای خصوصی و عمومی مربوطه را قرار دهید):
[Interface] PrivateKey = <PRIVATE_KEY_SERVER_1> Address = 10.10.10.1/24 ListenPort = 51820 [Peer] PublicKey = <PUBLIC_KEY_SERVER_2> AllowedIPs = 10.10.10.2/32 Endpoint = 192.168.1.20:51820 PersistentKeepalive = 25 [Peer] PublicKey = <PUBLIC_KEY_SERVER_3> AllowedIPs = 10.10.10.3/32 Endpoint = 192.168.1.30:51820 PersistentKeepalive = 25
- محافظت از فایل کانفیگ:
chmod 600 /etc/wireguard/wg0.conf
پیکربندی سرور ۲ (پیشگامان)
فایل کانفیگ این سرور را مشابه الگوی زیر تنظیم کنید:
[Interface] PrivateKey = <PRIVATE_KEY_SERVER_2> Address = 10.10.10.2/24 ListenPort = 51820 [Peer] PublicKey = <PUBLIC_KEY_SERVER_1> AllowedIPs = 10.10.10.1/32 Endpoint = 192.168.1.10:51820 PersistentKeepalive = 25 [Peer] PublicKey = <PUBLIC_KEY_SERVER_3> AllowedIPs = 10.10.10.3/32 Endpoint = 192.168.1.30:51820 PersistentKeepalive = 25
پیکربندی سرور ۳ (شاتل)
تنظیمات نهایی برای سرور سوم به شکل زیر خواهد بود:
[Interface] PrivateKey = <PRIVATE_KEY_SERVER_3> Address = 10.10.10.3/24 ListenPort = 51820 [Peer] PublicKey = <PUBLIC_KEY_SERVER_1> AllowedIPs = 10.10.10.1/32 Endpoint = 192.168.1.10:51820 PersistentKeepalive = 25 [Peer] PublicKey = <PUBLIC_KEY_SERVER_2> AllowedIPs = 10.10.10.2/32 Endpoint = 192.168.1.20:51820 PersistentKeepalive = 25
علاوه بر این پروتکل، اگر در پروژههای شبکه خود به راهاندازی ساختارهای جایگزین یا پروتکلهای لایه ۲ نیاز دارید، مطالعه مقاله آموزش راه اندازی L2TP روی سرور لینوکس دیدگاه وسیعتری به شما خواهد داد.
۴. راهاندازی، فعالسازی و تست سرویس WireGuard
پس از اعمال تنظیمات در تمام سرورها، سرویس WireGuard را استارت کنید:
- فعالسازی سرویس در بوت سیستم و اجرای آن:
sudo systemctl enable wg-quick@wg0 sudo systemctl start wg-quick@wg0
- بررسی وضعیت سلامت سرویس:
sudo systemctl status wg-quick@wg0
- نمایش جزییات پکتها و تانل فعال:
sudo wg show
۵. تست اتصال و پینگ بین سرورها
برای اطمینان از برقراری ارتباط پایدار در شبکه مش ایجاد شده، از آیپیهای خصوصی داخل تونل استفاده کنید:
- دستورات تست از سرور اول:
ping 10.10.10.2 ping 10.10.10.3
- دستورات تست از سرور دوم:
ping 10.10.10.1 ping 10.10.10.3
- دستورات تست از سرور سوم:
ping 10.10.10.1 ping 10.10.10.2
۶. رفع مشکلات رایج و عیبیابی شبکه
آزاد کردن پورت در فایروال
اگر پکتهای پینگ برقرار نشد، مطمئن شوید که پروتکل UDP روی پورت 51820 در فایروال سرورها مسدود نشده است:
sudo ufw allow 51820/udp
بررسی جدول مسیردهی (Routing Table)
جهت تایید مسیرهای شبکه مجازی ایجاد شده، دستور زیر را اجرا کنید:
ip route show
اگر به ساختار DNS اختصاصی برای بازی یا سیستمهای داخلی سرور نیاز دارید، پیشنهاد میکنیم مقاله تخصصی آموزش ساخت DNS گیمینگ با سرور مجازی را بررسی کنید.
جمعبندی نهایی
با راهاندازی تانل وایرگارد توانستیم ارتباطی ایمن، رمزنگاریشده و پایدار بین چندین سرور مجزا ایجاد کنیم. این متد به دلیل سرعت بالا و حجم کد بسیار کم، برترین استاندارد شبکه برای ارتباط بین دیتاسنترها به شمار میرود.
به دنبال بستر ابری پرسرعت برای راهاندازی شبکههای توزیعشده هستید؟
پیادهسازی موفق تانلهای امن نیازمند سرورهایی با پورت قدرتمند و پایداری شبکه ۱۰۰٪ است. همین حالا میتوانید برای تهیه سرور مجازی ایران از ایران وی ام (IRVM) اقدام کنید و سرویس خود را با تحویل آنی دریافت نمایید.
این مقاله چطور بود؟
گزینه ای را که بیشتر با نظرتان جور است انتخاب کنید.





دیدگاه ها
هنوز دیدگاهی ثبت نشده است، اولین نفر باشید.