ฉันเป็นผู้ใช้ Mac เพียงคนเดียว และเจ้าหน้าที่ฝ่ายไอทีของบริษัทก็ลำบากใจที่จะรับฉันไปใช้ VWAN พวกเขาใช้ Azure VPN และต้องการให้ฉันใช้ 'ไคลเอนต์ Azure VPN' (จากแอพสโตร์)
ปัญหาคือ Azure VPN Client จะไม่โหลดไฟล์ ovpn.xml ทั่วไปที่พวกเขาส่งมาให้ฉัน (ซึ่งใช้งานได้บน Windows หรืออย่างที่เขาว่ากัน)
บันทึกข้อผิดพลาดระบุว่าการนำเข้าล้มเหลวด้วยการอ้างอิงบางอย่างสำหรับการเรียกใช้ฟังก์ชัน Swift:
18/10/2021 10:53:23: ข้อผิดพลาด ImportProfile: ไม่สามารถนำเข้า VPN
โปรไฟล์การเชื่อมต่อจาก xml
ไฟล์:///Users/XXXXXXX/Downloads/ASP_Gateway%20(1)/Generic%5CVpnSettings.xml
เนื่องจากข้อผิดพลาด: ล้มเหลวในการนำเข้าโปรไฟล์การเชื่อมต่อ VPN เนื่องจาก
ข้อผิดพลาด: Swift.DecodingError.keyNotFound (CodingKeys (stringValue: "ชื่อ",
intValue: ไม่มี), Swift.DecodingError.Context(codingPath: [],
debugDescription: "TODO" ข้อผิดพลาดพื้นฐาน: ไม่มี)) 18/10/2021 10:53:23:
ข้อผิดพลาด ไม่สามารถนำเข้าโปรไฟล์การเชื่อมต่อ VPN เนื่องจากข้อผิดพลาด:
Swift.DecodingError.keyNotFound(CodingKeys(stringValue: "ชื่อ",
intValue: ไม่มี), Swift.DecodingError.Context(codingPath: [],
debugDescription: "TODO" ข้อผิดพลาดพื้นฐาน: ไม่มี)) 18/10/2021 10:53:08:
แอปพลิเคชันข้อมูลเริ่มต้นแล้ว
ฉันสามารถระบุพารามิเตอร์ที่จำเป็นได้ทั้งหมดโดยใช้เนื้อหาของไฟล์ XML พารามิเตอร์ที่หายไปคือ serverSecret ซึ่งไม่ได้อยู่ในไฟล์คอนฟิกูเรชัน เนื่องจากมีการกล่าวว่าไฟล์กำหนดค่าทำงานบน Windows มีวิธีอื่นในการกำหนดค่าไคลเอนต์ Azure VPN ที่ไม่ต้องการหรือมีวิธีแยกออกจากใบรับรองแบบฝังหรือไม่ ที่ดียิ่งขึ้นคือการหาวิธีทำให้การกำหนดค่าที่ให้มาทำงานได้.
นี่คือเนื้อหาของไฟล์กำหนดค่า:
<?xml version="1.0"?>
<VpnProfile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<VpnServer>azuregateway-6d4e0066-da85-4179-9692-7ca7f3b97c84-353fe19011b4.vpn.azure.com</VpnServer>
<VpnType>SSTP,IkeV2</VpnType>
<CaCert>MI...d4=</CaCert>
<Routes>172.28.0.0/16,172.30.0.0/16,172.26.0.0/16,172.23.23.0/24</Routes>
<Auth>EAPTLS</Auth>
<VnetName>ASP-vNET</VnetName>
<VnetId>6d4e0066-da85-4179-9692-7ca7f3b97c84</VnetId>
<ServerCertRootCn>DigiCert Global Root CA</ServerCertRootCn>
<ServerCertIssuerCn>DigiCert Global Root CA</ServerCertIssuerCn>
<VpnClientAddressPool>192.168.110.0/24</VpnClientAddressPool>
<AadIssuer />
<AadTenant />
<AadAudience />
<CustomDnsServers>172.26.161.23,172.26.161.4,172.26.161.5,172.24.106.11</CustomDnsServers>
</VpnProfile>
หมายเหตุ ฉันสร้างใบรับรองที่ลงนามเองจากใบรับรองหลักที่พวกเขาให้ฉัน และแยกคีย์ส่วนตัวและคีย์สาธารณะ เพื่อเติมฟิลด์การกำหนดค่าทั้งสองนี้ แต่ฉันไม่คิดว่าโปรแกรมจะดูที่ฟิลด์เหล่านี้ด้วยซ้ำเพราะความลับของเซิร์ฟเวอร์ที่ขาดหายไปทำให้เกิดข้อผิดพลาดก่อน