VPN سازمانی یک تونل رمزشده روی اینترنت است که شبکه های شرکت یا کارمندان دور کار را به شبکه داخلی وصل می کند، طوری که انگار همان جا کنار هم نشسته اند. در جستجوهای فارسی، کلمه VPN اغلب به معنی عبور از فیلتر استفاده می شود. این مقاله درباره چیز دیگری است: اتصال امن شعبه ها و کارمندان به سرورها، فایل ها و برنامه های داخلی شرکت.
Site to Site و Remote Access
| موضوع | Site to Site | Remote Access |
|---|---|---|
| چه چیزی وصل می شود | یک شبکه به شبکه دیگر، مثل دفتر مرکزی و شعبه | یک کاربر با لپ تاپ یا موبایل به شبکه شرکت |
| تنظیم در | روتر یا فایروال دو سر | فایروال یا سرور VPN و نرم افزار کلاینت روی دستگاه کاربر |
| وضعیت اتصال | دائمی؛ کاربر چیزی نمی بیند | کاربر در صورت نیاز وصل می شود |
| احراز هویت | کلید یا گواهی دو دستگاه | نام کاربری و رمز، بهتر است با کد یک بار مصرف یا گواهی |
| کاربرد رایج | دسترسی شعبه به سرور مرکزی، ارتباط دو دفتر | کار از خانه، دسترسی تیم فنی به سرورها |
شرکتی که چند شعبه و چند کارمند دور کار دارد معمولاً هر دو را کنار هم می خواهد.
پروتکل ها
- IPsec استاندارد قدیمی و رایج بین دستگاه های مختلف است. تقریباً همه فایروال ها و روترها (FortiGate، Sophos، سیسکو، میکروتیک) آن را دارند، ولی کانفیگ دو طرف باید دقیقاً مطابق هم باشد و عیب یابی اش زمان می برد.
- WireGuard جدیدتر و ساده تر است. کانفیگ کوتاهی دارد، سرعت خوبی می دهد و در کرنل لینوکس و RouterOS نسخه 7 در دسترس است. در عوض، اگر دو طرف از برندهای مختلف باشند باید مطمئن شوید هر دو آن را پشتیبانی می کنند، و مدیریت کاربران زیاد به ابزار جانبی نیاز دارد.
- OpenVPN انعطاف زیادی دارد و روی همه سیستم عامل ها کلاینت دارد. معمولاً برای Remote Access استفاده می شود. سرعتش از WireGuard کمتر است.
- L2TP/IPsec و SSL VPN هم در بسیاری از فایروال ها برای کاربران دور کار دیده می شوند. SSL VPN در فایروال های تجاری گاهی بدون نصب برنامه جدا و از طریق مرورگر هم کار می کند.
پیش از راه اندازی چه چیزی باید روشن باشد
- دست کم یکی از دو سر Site to Site باید IP ثابت اینترنت داشته باشد. اگر هر دو IP پویا دارند، باید از سرویس DDNS یا یک سرور واسط استفاده کنید.
- آدرس شبکه شعبه ها نباید یکی باشد. اگر هر دو دفتر شبکه 192.168.1.0/24 دارند، مسیریابی بینشان کار نمی کند و یکی باید عوض شود. این از رایج ترین مشکل هاست، چون 192.168.1.0 آدرس پیش فرض بیشتر مودم هاست.
- فهرستی از منابعی که باید از راه دور در دسترس باشند: کدام سرور، کدام پورت، و کدام کاربر.
- بررسی اینکه ارائه دهنده اینترنت دو طرف پورت یا پروتکل VPN را نمی بندد.
یک نمونه کانفیگ WireGuard برای اتصال دو شعبه
در دفتر مرکزی (آدرس تونل 10.99.0.1، شبکه شعبه 192.168.20.0/24):
[Interface]
PrivateKey = <this-side-private-key>
Address = 10.99.0.1/30
ListenPort = 51820
[Peer]
PublicKey = <branch-public-key>
AllowedIPs = 10.99.0.2/32, 192.168.20.0/24
PersistentKeepalive = 25
خط AllowedIPs هم تعیین می کند چه ترافیکی از تونل رد شود و هم اینکه چه آدرس هایی از این همتا پذیرفته شوند. در شعبه همین فایل با کلید و آدرس های معکوس نوشته می شود. بعد از بالا آمدن تونل، فایروال هر طرف باید به شبکه طرف مقابل اجازه عبور بدهد. ساخت تونل خودش مسیریابی و دسترسی را باز نمی کند.
مشکل MTU
هر تونل چند بایت سرایند به هر بسته اضافه می کند، پس بسته بزرگ از اندازه مجاز لینک اینترنت بیشتر می شود. نشانه آن این است که ping و باز شدن صفحه های کوچک جواب می دهد ولی انتقال فایل بزرگ یا باز شدن بعضی سایت ها قطع می شود. راه حل کم کردن MTU روی رابط تونل است؛ مقدار پیش فرض WireGuard معمولاً 1420 است و برای بسیاری از لینک ها کار می کند. اگر مشکل ادامه داشت با ping همراه بیت DF اندازه مجاز را پیدا کنید:
ping -f -l 1400 192.168.20.10
این نسخه دستور مال ویندوز است. در لینوکس از ping -M do -s 1400 استفاده کنید.
Split tunnel و Full tunnel برای کارمند دور کار
در Remote Access باید تصمیم بگیرید ترافیک کاربر چطور برود:
- در split tunnel فقط ترافیک شبکه شرکت از VPN می گذرد و بقیه اینترنت کاربر مستقیم می رود. پهنای باند VPN کمتر مصرف می شود و کاربر کندی حس نمی کند.
- در full tunnel همه ترافیک کاربر از VPN و فایروال شرکت می گذرد. کنترل و لاگ بهتری می دهد، ولی پهنای باند شرکت و سرعت کاربر را به شدت تحت تأثیر می گذارد.
برای بیشتر شرکت های کوچک و متوسط، split tunnel با دسترسی محدود به سرورها شروع خوبی است. DNS را هم تنظیم کنید: کاربر باید نام سرورهای داخلی (مثل file01.ad.example.com) را با DNS شرکت حل کند، وگرنه VPN وصل می شود ولی نام ها پیدا نمی شوند.
وقتی تونل بالا نمی آید
برای عیب یابی از لایه های پایین شروع کنید:
- آدرس عمومی طرف مقابل از اینترنت در دسترس است؟ WireGuard با UDP روی پورت تعریف شده (مثلاً 51820) کار می کند. IPsec به UDP 500 و 4500 نیاز دارد. ارائه دهنده اینترنت یا فایروال ممکن است این پورت ها را بسته باشد.
- در WireGuard، دستور
wg showزمان آخرین handshake را نشان می دهد. اگر handshake وجود ندارد، کلیدها اشتباه اند یا بسته به طرف مقابل نمی رسد. - در IPsec، لاگ دو طرف را کنار هم بخوانید. معمولاً مشکل از ناسازگاری پارامترهای phase 1 یا phase 2 است: الگوریتم رمزنگاری، گروه Diffie-Hellman، مدت اعتبار کلید یا شناسه (ID) دو طرف.
- اگر یکی از دو سر پشت NAT است، NAT Traversal باید فعال باشد، و در WireGuard مقدار
PersistentKeepaliveبرای حفظ اتصال. - تونل بالا است ولی ترافیک رد نمی شود؟ مسیر شبکه مقابل را در جدول مسیریابی و AllowedIPs چک کنید و قاعده فایروال را ببینید.
- صفحه های کوچک باز می شوند ولی انتقال فایل قطع می شود؟ MTU را کم کنید.
sudo wg show
ip route get 192.168.20.10
پهنای باند و تأخیر
سرعت VPN از پایین ترین سرعت لینک دو طرف بیشتر نمی شود، و سرعت آپلود لینک شعبه معمولاً کمتر از دانلود است. اگر شعبه ای به نرم افزار حسابداری روی سرور دفتر مرکزی وصل می شود، تأخیر (ping) بین دو سایت بیشتر از پهنای باند مهم است. نرم افزارهایی که برای هر کار چند درخواست پشت سر هم می فرستند، با تأخیر بالا کند می شوند حتی اگر پهنای باند زیاد باشد. قبل از انتقال یک برنامه به سرور دور، آن را روی تونل واقعی تست کنید.
دو لینک اینترنت برای هر شعبه (یکی اصلی و یکی پشتیبان) در اتصال های حساس مناسب است. روتر می تواند هر دو تونل را نگه دارد و هنگام قطع یکی، ترافیک را به دیگری ببرد.
امنیت VPN
- برای ورود کاربران کد دومرحله ای بگذارید. رمز لو رفته یکی از رایج ترین مسیرهای ورود مهاجم به شبکه است.
- همه شبکه را برای هر کاربر باز نکنید. فقط به سرورها و پورت هایی که لازم دارد دسترسی بدهید و قاعده ها را روی فایروال بنویسید. اصول این کار در فایروال چیست آمده است.
- VPN را به روز نگه دارید. دستگاه های VPN و فایروال که روی اینترنت هستند هدف مستقیم مهاجم اند و آسیب پذیری های متعددی در آن ها منتشر شده است.
- برای کاربر یا دستگاه از دست رفته راهی برای ابطال دسترسی داشته باشید.
- لاگ اتصال ها را نگه دارید تا بدانید چه کسی، کی و از کجا وصل شده است.
- اگر شبکه به VLAN تقسیم شده، VPN را به VLAN مناسب ببرید و از شبکه مدیریت تجهیزات دور نگه دارید.
اشتباه های رایج
- دو شعبه آدرس شبکه یکسان دارند و تونل بالا می آید ولی ترافیک به مقصد نمی رسد.
- همه ترافیک شعبه از تونل به دفتر مرکزی می رود، در حالی که فقط ترافیک شبکه داخلی لازم بود. نتیجه کندی اینترنت شعبه است.
- تونل ساخته شده ولی قاعده فایروال در یکی از دو سر ننوشته اند.
- پورت VPN با رمز ضعیف و بدون محدودیت تلاش ورود روی اینترنت باز است.
- VPN یک نفر روی روتر شخصی در منزل برای دسترسی به شبکه شرکت راه انداخته شده است، بدون اینکه کسی در شرکت از آن خبر داشته باشد.
راه اندازی سرور VPN روی لینوکس در نصب OpenVPN و نصب WireGuard قدم به قدم آمده است.
اگر با مفهوم و انواع VPN آشنا نیستید، ابتدا VPN چیست را بخوانید.
منابع و مستندات رسمی
تنظیمات VPN روی روتر میکروتیک در VPN در میکروتیک قدم به قدم آمده و امن سازی خود روتر در تنظیمات امنیتی میکروتیک. اتصال شعبه ها و کارمندان دور کار را با طراحی کامل در راه اندازی VPN سازمانی و اتصال شعب پوشش داده شده است.



