เอกสาร

DDNS

อินเทอร์เน็ตบ้านและสำนักงานมักมาพร้อม IP สาธารณะไดนามิกที่เปลี่ยนโดยไม่บอก DDNS คงโดเมนคงที่ให้ชี้ไป IP ปัจจุบันของเครื่อง — ไคลเอนต์และเซิร์ฟเวอร์อื่นแค่จำชื่อ ไม่ต้องจำที่อยู่

หลักการ

สถาปัตยกรรม DDNS — ผู้จัดการตรวจ IP ท้องถิ่นเป็นระยะ, addon อัปเดตระเบียน DNS ผ่าน API ผู้ให้บริการ, ไคลเอนต์เชื่อมต่อด้วยโดเมน

ทั้งไปป์ไลน์ทำงานอัตโนมัติในพื้นหลังของเซิร์ฟเวอร์:

  1. ผู้จัดการ DDNS รีเฟรชเป็นรอบคงที่ (ค่าเริ่มต้นทุก 5 นาที ปรับผ่านตัวแปร TERMINAL_SERVER_DDNS_POLL_INTERVAL_SECS); การบันทึกการตั้งค่ากระตุ้นรีเฟรชทันที และไม่มีอะไรรันตราบบริการปิดอยู่;
  2. การตรวจ IP ท้องถิ่น อ่านอินเทอร์เฟซที่เลือกก่อน ย้อนไปการค้นแบบเส้นทาง และกรองผลตามการตั้ง IP Family (IPv4 / IPv6 / คู่);
  3. addon DDNS — สคริปต์ JS แบบแซนด์บ็อกซ์ — รับการตั้งค่าที่ถอดรหัสและ IP ปัจจุบันแล้วเรียก API ผู้ให้บริการ DNS ผ่าน HTTP addon Cloudflare ในตัว เช่น ค้นหาโซนตามโดเมนแล้วเขียนระเบียน A / AAA ใหม่เป็น IP ปัจจุบัน ลบระเบียนเก่าเมื่อครอบครัวที่อยู่หายไป;
  4. ไคลเอนต์ แก้โดเมนเป็น IP ล่าสุดและเชื่อมต่อด้วยชื่อ

การตั้งค่า

เปิดส่วน DDNS ของ Web UI:

  1. เปิด Enable คุณยังปล่อยบริการปิดได้ระหว่างกรอกทุกอย่าง — บริการที่ปิดบันทึกการตั้งค่าแต่ไม่รัน;
  2. เลือกผู้ให้บริการใต้ Provider; Cloudflare DDNS มีในตัว;
  3. กรอกฟิลด์ผู้ให้บริการ (ตัวอย่าง Cloudflare):
    • Email — อีเมลบัญชี Cloudflare;
    • API Token — โทเคนที่มีสิทธิ์ Zone → DNS → Edit;
    • Domain — โดเมนรากของโซน เช่น example.com;
    • Subdomain — ชื่อระเบียนในโซน เช่น sub สำหรับ sub.example.com; เว้นว่างสำหรับรากโซน;
  4. ใน Network Interface & IP เลือก Interface และ IP Family Dual Stack ต้องการให้อินเทอร์เฟซมีทั้งที่อยู่ IPv4 และ IPv6;
  5. คลิก Save แล้ว Sync Now เพื่อตรวจ Sync Status แสดง IP ล่าสุดที่ push และเวลาซิงก์ พร้อมข้อความผิดพลาดของ addon เมื่อล้มเหลว

ความปลอดภัย

ข้อมูลรับรองผู้ให้บริการ (โทเคน API) ถูกเข้ารหัสก่อนเก็บ (enc-v2:) และถอดรหัสในหน่วยความจำเฉพาะขณะ addon รัน; addon ทำงานใน runtime JS แบบแซนด์บ็อกซ์โดยมี HTTP ขาออกเป็นความสามารถเดียว

การขยายผู้ให้บริการ

ผู้ให้บริการเป็น addon: แมนิเฟสต์ JSON (ประกาศฟิลด์ตั้งค่าที่ Web UI เปลี่ยนเป็นแบบฟอร์ม) บวกสคริปต์ JS ที่เปิด run() cloudflare-ddns ในตัวคือการอ้างอิง — ผู้ให้บริการกำหนดเองอัปโหลดเป็น zip ได้ในส่วน Addons

ร่วมกับฟีเจอร์อื่น

  • เมื่อโดเมนแก้ได้ QR code ของส่วน Server สลับ Connection Type เป็น DDNS Domain ได้ ให้ไคลเอนต์สแกนการเชื่อมต่อแบบโดเมน;
  • เซิร์ฟเวอร์อื่นใส่ wss://your-domain:port ใน Relay Address เพื่อรันห่วงโซ่รีเลย์ผ่านโดเมนได้ (ดูบท Relay)