ใครกันแน่ที่ใช้การตั้งค่า DNS ของ OpenConnect บน Windows?
Windows เก็บสถานะของตัวแก้ไขชื่อไว้ในสามที่ ค้นหาตัวช่วยที่เป็นเจ้าของการเชื่อมต่อก่อนที่คุณจะแก้ไข DNS ของอะแดปเตอร์ด้วยมือหรือเพิ่มกฎเนมสเปซ
การเปิดอุโมงค์ไม่เหมือนกับการติดตั้งค่า DNS ของมัน OpenConnect เจรจา และตัวช่วยฝั่ง Windows เป็นผู้ใช้ค่า การเว้นว่างระหว่างสองขั้นตอนนี้อธิบายความล้มเหลวของชื่อส่วนตัวส่วนใหญ่ในไคลเอนต์นี้ และตัวช่วยแทบไม่เคยเป็นหน้าการตั้งค่า VPN ของ Windows
แยกสิ่งที่เกตเวย์เสนอออกจากสิ่งที่ Windows ติดตั้ง
ไคลเอนต์ส่งข้อมูลการเชื่อมต่อให้อินเทอร์เฟซสคริปต์ และรุ่น Unix กับ Windows เป็นโปรแกรมแยกกัน บน Windows การใช้งานมักเป็นตัวช่วย JavaScript ที่อ่านตัวแปรอย่างเซิร์ฟเวอร์ DNS ภายในและโดเมนภายในก่อนจะแตะอะแดปเตอร์ใด ๆ ไม่มีอะไรในอุโมงค์เองที่เขียนสถานะของตัวแก้ไขชื่อ
การแยกนั้นสำคัญเพราะค่าหนึ่งอาจมีอยู่ในการเจรจาและไม่เคยไปถึงอะแดปเตอร์ ตัวช่วยที่หายไป ล้มเหลวกลางทาง หรือเป็นสำเนาเก่าที่ฝังอยู่ในเปลือก GUI จะปล่อย Windows ไว้เหมือนเดิมทุกประการ เซสชันดูเหมือนเชื่อมต่อแล้ว ชื่อส่วนตัวยังถูกแก้ผ่านผู้ให้บริการในเครื่อง และไม่มีอะไรในหน้าต่างไคลเอนต์บอกถึงความแตกต่าง การอ่านเอาต์พุตของตัวช่วยเองเป็นวิธีเดียวที่เชื่อถือได้ในการรู้ว่าขั้นตอนไหนพัง
| Stage | What exists there | Where you see it |
|---|---|---|
| Negotiated | Internal DNS address and domain pushed by the gateway | Client log or helper input |
| Installed | Adapter DNS entry, connection suffix, or namespace rule | Adapter and policy queries |
| Selected | Resolver Windows uses for one specific query | The failing application |
เปลือก GUI อาจมาพร้อมสำเนาไคลเอนต์และตัวช่วยของตัวเอง ดังนั้น openconnect.exe ตัวที่สองที่อื่นบนดิสก์จึงไม่ได้พิสูจน์อะไร ค้นหาไฟล์ปฏิบัติการที่เริ่มเซสชันก่อนที่คุณจะตัดสินการกำหนดค่าของมัน
อ่านสถานะของตัวแก้ไขชื่อโดยไม่เปลี่ยนมัน
คำสั่งอ่านอย่างเดียวสามคำสั่งครอบคลุมความสับสนปกติ และแต่ละคำสั่งตอบคำถามที่ต่างกัน:
Get-DnsClientServerAddress -AddressFamily IPv4
Get-DnsClient | Select-Object InterfaceAlias, ConnectionSpecificSuffix
Get-DnsClientNrptPolicy -Effective
เซิร์ฟเวอร์ระดับอะแดปเตอร์คือสิ่งที่คนส่วนใหญ่หมายถึงเมื่อพูดถึง DNS ของ VPN ส่วนต่อท้ายเฉพาะการเชื่อมต่อเป็นตัวตัดสินว่าชื่อสั้นจะถูกขยายหรือไม่ รายการนโยบายเนมสเปซใช้กับชื่อที่ตรงกันโดยไม่คำนึงถึงลำดับอะแดปเตอร์ และผลลัพธ์ว่างที่นั่นไม่ใช่ข้อบกพร่องเมื่อตัวช่วยไม่เคยตั้งใจจะสร้างมัน การอ่านทั้งสามก่อนแก้ไขคือสิ่งที่ป้องกันการซ่อมที่เพียงย้ายอาการไปที่อื่น
เริ่มด้วยชื่อที่คุณสมบัติครบถ้วน หาก FQDN แก้ได้แต่ชื่อสั้นแก้ไม่ได้ ช่องว่างคือส่วนต่อท้ายหรือรายการค้นหา ไม่ใช่ที่อยู่เซิร์ฟเวอร์
ถามเซิร์ฟเวอร์ที่ต้องการโดยตรงเป็นขั้นที่สอง ด้วยเครื่องมือตัวแก้ไขชื่อใดก็ตามที่ติดตั้งอยู่แล้ว คำตอบโดยตรงพิสูจน์ว่าเซิร์ฟเวอร์เข้าถึงได้และมีอำนาจสำหรับโซนนั้น มันไม่ได้พิสูจน์อะไรเกี่ยวกับเซิร์ฟเวอร์ที่แอปพลิเคชันถามโดยค่าเริ่มต้น
ระบุองค์ประกอบที่เป็นเจ้าของการเชื่อมต่อ
การจัดวางสองแบบเป็นเรื่องปกติ ไคลเอนต์ที่เริ่มจากเทอร์มินัลส่งพาธสคริปต์อย่างชัดเจน เจ้าของจึงมองเห็นได้ในคำสั่งที่รัน แอปพลิเคชันที่แพ็กเกจจะเริ่มไคลเอนต์ให้คุณและเก็บตัวช่วยไว้ในไดเรกทอรีของตัวเอง ซึ่งหมายความผู้ขายเป็นผู้ตัดสินว่าเมื่อใดมันจะเปลี่ยน
เปรียบเทียบเวอร์ชันของตัวช่วยระหว่างการติดตั้งก่อนเปลี่ยนสิ่งใด การรันตัวช่วยที่นำมาจากมิเรอร์ด้วยสิทธิ์ที่สูงขึ้นเพียงเพราะชื่อไฟล์ดูคุ้นเคยจะเปลี่ยนช่องว่าง DNS ให้เป็นเหตุการณ์ด้านความปลอดภัย
เมื่อรู้จักเจ้าของแล้ว เป้าหมายการซ่อมก็ชัดเจน: พาธสคริปต์ที่รองรับในตัวเรียกใช้ การอัปเดตแพ็กเกจ หรือโปรไฟล์ที่แก้ไขแล้วบนเกตเวย์ ไม่มีสิ่งใดต้องแก้ไขคุณสมบัติของอะแดปเตอร์ด้วยมือ
ซ่อมเจ้าของ ไม่ใช่อะแดปเตอร์
DNS ที่ตั้งด้วยมือบนอะแดปเตอร์มักอยู่รอดหลังการตัดการเชื่อมต่อ จึงดูเหมือนทำงานแล้วสร้างปัญหาในเครือข่ายถัดไป ตัวแก้ไขชื่อสาธารณะที่ยึดติดกับทุกอินเทอร์เฟซซ่อนปัญหาเนมสเปซส่วนตัวแทนที่จะแก้ไข เมื่อตัวช่วยไม่เคยได้รับค่า DNS โปรไฟล์เกตเวย์คือที่ที่ควรดู เมื่อได้รับแล้วแต่อะแดปเตอร์ยังแสดงเซิร์ฟเวอร์เก่า ตัวช่วยล้มเหลวระหว่างเชื่อมต่อ และบันทึกไคลเอนต์มักบันทึกไว้ใกล้บรรทัดตั้งค่าอุโมงค์
สร้างสถานะใหม่ผ่านเส้นทางที่รองรับ แล้วตรวจสอบวงจรเต็ม: เชื่อมต่อ แก้ FQDN ส่วนตัว เปิดบริการ ตัดการเชื่อมต่อ และยืนยันว่าอะแดปเตอร์กลับมาพร้อมเซิร์ฟเวอร์เดิม
ตรวจสอบแอปพลิเคชันที่ล้มเหลวจริง
เบราว์เซอร์ที่มีการตั้งค่า DNS เข้ารหัสของตัวเองจะไม่สนใจทุกอย่างข้างต้นและยังคงตอบจากตัวแก้ไขชื่อสาธารณะ แอปพลิเคชันที่เก็บคำตอบปฏิเสธแคชไว้จากก่อนที่อุโมงค์จะขึ้นก็ทำงานแบบเดียวกัน เปรียบเทียบกับคำสั่งระบบธรรมดาบนเครื่องเดียวกันก่อนเปลี่ยนที่อยู่ตัวแก้ไขชื่ออีกครั้ง
หากคำสั่งระบบถูกแต่แอปพลิเคชันผิด ข้อบกพร่องที่เหลืออยู่ในการกำหนดค่า DNS ของแอปพลิเคชันนั้น ไม่ใช่ในเส้นทาง VPN