یک مشتری VPN که بر پایه IKEv2/IPsec طراحی شده و کاربرپسند است. این نسخه به صورت رسمی برای اندروید از راهحل محبوب strongSwan ارائه شده است.
### ویژگیها و محدودیتها
– این نرمافزار از API VpnService که از اندروید نسخه 4 به بعد ارائه شده، بهرهبرداری میکند. توجه داشته باشید که برخی از تولیدکنندگان، این ویژگی را پشتیبانی نمیکنند و بنابراین نرمافزار VPN strongSwan در این دستگاهها قابل استفاده نخواهد بود!
– از پروتکل تبادل کلید IKEv2 استفاده میکند (و IKEv1 را پشتیبانی نمیکند).
– برای مدیریت ترافیک دادهها از IPsec بهره میبرد (L2TP پشتیبانی نمیشود).
– قابلیت پشتیبانی از تغییرات اتصال و قابلیت جابجایی از طریق MOBIKE (یا احراز هویت مجدد) را دارد.
– احراز هویت از طریق نام کاربری و رمز عبور EAP (شامل EAP-MSCHAPv2، EAP-MD5 و EAP-GTC) انجام میشود و همچنین از احراز هویت با کلید/گواهی امضای خصوصی RSA/ECDSA و EAP-TLS با گواهیهای مشتری نیز پشتیبانی میکند.
– احراز هویت ترکیبی RSA/ECDSA و EAP با دو دوره احراز هویت که در RFC 4739 تعریف شده است، انجام میشود.
– گواهیهای سرور VPN به وسیله گواهیهای CA که از پیش نصب شدهاند یا توسط کاربر تأیید میشوند، بررسی میشوند. همچنین، گواهیهای CA یا سرور میتوانند به طور مستقیم در برنامه وارد شوند.
– تقسیمبندی IKEv2 در صورت پشتیبانی سرور VPN قابل استفاده است (strongSwan از نسخه 5.2.1 به بعد این ویژگی را دارد).
– قابلیت تقسیمبندی (Split-tunneling) امکان ارسال تنها بخشی از ترافیک از طریق VPN و استثناء ترافیک خاص را فراهم میسازد.
– این نرمافزار امکان محدود کردن اتصال VPN به برنامههای خاص یا استثناء آنها از استفاده از VPN را میدهد.
– اجرای IPsec پشتیبانی از الگوریتمهای AES-CBC، AES-GCM، ChaCha20/Poly1305 و SHA1/SHA2 را فراهم میکند.
– رمزهای عبور تنها در صورت ذخیره در پروفایلها به صورت متن ساده در دیتابیس نگهداری میشوند.
– پروفایلهای VPN قابلیت واردشدن از طریق فایلها را دارند.
– پشتیبانی از پیکربندیهای مدیریتی از طریق مدیریت حرکتی شرکتی (EMM) وجود دارد.
برای جزئیات بیشتر و گزارش تغییرات، میتوانید به مستندات ما مراجعه کنید: مستندات strongSwan
### مجوزها
– **READ_EXTERNAL_STORAGE:** این اجازه به وارد کردن پروفایلهای VPN و گواهیهای CA از حافظه خارجی در برخی نسخههای اندروید میدهد.
– **QUERY_ALL_PACKAGES:** برای انتخاب برنامهها به منظور اضافه یا حذف از پروفایلهای VPN و همچنین برای استفاده اختیاری از EAP-TNC در اندروید 11 و بالاتر نیاز است.
### نمونه پیکربندی سرور
شما میتوانید نمونههای پیکربندی سرور را در مستندات ما مشاهده کنید: پیکربندی سرور strongSwan. لطفاً توجه داشته باشید که نام میزبان یا آدرس IP که در پروفایل VPN پیکربندی شده است، باید در گواهی سرور به عنوان توسعه subjectAltName گنجانده شود.
### بازخورد
لطفاً گزارشهای اشکالات و درخواستهای ویژگی را از طریق GitHub ارسال کنید: گیتهاب strongSwan. در هنگام ارسال، حتماً اطلاعاتی از جمله تولیدکننده، مدل، نسخه سیستمعامل و غیره مربوط به دستگاه خود را ارائه دهید. همچنین، فایل log نوشته شده توسط سرویس تبادل کلید قادر به ارسال مستقیم از داخل برنامه است.