ฉันได้ตั้งค่า 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