วิธีตั้งค่า DNS แบบไดนามิก (DDNS) บน MikroTik router ด้วย FastDDNS

FastDDNS มีการตั้งค่า RouterOS สองแบบสำหรับงานเดียวกัน: สคริปต์แบบบรรทัดเดียวที่สร้างตัวจัดตารางเวลาให้คุณ และการเพิ่มรายการ System > Scheduler ด้วยตนเอง คู่มือฉบับนี้ครอบคลุมทั้งสองวิธี อธิบายสิ่งที่แต่ละวิธีสร้างบนเราเตอร์ และวิธีตรวจสอบว่าโฮสต์เนมกำลังอัปเดตจริงหรือไม่

Minh NguyenMinh Nguyenผู้ก่อตั้งและนักพัฒนา FastDDNS

สองวิธีในการตั้งค่า DDNS บน router MikroTik

FastDDNS มีการตั้งค่า hostname สำเร็จรูปให้เลือกสองแบบ RouterOS สำเร็จรูปสองแบบ วิธีที่ 1 คือบรรทัดเดียวที่คุณวางลงในเทอร์มินัล: ระบบจะดาวน์โหลดสคริปต์ที่สร้างขึ้นสำหรับ hostname ของคุณ จากนั้นสร้าง /system scriptสคริปต์/system scheduler และรายการตัวกำหนดเวลาให้คุณ วิธีที่ 2 คือการป้อนคำสั่งอัปเดตเดียวกันด้วยมือลงในตัวกำหนดเวลาSystem > Scheduler ทั้งสองวิธีจะเรียก URL อัปเดตของ FastDDNS ทุกสองนาที

ใช้วิธีที่ 1 เว้นแต่คุณมีเหตุผลที่จะไม่ใช้ ใช้วิธีที่ 2 หากคุณต้องการใช้ WinBox มากกว่าเทอร์มินัล หากเราเตอร์ของคุณบล็อกการดาวน์โหลด หรือหากคุณต้องการตัวกำหนดเวลาภายใต้ชื่อที่คุณเลือก


วิธีที่ 1 — สคริปต์อัตโนมัติ วิธีที่ 2 — ตัวกำหนดเวลาด้วยมือ
ตำแหน่งที่ทำงาน เทอร์มินัล (WinBox หรือ SSH) System > Scheduler ใน WinBox / WebFig
สิ่งที่คุณวาง หนึ่งบรรทัด สามช่องและคำสั่งหนึ่งคำสั่ง
ชื่อตัวกำหนดเวลาที่สร้างขึ้น FastDDNS.net (คงที่) ชื่อใดก็ได้ที่คุณพิมพ์ — แผงควบคุมจะแนะนำ fastddns
ช่วงเวลาการอัปเดต 120 วินาที 00:02:00
การอัปเดตครั้งแรก ทำงานหนึ่งครั้งทันทีหลังติดตั้ง ทำงานหลังจากช่วงเวลาแรก
จำกัดเวลา ลิงก์ดาวน์โหลดจะหมดอายุ 1 ชั่วโมงหลังจากที่แผงควบคุมสร้างลิงก์ ไม่มี

ก่อนเริ่มต้น

มีสี่สิ่งที่ต้องเตรียม และสองสิ่งในนั้นเป็นตัวตัดสินว่าการเข้าถึงระยะไกลจะใช้งานได้หรือไม่

  • ชื่อโฮสต์ FastDDNS สร้างได้ฟรีที่ FastDDNS จากนั้นเปิด hostname นั้นแล้วเลื่อนลงไปที่ DDNS Configuration Parameters > MikroTik Routers
  • สิทธิ์ผู้ดูแลระบบใน RouterOS ผ่าน WinBox, WebFig, หรือ SSH.
  • IP สาธารณะจริงบนอินเทอร์เฟซ WAN หาก ISP ของคุณให้คุณอยู่หลัง Carrier-Grade NAT, DDNS จะช่วยไม่ได้ — hostname จะชี้ไปยังที่อยู่ที่ไม่มีใครภายนอก ISP เข้าถึงได้ เรียกใช้ CGNAT Checker ใน แอป FastDDNS บนมือถือ ก่อนเสียเวลาไปกับ router
  • การเปิดพอร์ตสำหรับสิ่งที่คุณต้องการเข้าถึง DDNS ทำหน้าที่เพียงรักษาให้ชื่อชี้ไปยังที่อยู่ที่ถูกต้อง คุณยังต้องตั้งค่ากฎ firewall และ NAT ที่ตรงกันบน router และสามารถตรวจสอบได้ภายหลังด้วย Port Check

หากต้องการดูว่า router ของคุณมีที่อยู่ใดอยู่จริง ให้แสดงรายการที่อยู่ทั้งหมด แล้วดูแถวที่อินเทอร์เฟซเป็นลิงก์ WAN ของคุณ — ลิงก์ที่ใช้เส้นทางเริ่มต้น:

/ip address print
/ip route print where dst-address=0.0.0.0/0

หากที่อยู่ WAN นั้นอยู่ใน 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 หรือ 100.64.0.0/10 router จะไม่มี IP สาธารณะ และมีอุปกรณ์บางอย่าง upstream กำลังทำ NAT อยู่ ช่วง 100.64.0.0/10 โดยเฉพาะคือช่วงที่สงวนไว้สำหรับ Carrier-Grade NAT


วิธีที่ 1 — สคริปต์ติดตั้งอัตโนมัติแบบบรรทัดเดียว

ขั้นตอนที่ 1 — คัดลอกบรรทัดจากแผง hostname

เปิด hostname ของคุณแล้วเลื่อนลงไปที่ส่วน DDNS Configuration Parameters ด้านล่างของหน้า อุปกรณ์ทุกตระกูลที่รองรับจะมีแผงอยู่ที่นั่น แผงที่คุณต้องการคือ MikroTik Routers

ส่วนพารามิเตอร์การกำหนดค่า DDNS ของหน้าโฮสต์เนม FastDDNS โดยมีแผง MikroTik Routers อยู่มุมล่างขวา
ขั้นตอนที่ 1 — รายการแผงด้านล่างหน้า hostname

เปิดแผงนั้นแล้วคัดลอกกล่องใต้ วิธีที่ 1 เป็นบรรทัดยาวบรรทัดเดียวที่ลงท้ายด้วย token ซึ่งเป็นของบัญชีคุณ:

วิธีที่ 1 กล่องภายในแผงควบคุม MikroTik Routers แสดงคำสั่งติดตั้งแบบบรรทัดเดียวโดยมีโทเค็นดาวน์โหลดถูกซ่อนอยู่
token ถูกปิดบังไว้ในภาพหน้าจอนี้ แต่ในแผงควบคุมของคุณจะกรอกไว้เรียบร้อยแล้ว
:do { /tool fetch check-certificate=no url="https://fastddns.net/th/member/download/YOUR-DOWNLOAD-TOKEN" dst-path=fastddns.txt; import fastddns.txt} on-error={ [:terminal style error]; :put "ERROR"; }

คัดลอกบรรทัดจริงจากแผงควบคุม แทนการพิมพ์บรรทัดนี้ใหม่ — token ใช้ระบุ hostname ของคุณ

ขั้นตอนที่ 2 — วางลงในเทอร์มินัล

ใน WinBox ให้เปิด New Terminal หรือเชื่อมต่อผ่าน SSH จากนั้นวางบรรทัดดังกล่าวแล้วกด Enter /tool fetch จะดาวน์โหลดสคริปต์เฉพาะของคุณไปไว้ในรายการ Files ของเราเตอร์เป็น fastddns.txt จากนั้น import จะเรียกใช้สคริปต์นั้น

สำหรับ check-certificate=no: ค่านี้บอกให้ fetch ข้ามการตรวจสอบ trust chain ของใบรับรอง TLS โดย RouterOS ตั้งค่าเริ่มต้นสำหรับตัวเลือกนี้เป็น no อยู่แล้ว และแผงควบคุมระบุค่านี้ไว้อย่างชัดเจน เพื่อให้การดาวน์โหลดทำงานได้แม้ router จะไม่มีใบรับรองใน certificate store หรือเวลายังไม่ซิงค์ หากต้องการตรวจสอบใบรับรอง ให้เปลี่ยนเป็น check-certificate=yes — ซึ่งจะทำงานได้ก็ต่อเมื่อ router นำเข้า CA store แล้วและเวลาถูกต้อง โปรดทราบว่าการเปลี่ยนค่านี้มีผลเฉพาะการดาวน์โหลดครั้งเดียวนี้เท่านั้น สคริปต์ที่ router ติดตั้งภายหลังมี check-certificate=no ของตัวเองสำหรับการอัปเดตแต่ละครั้ง และคำสั่งของวิธีที่ 2 ก็เช่นกัน

ขั้นตอนที่ 3 — สคริปต์สร้างอะไรขึ้นบ้าง

ไฟล์ที่นำเข้าไม่ใช่กล่องดำ ไฟล์นี้จะแสดง hostname, username และ key ของคุณ จากนั้นทำสี่อย่างต่อไปนี้:

  • ลบสคริปต์และ scheduler ที่มีอยู่ซึ่งชื่อ FastDDNS.net ออก เพื่อให้การเรียกใช้ซ้ำไม่ทิ้งรายการซ้ำไว้
  • เพิ่ม /system script ชื่อ FastDDNS.net ซึ่งมีคำสั่งอัปเดต
  • เพิ่ม /system scheduler ชื่อ FastDDNS.net พร้อมด้วย interval=120s และ start-time=startup
  • รันสคริปต์ทันทีครั้งเดียว แทนการรอรันตามตารางครั้งแรก

การติดตั้งที่เสร็จสมบูรณ์จะมีลักษณะดังนี้ในเทอร์มินัล:

ADD new Script: Complete.
ADD new Scheduler: Complete.
Complete add FastDDNS.

อ่านสามบรรทัดนี้ตามที่เป็นจริง: ตอนนี้มีสคริปต์และ scheduler แล้ว สิ่งเหล่านี้ไม่ได้ยืนยันว่า hostname ได้รับการอัปเดต — ตัวติดตั้งจะแสดง Complete add FastDDNS. แม้ว่าการรันครั้งแรกจะถูกปฏิเสธก็ตาม ตรวจสอบการอัปเดตจริงด้วยวิธีตรวจสอบด้านล่าง

ขั้นตอนที่ 4 — ลิงก์ดาวน์โหลดจะหมดอายุหลังผ่านไปหนึ่งชั่วโมง

token ในบรรทัดนั้นสร้างขึ้นเมื่อหน้าแผงควบคุมถูกแสดงผล และจะหยุดทำงานหลังจาก 3600 วินาที หากวางสำเนาเก่า router จะแสดง ERROR เนื่องจากเซิร์ฟเวอร์ตอบกลับเป็น 410 # Download token expired. แทนที่จะเป็นสคริปต์ วิธีแก้คือง่าย ๆ เพียงโหลดหน้า hostname ของคุณใหม่ แล้วคัดลอกบรรทัดนั้นอีกครั้ง

วิดีโอแนะนำด้านล่างเป็นการบันทึกเก่า แผงควบคุมได้รับการออกแบบใหม่ตั้งแต่นั้น จึงไม่ตรงกับภาพหน้าจอด้านบน — แต่ขั้นตอนและคำสั่งยังเหมือนเดิม