ง่ายต่อการใช้ไคลเอนต์ VPN IKEv2 / IPsec-based
พอร์ต Android อย่างเป็นทางการของโซลูชัน StrongSwan VPN ยอดนิยม
# คุณสมบัติและข้อจำกัด #
* ใช้ VpnService API ที่นำเสนอโดย Android 4+ ดูเหมือนว่าอุปกรณ์จากผู้ผลิตบางรายจะขาดการสนับสนุนในเรื่องนี้ - ไคลเอ็นต์ VPN ที่แข็งแกร่งของ Swan จะไม่ทำงานบนอุปกรณ์เหล่านี้!
* ใช้โปรโตคอลการแลกเปลี่ยนคีย์ 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 ต่อแอปอนุญาตให้จำกัดการเชื่อมต่อ VPN ไปยังแอปเฉพาะ หรือยกเว้นไม่ให้ใช้งาน
* ปัจจุบันการใช้งาน IPsec รองรับอัลกอริธึม AES-CBC, AES-GCM, ChaCha20/Poly1305 และ SHA1/SHA2
* ปัจจุบันรหัสผ่านถูกจัดเก็บเป็นข้อความที่ชัดเจนในฐานข้อมูล (เฉพาะในกรณีที่เก็บไว้กับโปรไฟล์)
* โปรไฟล์ VPN อาจนำเข้าจากไฟล์ได้
* รองรับการกำหนดค่าที่ได้รับการจัดการผ่าน Enterprise Mobility Management (EMM)
รายละเอียดและบันทึกการเปลี่ยนแปลงสามารถพบได้ในเอกสารของเรา: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html
# สิทธิ์ #
* READ_EXTERNAL_STORAGE: อนุญาตให้นำเข้าโปรไฟล์ VPN และใบรับรอง CA จากที่จัดเก็บข้อมูลภายนอกใน Android บางเวอร์ชัน
* QUERY_ALL_PACKAGES: จำเป็นบน Android 11+ เพื่อเลือกแอปที่จะอดีต/รวมไว้ในโปรไฟล์ VPN และกรณีการใช้งานเสริม EAP-TNC
# ตัวอย่างการกำหนดค่าเซิร์ฟเวอร์ #
ตัวอย่างการกำหนดค่าเซิร์ฟเวอร์อาจพบได้ในเอกสารของเรา: https://docs.strongswan.org/docs/5.9/os/androidVpnClient.html#_server_configuration
โปรดทราบว่าชื่อโฮสต์ (หรือที่อยู่ IP) ที่กำหนดค่าด้วยโปรไฟล์ VPN ในแอป *ต้องมี* อยู่ในใบรับรองเซิร์ฟเวอร์เป็นส่วนขยาย subjectAltName
# ข้อเสนอแนะ #
กรุณาโพสต์รายงานข้อผิดพลาดและคำขอคุณสมบัติผ่านทาง GitHub: https://github.com/strongswan/strongswan/issues/new/choose
หากคุณทำเช่นนั้น โปรดระบุข้อมูลเกี่ยวกับอุปกรณ์ของคุณ (ผู้ผลิต รุ่น เวอร์ชันระบบปฏิบัติการ ฯลฯ)
ไฟล์บันทึกที่เขียนโดยบริการแลกเปลี่ยนคีย์สามารถส่งได้โดยตรงจากภายในแอปพลิเคชัน