ฉันได้ตั้งค่า Zerotier Controller ของตัวเองโดยใช้ ztncui และมันก็ใช้งานได้ดี แต่มีส่วนหนึ่งของการตั้งค่าของฉันที่ดูเหมือนจะไม่สามารถทำงานได้ นั่นคือการให้ไคลเอนต์ใช้ DNS ที่ฉันกำหนดค่าสำหรับเครือข่าย ZeroTier DNS ได้รับการกำหนดค่าดังนี้:
{
"โดเมน": "",
"เซิร์ฟเวอร์": [
"10.10.14.26"
]
}
ที่ไหน 10.10.14.26
เป็นที่อยู่ IP ZeroTier ของเซิร์ฟเวอร์ DNS (เช่นเดียวกับเซิร์ฟเวอร์ Linux ที่ใช้การส่งต่อ dnsmasq ไปยังเราเตอร์ในเครื่อง) เมื่อใดก็ตามที่ฉันทดสอบการตอบสนองของเซิร์ฟเวอร์ DNS โดยตรงบนไคลเอนต์ ZeroTier ฉันจะได้รับผลลัพธ์ที่ถูกต้อง (เช่น การกำหนดค่า DNS ของฉันเพื่อใช้โดยตรง หรือการระบุเซิร์ฟเวอร์ DNS เมื่อใช้ ขุด
) อย่างไรก็ตาม เมื่อเลือก "อนุญาตการกำหนดค่า DNS" บนไคลเอนต์ พวกเขายังคงปฏิเสธที่จะแก้ไขชื่อโฮสต์ที่จะได้รับการแก้ไขเมื่อถามเซิร์ฟเวอร์ DNS โดยตรง
ฉันยังลองใช้ที่อยู่ IP ในเครื่องของเซิร์ฟเวอร์ DNS แทนที่จะเป็น ZeroTier IP ด้วยผลลัพธ์เดียวกัน (การส่งต่อ IP ถูกตั้งค่าบนเซิร์ฟเวอร์ Linux เดียวกันนั้นเพื่อให้ไคลเอนต์สามารถเข้าถึง IP ในเครื่องได้เช่นกัน)
ฉันต้องทำอย่างไรเพื่อให้แน่ใจว่าไคลเอ็นต์ ZeroTier จะใช้เซิร์ฟเวอร์ DNS ที่ฉันกำหนดค่าไว้
แผนสำรองของฉันคือเพียงแค่เขียนสคริปต์ต่างๆ สำหรับแพลตฟอร์มต่างๆ ที่ฉันต้องการสนับสนุน และให้เขียนทับและกู้คืน DNS ทั่วโลกเมื่อเชื่อมต่อและยกเลิกการเชื่อมต่อกับเครือข่าย ZeroTier ตามลำดับ แต่ตัวเลือก "อนุญาตการกำหนดค่า DNS" จะใช้อะไร .
ฉันรู้ว่าฟีเจอร์ DNS ใช้ไม่ได้กับไคลเอ็นต์ Linux แต่ฉันจะเป็นไคลเอ็นต์ Linux ตัวเดียว ดังนั้นนี่จึงไม่ใช่ปัญหาสำหรับฉันมากนัก ลูกค้าที่เหลือจะใช้ Windows หรือ MacOS ซึ่งเป็นคุณลักษณะนี้ รายงานตัวเข้าทำงาน:
ขณะนี้ DNS ที่มีการจัดการ ZeroTier รองรับเฉพาะบน Windows, MacOS, Android และ iOS เท่านั้น การสนับสนุน Linux กำลังจะมาถึง แต่อาจจำกัดเฉพาะการกำหนดค่าตัวแก้ไข DNS ของ Linux ทั่วไป เช่น ที่พบใน Debian และ CentOS/RHEL