OpenConnect چیست؟ وقتی صحبت از VPN میشه، معمولاً اسمهایی مثل OpenVPN، WireGuard یا IPsec بیشتر به گوش میخورن. اما یه پروتکل و نرمافزار قدرتمند دیگه هم وجود داره که سالهاست توی خیلی از شرکتها، دانشگاهها و سازمانهای بزرگ استفاده میشه؛ OpenConnect.
جالبه بدونین خیلی از افرادی که هر روز از OpenConnect استفاده میکنن، اصلاً اسمش رو نشنیدن!
چرا؟
چون بیشتر کاربران این سرویس رو با اسم Cisco AnyConnect میشناسن.
در واقع وقتی یه شرکت به کارمندهاش میگه برای اتصال به شبکه شرکت از Cisco AnyConnect استفاده کنین، پشت صحنه ممکنه اصلاً خبری از تجهیزات Cisco نباشه و کل زیرساخت روی یه سرور لینوکسی با ocserv اجرا شده باشه.
به همین دلیل اگر توی گوگل عبارتهایی مثل:
- Cisco AnyConnect VPN
- Cisco AnyConnect Server
- AnyConnect VPN Ubuntu
- OpenConnect VPN
رو سرچ کنین، در نهایت تقریباً به یک خانواده از تکنولوژیها میرسین.
این موضوع رو از همین ابتدای مقاله گفتم چون خیلی از دوستان فکر میکنن OpenConnect و Cisco AnyConnect دو محصول کاملاً متفاوت هستن؛ در حالی که ارتباط نزدیکی با هم دارن.
OpenConnect چیست؟
OpenConnect یک SSL VPN Client اوپن سورس هست که اوایل برای اتصال به VPNهای Cisco AnyConnect توسعه داده شد.
به مرور زمان، این پروژه بزرگتر شد و علاوه بر Cisco، از VPNهای مختلفی مثل:
- Cisco AnyConnect
- Juniper Network Connect
- Pulse Secure
- Palo Alto GlobalProtect
- F5 BIG-IP
- Fortinet SSL VPN
هم پشتیبانی کرد.
به زبان ساده، OpenConnect نرمافزاریه که به کاربران اجازه میده به انواع SSL VPNها متصل بشن. لابد میگین، خب پس اینم یه وی پی ان دیگه هست… 🙂
اما داستان اینجا تموم نمیشه…
پس ocserv چیست؟
اینجا دقیقاً جاییه که خیلی از دوستان دچار اشتباه میشن.
OpenConnect و ocserv دو تا پروژه متفاوت هستن.
OpenConnect یک Client هست. اما ocserv سرور این مجموعه محسوب میشه. اسم کاملش هم اینه: OpenConnect VPN Server
بنابراین:
- OpenConnect کلاینتی هست که به ocserv متصل میشه.
- ocserv سروری هست که با OpenConnect و Cisco AnyConnect میشه بهش متصل شد.
این دو پروژه کنار هم یک VPN کامل رو تشکیل میدن.
در ادامه این مجموعه مقالهها (بله 🙂 قراره کلی در موردش حرف بزنیم)، هر جا گفتیم OpenConnect VPN Server، منظورمون همون ocserv هست.
چرا بعضیها به ocserv میگن Cisco AnyConnect Server؟
چون ocserv پیادهسازی اوپن سورس پروتکل Cisco AnyConnect هست.
یعنی اگر کلاینت شما Cisco AnyConnect باشه، در خیلی از سناریوها میتونه بدون مشکل به ocserv متصل بشه.
همین موضوع باعث شده خیلی از ادمینها به جای خرید تجهیزات گرونقیمت Cisco، از یه VPS لینوکسی و ocserv استفاده کنن.
البته این به معنی جایگزین کامل Cisco ASA یا Cisco Secure Firewall نیست و فقط پروتکل اتصال کاربران رو شبیهسازی میکنه.
این تفاوت رو باید در نظر داشته باشین.
OpenConnect چه مشکلی رو حل میکنه؟
فرض کنین شرکت شما یه دفتر توی تهران داره. کارمندها بعضی روزها از خونه کار میکنن. یا شاید تیم فنی کلا دورکاره.
حالا این افراد باید به منابع داخلی شرکت دسترسی داشته باشن.
مثلاً:
- فایل سرور
- سرور لینوکس
- دیتابیس
- پنلهای مدیریتی
- سیستم حسابداری
- تجهیزات شبکه
اما طبیعتاً نمیخواین این سرویسها مستقیماً روی اینترنت قرار بگیرن.
اینجاست که VPN وارد بازی میشه.
کاربر ابتدا به VPN متصل میشه. بعد انگار داخل شبکه شرکت نشسته. تمام ارتباط هم به صورت رمزنگاریشده انجام میشه.
این دقیقاً کاریه که OpenConnect و البته پروتکلهای دیگه وی پی ان انجام میدن.

آیا OpenConnect فقط برای سازمانهاست؟
نه.
اتفاقاً یکی از دلایلی که محبوبیت ocserv طی سالهای اخیر بیشتر شده، سادگی راهاندازی اون روی VPSهای لینوکسیه. توی یه نوشته دیگه مفصل در موردش میگم. این ویدیوی کانال یوتوبم هم بهتون برای راه اندازی سرور ocserv کمک میکنه.
توی خیلی از مجموعهها برای این موارد از OpenConnect استفاده میکنن.
- ساخت VPN شخصی
- اتصال امن به سرورهای لینوکسی
- دسترسی به شبکه داخلی شرکت
- اتصال کارمندان دورکار
- عبور امن ترافیک اینترنت
- استفاده روی روترها
- استفاده روی موبایل
- استفاده روی لپتاپ
- اتصال چند شعبه
پس OpenConnect فقط مخصوص سازمانهای بزرگ نیست.
چرا هنوز OpenConnect محبوب هست؟
این سؤال رو زیاد میبینم.
وقتی WireGuard اینقدر سریع و محبوب شده، چرا هنوز خیلی از ادمینها از OpenConnect استفاده میکنن؟ مزیت OpenConnect چیست؟
دلیلش اینه که این دو ابزار برای نیازهای کاملاً متفاوتی طراحی شدن.
دلیلش اینه که این دو ابزار برای نیازهای یکسانی طراحی نشدن. WireGuard بیشتر روی سادگی، سرعت و حداقلگرایی تمرکز داره، اما OpenConnect از همون اول پروژه برای سناریوهای سازمانی، دسترسی راه دور (Remote Access) و مدیریت کاربران توسعه پیدا کرده. به همین خاطر امکاناتی مثل احراز هویت پیشرفته، اتصال به LDAP و Active Directory، مدیریت Sessionها، تعریف Policy برای کاربران و قابلیتهای امنیتی بیشتری در اختیار مدیر شبکه قرار میده.
از طرف دیگه، برای ما کاربران ایرانی یه دلیل مهم دیگه هم وجود داره. توی این چند سال اخیر و با افزایش محدودیتها و استفاده از روشهای پیشرفتهتر فیلترینگ، خیلی از پروتکلهای VPN یا بهراحتی شناسایی و مسدود میشن یا پایداری قبل رو ندارن. OpenConnect به دلیل استفاده از TLS و شباهت ترافیکش به HTTPS، توی خیلی از شرایط عملکرد پایدارتری داره و هنوز هم یکی از گزینههای قابل اتکا برای عبور از این محدودیتها هست. البته این به معنی غیرقابل شناسایی بودن یا تضمین همیشگی اتصال نیست، چون روشهای فیلترینگ دائماً در حال تغییر هستن.
یکی دیگه از مزیتهای مهم OpenConnect اینه که میشه اون رو با سناریوهای مختلف تانلینگ ترکیب کرد. مثلاً خیلی از ادمینهای شبکه یه سرور OpenConnect داخل ایران و یک سرور خارج از کشور دارن و ارتباط بین این دو رو با استفاده از یه Tunnel امن برقرار میکنن. با این کار، علاوه بر استفاده از قابلیتهای OpenConnect، میشه از مزایای پروتکلهای تانلینگ و روشهای مبهمسازی (Obfuscation) هم استفاده کرد تا پایداری ارتباط در شرایط سخت فیلترینگ بیشتر بشه. همین انعطافپذیری باعث شده OpenConnect هنوز هم یکی از انتخابهای محبوب بین ادمینهای شبکه و متخصصهای DevOps باشه.
انتظار میره تا اینجای کار متوجه شده باشید OpenConnect چیست. توی مقاله بعدی، با معماری OpenConnect آشنا میشیم و دقیقتر بررسی میکنیم که ارتباط بین OpenConnect Client، ocserv و Cisco AnyConnect دقیقاً چطور شکل میگیره و هر کدوم چه نقشی توی این اکوسیستم دارن.


