المقدمة
يصف هذا المستند خطوات التكوين لإعداد FlexVPN باستخدام عميل مدمج على Windows 10/11.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- عميل شبكة VPN المدمجة في Windows
- تكوين Cisco IOS® XE FlexVPN
- التكوين الأساسي OpenSSL
المكونات المستخدمة
أسست التشكيل مرشد على هذا جهاز وبرمجية صيغة:
- Windows 10 و Windows 11
- Cisco IOS XE 16.12.4
- OpenSSL Certificate Authority (CA) v1.1.0g
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
التكوين
متطلبات CA
يجب أن يسمح لك المرجع المصدق بتضمين إستخدام المفتاح الموسع (EKU) المطلوب في الشهادة. على سبيل المثال، في خادم IKEv2، Server Auth EKU
مطلوب، بينما تحتاج شهادة العميل Client Auth EKU
. يمكن لعمليات النشر المحلية الاستفادة من:
- خادم Cisco IOS CA - لا يمكن إستخدام الشهادات الموقعة ذاتيا بسبب معرف تصحيح الأخطاء من Cisco CSCuc82575.
- خادم OpenSSL CA -
openssl.cnf
يجب أن يحتوي على ExtendedKeyUsage = serverAuth، clientAuth، ويكون هذا الملف عادة موجودا في المسار /etc/ssl/
.
- خادم Microsoft CA - بشكل عام، هذا هو الخيار المفضل لأنه يمكن تكوينه لتوقيع الشهادة تماما كما هو مطلوب.
الرسم التخطيطي للشبكة
مختبر الطوبولوجيا
التكوينات
تكوين مرجع مصدق
موجه ك CA
إذا كنت تستخدم خادم Cisco IOS CA، فتأكد من إستخدام أحدث إصدار من برنامج Cisco IOS Software، الذي يعين وحدة المعالجة المركزية (EKU).
IOS-CA# show run | section crypto pki
crypto pki server IOS-CA
issuer-name cn=IOS-CA.cisco.com,ou=TAC,o=cisco
grant auto
eku server-auth client-auth
OpenSSL ك CA
يعتمد المرجع المصدق OpenSSL على ملف openssl.cnf. يجب أن يحتوي ملف 'config' لخادم OpenSSL على:
keyUsage = nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth, clientAuth
تكوين موجه IOS XE/IOS
إستيراد شهادة PKCS12 إذا كان OpenSSL
يجب أن تحتوي الشهادة على حقلي EKU معينين على "مصادقة الخادم" ل Cisco IOS و"مصادقة العميل" للعميل. وعادة ما يتم إستخدام المرجع المصدق نفسه لتوقيع كل من شهادات العميل والخادم. في هذه الحالة، تظهر كل من "مصادقة الخادم" و"مصادقة العميل" على شهادة الخادم وشهادة العميل على التوالي، وهذا مقبول.
إذا أصدر المرجع المصدق الشهادات بتنسيق #12 في خادم IKEv2 لمعايير التشفير للمفتاح العام (PKCS) للعملاء والخادم، وإذا كانت قائمة إلغاء الشهادة (CRL) غير قابلة للوصول أو متوفرة، فيجب تكوينها:
crypto pki trustpoint FlexRootCA
revocation-check none
دخلت هذا أمر in order to استوردت ال PKCS#12 شهادة:
copy ftp://user:***@OpenSSLServer/p12/FlexRootCA.p12* flash:/
crypto pki import FlexRootCA pkcs12 flash:/FlexRootCA.p12 password
!! Note: FlexRootCA.p12 is a pkcs12 format certificate that has CA Certificate bundled in it.
يمكنك أيضا تحويل PKCS12 إلى base64 في OpenSSL وإدراج الشهادة في الطرفية:
openssl base64 -in ikev2.p12 -out ikev2.pem
catIKEV2.pem —> انسخ إخراج base64
crypto pki trustpoint FlexRootCA
enrollment terminal
revocation-check none
crypto pki import FlexRootCA pkcs12 terminal password
***paste the base64 output from the cat ikev2.pem here***
quit --> when the paste ends you need to type quit to finish
طلب الشهادة مع الموجه كخادم CA
إذا قام خادم Cisco IOS CA بمنح الشهادات تلقائيا، فيجب تكوين خادم IKEv2 باستخدام عنوان URL لخادم CA لتلقي الشهادة كما هو موضح في هذا المثال:
crypto pki trustpoint FlexRootCA
enrollment url http://
:80
subject-name cn=ikev2.cisco.com,ou=TAC,o=cisco
revocation-check none
eku server-auth client-auth
عند تكوين TrustPoint، يجب:
- مصادقة المرجع المصدق باستخدام هذا الأمر:
crypto pki authenticate FlexRootCA
- قم بتسجيل خادم IKEv2 باستخدام CA باستخدام هذا الأمر:
crypto pki enroll FlexRootCA
تكوين FlexVPN IKEv2 بمصادقة الشهادة
هذا مثال على تكوين IKEv2:
aaa authorization network winclient local
ip local pool mypool 172.16.0.101 172.16.0.250
!! Certificate MAP to match Remote Certificates, in our case the Windows Clients
crypto pki certificate map winclient_map 10
subject-name co ou = tac
!! One of the proposals that Windows 10/11 Built-In Client Likes
crypto ikev2 proposal winclient
encryption aes-cbc-256
integrity sha1
group 2
crypto ikev2 policy winclient
proposal winclient
!! IKEv2 Local Authorization Policy. Split-Tunneling does not work, as was
!! the case in good old l2tp over IPSec.
crypto ikev2 authorization policy winclient_author
pool mypool
crypto ikev2 profile winclient-rsa
match certificate winclient_map
identity local fqdn ikev2.cisco.com
authentication local rsa-sig
authentication remote rsa-sig
pki trustpoint FlexRootCA
aaa authorization group cert list winclient winclient_author
virtual-template 1
crypto ipsec transform-set aes256-sha1 esp-aes 256 esp-sha-hmac
crypto ipsec profile winclient_ikev2
set transform-set aes256-sha1
set ikev2-profile winclient-rsa
interface Virtual-Template1 type tunnel
ip unnumbered Loopback0
tunnel mode ipsec ipv4
tunnel protection ipsec profile winclient_ikev2
يجب أن يكون IP غير المرقم الخاص بالقالب الظاهري أي شيء باستثناء العنوان المحلي المستخدم لاتصال IPsec. (إذا كنت تستخدم عميل أجهزة، فسوف تتبادل معلومات التوجيه عبر عقدة تكوين IKEv2 وتنشئ مشكلة توجيه متكررة على عميل الأجهزة).
ملاحظة: IOS XE الإصدار 17.06.01a Cisco CSCwa76260 ويتداخل معرف تصحيح الأخطاء من Cisco CSCwa80474 مع الوظائف المناسبة لعميل Windows المدمج نظرا لأنهم يستخدمون المجموعة2 كمجموعة DH افتراضية. مع الترقية إلى إصدار ثابت، يتم إخطارك بالإزالة المستقبلية للشفرات المهملة ولكن لا يزال بإمكانها العمل. معلومات إضافية:
تكوين العميل المدمج ل IKEv2 Windows
عميل Windows 10 المدمج
1. انتقل إلى Settings > Network & Internet > VPN
، وانقر أو حدد Add a VPN Connection
كما هو موضح في الصورة:
إعدادات Windows VPN
2. قم بتكوين موفر VPN على هيئة Windows (مضمن) واسم الاتصال واسم الخادم أو عنوانه ونوع شبكة VPN ونوع معلومات تسجيل الدخول (مصادقة)، ثم انقر فوق Save
كما هو موضح في الصورة.
Windows إضافة إعدادات VPN
3. انقر على تغيير خيارات المحول ثم انقر بزر الماوس الأيمن أو حدد المحول المستدعى FlexVPN-IOS
. انتقل إلى Properties > Security
وحدد Use machine certificates
كما هو موضح في الصورة:
خيارات مهايئ Windows
ملف تعريف FlexVPN-IOS جاهز الآن للاتصال بعد إستيراد شهادة إلى مخزن شهادات الجهاز.
عميل Windows 11 المدمج
1. انتقل إلى Settings > Network & internet > VPN
وانقر أو حدد إضافة VPN:
إعدادات Windows 11 VPN
2. قم بتكوين موفر VPN على هيئة Windows (مضمن) واسم الاتصال واسم الخادم أو عنوانه ونوع شبكة VPN ونوع معلومات تسجيل الدخول (مصادقة) ثم احفظ:
إعدادات اتصال Windows 11 VPN
3. انقر Network & Internet
مرة أخرى، ثم إعدادات شبكة متقدمة وانقر أو حدد More network adapter options
كما هو موضح في الصورة:
مسار نظام التشغيل Windows 11 إلى خيارات المحول
انقر بزر الماوس الأيمن فوق المهايئ الذي يطلق عليه FlexVPN-IOS وانتقل إلى الخصائص، وتصفح إلى Security
وحدد إستخدام شهادات الجهاز:
خيارات مهايئ Windows 11
أصبح ملف تعريف FlexVPN-IOS الآن جاهزا للتوصيل بعد إستيراد شهادة إلى مخزن شهادات الجهاز.
الحصول على شهادة عميل
تتطلب شهادة العميل هذه العوامل:
- تحتوي شهادة العميل على EKU من "مصادقة العميل". كما يعطي المرجع المصدق شهادة PKCS#12: يجب أن تذهب شهادة PKCS12 العميل إلى مخزن الشهادات الشخصية للجهاز المحلي
تثبيت شهادة Windows PKCS12
1. افتح شهادة PFX أو p12:
انقر على الجهاز المحلي لموقع المتجر أو حدده:
الخطوة 1 لمعالج إستيراد الشهادات
2. حدد مسار P12 أو PFX كما هو موضح في الصورة.
الخطوة 2 لمعالج إستيراد الشهادات
3. اكتب كلمة المرور للمفتاح الخاص كما هو موضح في الصورة:
الخطوة 3 لمعالج إستيراد الشهادات
ملاحظة: وضع علامة على المفتاح كقابل للتصدير إختياري.
4. انقر فوق أو حدد Place all certificates in
المحل الشخصي:
الخطوة 4 لمعالج إستيراد الشهادات
تتضمن ال PKCS12 عادة الشهادات الكاملة السلسلة، CA، والشهادات المتوسطة. وإذا كان الأمر كذلك، فيجب عليك التأكد من تثبيت المرجع المصدق على مخزن المراجع المصدقة الجذر الموثوق به.
تثبيت شهادة Windows CA
في حالة عدم وجود المرجع المصدق في مخزن المراجع المصدقة الجذر الموثوق بها، أستخدم الخطوات التالية لتثبيته:
1. افتح ملف CA PEM أو CRT وانقر أو حدد تثبيت الشهادة كما هو موضح في الصورة.
شهادة المرجع المصدق
إذا لم يكن المرجع المصدق موجودا في مخزن "مراجع الشهادات الجذر الموثوق بها" سترى هذه الرسالة: "شهادة جذر المرجع المصدق هذه غير موثوق بها..."
2. انقر فوق الجهاز المحلي لموقع المتجر أو حدده:
خطوة معالج إستيراد شهادة CA1
3. انقر فوق أو حدد Place all certificates in the following store
و Trusted Root Certification Authorities
المتجر:
الخطوة 2 لمعالج إستيراد شهادة المرجع المصدق
4. إكمال معالج إستيراد الشهادات:
الخطوة 3 لمعالج إستيراد شهادات المرجع المصدق
يمكن تأكيد تثبيت الشهادة دائما باستخدام Windows Key+R
و مفتوحة mmc.exe
أو certlm.msc
.
تفاصيل هامة
- يجب إستخدام 'IPSec IKE intermediate' (OID = 1.3.6.1.5.5.8.2.2) ك EKU إذا تم تطبيق كلا العبارتين التاليتين:
- خادم IKEv2 هو خادم Windows 2008.
- يوجد أكثر من شهادة مصادقة خادم قيد الاستخدام لاتصالات IKEv2. إذا كان هذا صحيحا، قم بوضع كل من "مصادقة الخادم" EKU و"IPSec IKE Intermediate" EKU على شهادة واحدة، أو قم بتوزيع وحدات EKU هذه بين الشهادات. تأكد من إحتواء شهادة واحدة على الأقل على EKU 'IPSec IKE Intermediate'.
راجع أستكشاف أخطاء إتصالات IKEv2 VPN وإصلاحها للحصول على مزيد من المعلومات.
- في نشر FlexVPN، لا تستخدم 'IPSec IKE Intermediate' في EKU. وإذا قمت بذلك، فإن عميل IKEv2 لا يلتقط شهادة خادم IKEv2. ونتيجة لذلك، لا يمكنهم الاستجابة إلى CERTREQ من IOS في رسالة الاستجابة IKE_SA_INIT، وبالتالي فإنهم يفشلون في الاتصال بمعرف الخطأ 13806.
- في حين أن الاسم البديل للموضوع (SAN) غير مطلوب، فإنه مقبول إذا كانت الشهادات تحتوي على واحد.
- في "مخزن شهادات عميل Windows 10/11"، تأكد من أن "مخزن مراجع الشهادات الجذر" الموثوق به على الجهاز يحتوي على أقل عدد ممكن من الشهادات. إذا كان لديه أكثر من 50 أو نحو ذلك، فقد يفشل برنامج Cisco IOS في قراءة حمولة CERT_REQ بالكامل، والتي تحتوي على اسم الشهادة المميز (DN) لجميع الشهادات المعروفة من المربع Windows 10/11. ونتيجة لذلك، يفشل التفاوض وترى مهلة الاتصال على العميل.
التحقق من الصحة
استخدم هذا القسم لتأكيد عمل التكوين بشكل صحيح.
CSR1Kv# show crypto ikev2 session detail
IPv4 Crypto IKEv2 Session
Session-id:6, Status:UP-ACTIVE, IKE count:1, CHILD count:1
Tunnel-id Local Remote fvrf/ivrf Status
1 10.0.3.1/4500 192.168.56.1/4500 none/none READY
Encr: AES-CBC, keysize: 256, Hash: SHA96, DH Grp:2, Auth sign: RSA, Auth verify: RSA
Life/Active Time: 86400/5s 7 sec
CE id: 1007, Session-id: 6
Status Description: Negotiation done
Local spi: 3A330D1951062E50 Remote spi: 222ED6C38002E26D
Local id: ikev2.cisco.com
Remote id: ou=TAC,o=Cisco,c=BE,cn=Winclient
Local req msg id: 0 Remote req msg id: 2
Local next msg id: 0 Remote next msg id: 2
Local req queued: 0 Remote req queued: 2
Local window: 5 Remote window: 1
DPD configured for 0 seconds, retry 0
NAT-T is not detected
Cisco Trust Security SGT is disabled
Assigned host addr: 172.16.0.105
Initiator of SA : No
Child sa: local selector 0.0.0.0/0 - 255.255.255.255/65535
remote selector 172.16.0.105/0 - 172.16.0.105/65535
ESP spi in/out: 0xB01348F5/0x142CEC36
AH spi in/out: 0x0/0x0
CPI in/out: 0x0/0x0
Encr: AES-CBC, keysize: 128, esp_hmac: SHA96
ah_hmac: None, comp: IPCOMP_NONE, mode tunnel
CSR1Kv#show crypto ipsec sa peer 192.168.56.1
interface: Virtual-Access1
Crypto map tag: Virtual-Access1-head-0, local addr 10.0.3.1
protected vrf: (none)
local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
remote ident (addr/mask/prot/port): (172.16.0.105/255.255.255.255/0/0)
current_peer 192.168.56.1 port 4500
PERMIT, flags={origin_is_acl,}
#pkts encaps: 223, #pkts encrypt: 223, #pkts digest: 223
#pkts decaps: 315, #pkts decrypt: 315, #pkts verify: 315
#pkts compressed: 0, #pkts decompressed: 0
#pkts not compressed: 0, #pkts compr. failed: 0
#pkts not decompressed: 0, #pkts decompress failed: 0
#send errors 0, #recv errors 0
local crypto endpt.: 10.0.3.1, remote crypto endpt.: 192.168.56.1
plaintext mtu 1438, path mtu 1500, ip mtu 1500, ip mtu idb GigabitEthernet1
current outbound spi: 0x142CEC36(338488374)
PFS (Y/N): N, DH group: none
inbound esp sas:
spi: 0xB01348F5(2954053877)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2017, flow_id: CSR:17, sibling_flags FFFFFFFF80000048, crypto map: Virtual-Access1-head-0
sa timing: remaining key lifetime (k/sec): (4607961/2461)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
inbound ah sas:
inbound pcp sas:
outbound esp sas:
spi: 0x142CEC36(338488374)
transform: esp-aes esp-sha-hmac ,
in use settings ={Tunnel, }
conn id: 2018, flow_id: CSR:18, sibling_flags FFFFFFFF80000048, crypto map: Virtual-Access1-head-0
sa timing: remaining key lifetime (k/sec): (4607987/2461)
IV size: 16 bytes
replay detection support: Y
Status: ACTIVE(ACTIVE)
outbound ah sas:
outbound pcp sas:
استكشاف الأخطاء وإصلاحها
يمكنك أستكشاف أخطاء اتصال FlexVPN وتفاوض الشهادات وإصلاحها باستخدام عمليات تصحيح الأخطاء التالية:
debug crypto condition peer <remove client public ip>
debug crypto ikev2
debug cry pki messages
debug cry pki transactions
في عميل Windows، يمكنك التحقق من "عارض الأحداث" ضمن "سجلات Windows" وفحص التطبيق، حيث تستخدم أحداث اتصال VPN مصدر RasClient. على سبيل المثال;
سجلات Windows EventViewer ل RasClient