راه اندازی OpenVPN میکروتیک رو توی این پست از بخش آموزش میکروتیک، یاد می‌گیریم. پس در ادامه با من همراه باشید.

اوپن وی پی ان یا OpenVPN یه پروژه اوپن سورس هست که باهاش میشه ارتباطات وی پی ان نقطه به نقطه (Point-to-Point) یا سایت به سایت (Site-to-Site) رو برقرار کرد.

اوپن وی پی ان به علت راحتی استفاده، پایداری بالا و امنیت، به یه سرویس محبوب تبدیل شده. این سرویس امکان ارتباط از بستر پروتکل‌های TCP و UDP رو داره. ضمنا از IPV6 و رمزنگاری TLS هم پشتیبانی می‌کنه.

ما می‌تونیم روتر میکروتیک یا سرور مجازی میکروتیک رو به یه سرور اوپن وی پی ان تبدیل کنیم تا کاربران بتونن از بستر اینترنت به شبکه متصل بشن.

در حال حاضر اوپن وی پی ان میکروتیک امکانات زیر رو نداره:

  • استفاده از بستر UDP
  • فشرده سازی LZO
  • پروتکل TLS
  • احراز هویت بدون Username و Password

(آخر پست، در مورد تغییرات OpenVPN میکروتیک توی RouterOS v7 نوشتم.)

مرحله اول راه اندازی OpenVPN میکروتیک: تنظیمات اولیه روتر

قبل از اینکه کانفیگ اوپن وی پی ان میکروتیک رو انجام بدیم، باید تنظیمات آی‌پی، Src NAT و Default Route رو انجام بدیم.

مرحله دوم راه اندازی OpenVPN میکروتیک: ساخت Certificateهای مورد نیاز برای OpenVPN میکروتیک

با استفاده از WinBox یا SSH به میکروتیک لاگین می‌کنیم و توی ترمینال دستورات زیر رو وارد می‌کنیم.

نکته: با این دستورات یه Certificate 10 ساله روی روتر ست می‌کنیم.

/certificate
add name=ca-template common-name=ramtiiin.ir days-valid=3650 key-size=4096 key-usage=crl-sign,key-cert-sign
add name=server-template common-name=*.ramtiiin.ir days-valid=3650 key-size=4096 key-usage=digital-signature,key-encipherment,tls-server
add name=client-template common-name=client.ramtiiin.ir days-valid=3650 key-size=4096 key-usage=tls-client

نکته: برای اوپن وی پی ان میکروتیک نیازی به وارد کردن common-name خاصی نیست. می‌تونیم هر آدرس دامنه یا آی‌پی رو وارد کنیم.

مرحله سوم راه اندازی OpenVPN میکروتیک: ساین کردن Certificateهای ساخته شده

برای این‌ مرحله از Open VPN میکروتیک، دستورات زیر رو توی ترمینال وارد می‌کنیم.

نکته1: اینکار بسته به قدرت CPU ممکنه زمان‌بر باشه. می‌بینیم که لود CPU بالا میره و به صد در صد می‌رسه. پس صبوری می‌کنیم و وقتی لود CPU کم شد دستور بعدی رو وارد می‌کنیم.

نکته 2: اگه توی ترمینال با ارور Operation Timeout مواجه شدیم، مشکلی نیست. صبر می‌کنیم تا بار CPU کم بشه و دستور بعدی رو وارد می‌کنیم.

/certificate
sign ca-template name=ca-certificate
sign server-template name=server-certificate ca=ca-certificate
sign client-template name=client-certificate ca=ca-certificate

مرحله چهارم راه اندازی OpenVPN میکروتیک: خروجی گرفتن از CA و Client

باید از CA و Client خروجی بگیریم تا باهاشون فایل ovpn بسازیم.

توی میکروتیک باید حتما passphrase رو وارد کنیم تا key رو در اختیارمون بذاره. هر مقداری که توی این مرحله وارد می‌کنیم باید همون رو توی مرحله ششم وارد کنیم.

دستورات زیر رو وارد می‌کنیم.

/certificate
export-certificate ca-certificate export-passphrase=""
export-certificate client-certificate export-passphrase=12345678

مرحله پنجم راه اندازی OpenVPN میکروتیک: انتقال Certificateها به سیستم و تغییر نام

1: از طریق وینباکس منوی Files رو باز می‌کنیم و فایل‌های

cert_export_ca-certificate.crt

cert_export_client-certificate.crt

cert_export_client-certificate.key

رو دانلود می‌کنیم.

2: فایل‌ها رو به ترتیب به

ca.crt

client.crt

client.key

تغییر نام می‌دیم.

مرحله ششم راه اندازی OpenVPN میکروتیک: ساخت فایل کانفیگ ovpn.

برای اینکار به این لینک می‌ریم و مراحل رو اونجا دنبال می‌کنیم.

مطابق تصویر زیر تنظیمات رو انجام می‌دیم.

تنظیمات OpenVPN میکروتیک توی سایت ovpnconfig.com.br

Remote (Address): آی‌پی روتر یا سرور میکروتیک رو وارد می‌کنیم.

Port: پورت پیش‌فرض اوپن وی ان 1194 هست. می‌تونیم به دلخواه تغییرش بدیم.

Auth: SHA-1

Cipher: AES-256-CBC

Key Passphrase: 12345678 (یا هر مقداری که در مرحله 4 وارد کردیم.)

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

در سمت راست فایل های Certificate رو آپلود می‌کنیم.

بقیه گزینه‌ها رو تغییر نمی‌دیم.

در نهایت دکمه Generate رو می‌زنیم.

توی فیلدی که پایین قرار گرفته، فایل کانفیگ OpenVPN رو بصورت متن می‌بینیم.

عبارت‌های زیر رو از متن حذف می‌کنیم.

credentials.txt

ca [inline]

cert [inline]

key [inline]

و درنهایت دکمه Save رو می‌زنیم تا فایل کانفیگ اوپن وی پی ان میکروتیک دانلود بشه.

مرحله هفتم راه اندازی OpenVPN میکروتیک: کانفیگ OpenVPN میکروتیک

1: یه IP Pool تعریف می‌کنیم.

/ip pool add name="Ovpn-pool" ranges=192.168.250.2-192.168.250.253

نکته: اگه از سابنت ماسک 24/ (255.255.255.0) استفاده می‌کنیم، بهتره از آی‌پی 254 در آخر Pool استفاده نکنیم.

2: یه پروفایل برای کاربران اوپن وی پی ان می‌سازیم.

/ppp profile add name="vpn-profile" use-encryption=yes local-address=192.168.250.1 dns-server=8.8.8.8 remote-address=vpn-pool

توی وینباکس از مسیر +<PPP>Secrets برای کاربران اکانت می‌سازیم. و پروفایل ساخته شده رو انتخاب می‌کنیم.

 نکته: اگه می‌خوایم سرور اوپن وی پی ان میکروتیک رو به Radius Server یا اکانتینگ متصل کنیم، توی تب Secrets دکمه PPP Authentication&Accounting رو انتخاب  می‌کنیم. توی پنجره ظاهر شده، تیک Use Radius رو می‌زنیم.

4: توی WinBox از مسیر PPP>Interface>OVPN Server رو می‌زنیم و تنظیمات رو مطابق عکس زیر انجام می‌دیم.

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

/interface ovpn-server server
set default-profile=vpn-profile certificate=server-certificate require-client-certificate=yes auth=sha1
cipher=aes128,aes192,aes256 enabled=yes

آموزشی که تا اینجا خوندین، برای RouterOS v6 نوشته شده بود. با انتشار RouterOS v7، سرویس OpenVPN میکروتیک تغییرات و پیشرفت‌های زیادی داشته و بعضی از محدودیت‌هایی که قبلا وجود داشت، برطرف شده.

یکی از مهم‌ترین تغییرات OpenVPN توی RouterOS v7، اضافه شدن پشتیبانی از UDP هست. توی نسخه‌های قدیمی RouterOS، اوپن وی پی ان میکروتیک فقط روی TCP کار می‌کرد. اما حالا می‌تونیم سرور OpenVPN رو روی TCP یا UDP راه‌اندازی کنیم.

UDP معمولاً سربار کمتری داره و توی شرایط عادی می‌تونه سرعت و عملکرد بهتری داشته باشه. از طرف دیگه، TCP برای شبکه‌هایی که ترافیک UDP رو محدود یا مسدود می‌کنن، همچنان کاربردیه.

توی RouterOS v7 میکروتیک، پشتیبانی از الگوریتم‌های جدیدتر رمزنگاری و احراز هویت هم بهتر شده. مثلا می‌تونیم به‌جای تنظیمات قدیمی‌تر مثل SHA-1 و AES-CBC، از گزینه‌هایی مثل SHA-256 و AES-GCM استفاده کنیم.

از مهم‌ترین تغییرات OpenVPN در RouterOS v7 میشه به موارد زیر اشاره کرد:

  • پشتیبانی از OpenVPN روی TCP و UDP
  • پشتیبانی بهتر از IPv6
  • اضافه شدن الگوریتم‌های رمزنگاری جدیدتر
  • پشتیبانی از AES-GCM
  • پشتیبانی از SHA-256 و SHA-512
  • امکان Import کردن فایل OVPN
  • امکان Export گرفتن از فایل کانفیگ OpenVPN Client
  • امکان Push کردن Routeهای مورد نیاز به کلاینت
  • پشتیبانی از قابلیت‌هایی مثل tls-auth و tls-crypt در نسخه‌های جدیدتر
  • امکان ساخت چند OpenVPN Server روی یه روتر در نسخه‌های جدید RouterOS (این ویژگی خیلی جذابیه :))

البته OpenVPN میکروتیک هنوز تمام قابلیت‌های نسخه اصلی OpenVPN رو نداره. مثلا فشرده‌سازی LZO همچنان پشتیبانی نمیشه و بعضی از تنظیمات پیشرفته OpenVPN ممکنه روی RouterOS قابل استفاده نباشن.

با این حال، قابلیت‌های اضافه‌شده در RouterOS v7 باعث شدن OpenVPN میکروتیک نسبت به گذشته کامل‌تر، کاربردی‌تر و استیبل‌تر بشه.

آموزش راه‌اندازی سرور OpenVPN میکروتیک توی RouterOS v7 رو وی کانال یوتوب نت ادمین پلاس منتشر کردم. توی این ویدیو تمام مراحل ساخت Certificate، تنظیم OpenVPN Server، ساخت کاربر، Export گرفتن از فایل OVPN و اتصال کلاینت رو مرحله‌به‌مرحله انجام دادم. برای دیدن ویدیو، روی تصویر کلیک کنید.

آموزش سرور اوپن وی‌پی‌ان میکروتیک + ساخت فایل کانفیگ ovpn | OpenVPN Server MikroTik

توی مرحله ششم این آموزش، برای ساخت فایل OVPN از یه سایت جانبی استفاده کردیم (که دیگه در دسترس نیست). این روش برای نسخه‌های قدیمی RouterOS کاربرد داشت. اما اگه از RouterOS 7.9 یا نسخه‌های جدیدتر استفاده می‌کنین، دیگه نیازی به سایت یا ابزار دیگه‌ای ندارین :).

این پست رو هم بخونین  Reverse Proxy میکروتیک

از RouterOS 7.9 به بعد، خود میکروتیک می‌تونه فایل کانفیگ OpenVPN Client رو Export کنه.

یعنی بعد از اینکه Certificateها، کاربر و OpenVPN Server رو ساختیم، می‌تونیم فایل OVPN رو مستقیماً از داخل RouterOS ایجاد و دانلود کنیم. Certificateها، Private Key و تنظیمات مورد نیاز کلاینت هم می‌تونن داخل همین فایل قرار بگیرن.

این قابلیت هم مراحل ساخت فایل OpenVPN رو ساده‌تر می‌کنه و هم امنیت بیشتری داره؛ چون دیگه لازم نیست Certificate و Private Key رو داخل سایت‌های متفرقه آپلود کنیم.

Private Key یکی از حساس‌ترین فایل‌های اتصال VPN هست و بهتره هیچ‌وقت اون رو در اختیار سایت‌ها یا ابزارهای ناشناس قرار ندیم. متأسفانه سال‌ها فایل‌های خصوصی شبکه رو توی سایت‌های تصادفی آپلود کردیم و بعد امیدوار بودیم اینترنت آدم محترمی باقی بمونه.

برای استفاده از قابلیت Export فایل OVPN باید RouterOS رو حداقل به نسخه 7.9 ارتقا بدیم. ضمنا، OpenVPN Server باید طوری تنظیم شده باشه که استفاده از Certificate کلاینت الزامی باشه.

نحوه Export گرفتن از فایل OVPN در RouterOS v7 و وارد کردن اون داخل OpenVPN Connect رو به‌صورت کامل توی یه ویدیوی دیگه توضیح دادم. برای دیدن ویدیو، روی تصویر کلیک کنید.

حذف Passphrase از فایل OpenVPN میکروتیک

راه‌اندازی OpenVPN روی میکروتیک یکی از روش‌هایی هست که باهاش می‌تونیم یه سرور VPN شخصی یا سازمانی داشته باشیم.

برای مثال، می‌تونیم OpenVPN Server رو روی روتر میکروتیک شرکت یا خونه راه‌اندازی کنیم تا از بیرون شبکه به سیستم‌ها، سرورها، دوربین‌ها و تجهیزات داخلی دسترسی داشته باشیم.

یه سناریوی دیگه، راه‌اندازی OpenVPN روی سرور مجازی میکروتیک یا CHR هست. توی این روش، RouterOS رو روی یه سرور مجازی نصب می‌کنیم و از اون به‌عنوان OpenVPN Server استفاده می‌کنیم.

اگه این سرور داخل ایران قرار داشته باشه، کاربرانی که خارج از کشور هستن می‌تونن با اتصال به OpenVPN، آی‌پی ایران دریافت کنن.

داشتن آی پی ایران برای افرادی که خارج از کشور زندگی یا سفر می‌کنن کاربرد زیادی داره؛ چون بعضی از سایت‌ها، اپلیکیشن‌ها، سامانه‌های بانکی، درگاه‌های پرداخت و سرویس‌های ایرانی فقط با آی‌پی داخل ایران باز میشن یا روی آی‌پی خارجی محدودیت دارن.

توی این سناریو، کاربر از طریق موبایل، لپ‌تاپ یا کامپیوتر به OpenVPN Server داخل ایران متصل میشه و ترافیک مورد نیازش با IP سرور ایران از اینترنت خارج میشه. در نتیجه، سایت یا اپلیکیشن مقصد، کاربر رو با آی‌پی ایران شناسایی می‌کنه.

البته راه‌اندازی و نگهداری سرور شخصی نیاز به تهیه سرور داخل ایران، کانفیگ میکروتیک، مدیریت Certificateها، تنظیم Firewall، مانیتورینگ و رفع مشکلات احتمالی داره.

اگه نمی‌خواین خودتون درگیر خرید سرور و تنظیم OpenVPN بشین، می‌تونین از یه سرویس آی‌پی ایران برای خارج از کشور استفاده کنین. این سرویس‌ها معمولاً کانفیگ آماده اتصال رو برای سیستم‌عامل‌های مختلف در اختیارتون قرار میدن و برای دسترسی به سایت‌ها و اپلیکیشن‌های ایرانی از خارج مناسب هستن.

اگه فقط برای دسترسی به سایت‌های ایرانی از خارج، همراه‌بانک‌ها، سامانه‌های دولتی یا سرویس‌های داخلی به آی‌پی ایران نیاز دارین، استفاده از سرویس آماده معمولاً ساده‌تر و سریع‌تره.

امیدوارم مقاله راه اندازی OpenVPN میکروتیک براتون مفید باشه. اگه به سوال یا مشکلی در این مورد برخوردین، می‌تونین زیر همین پست سوالتون رو بپرسین (:

اگه توی شبکه تون مشکلی دارین و به کمک نیاز دارین، صفحه پشتیبانی شبکه رو ببینین.

اگه می‌خواین میکروتیک رو اصولی یاد بگیرین، دوره‌های آموزش میکروتیک رو ببینین.

درباره نویسنده

رامتین رحمانی نژاد

از سال 1385 در حوزه آی‌تی و شبکه فعالیت می‌کنم. در راه اندازی و پشتیبانی شبکه‌ و سرویس‌های مایکروسافت، لینوکس، سیسکو، میکروتیک، VOIP، ارتباطات رادیویی و مدیریت سرور تخصص دارم. برای مشاوره، اجرای پروژه و پشتیبانی شبکه با من تماس بگیرین :)

مشاهده تمام مقالات