Cách thiết lập DNS động (DDNS) trên router MikroTik với FastDDNS

FastDDNS cung cấp hai cách thiết lập RouterOS cho cùng một mục đích: một script một dòng tự tạo bộ lập lịch và một mục nhập thủ công trong Hệ thống > Bộ lập lịch. Hướng dẫn này trình bày cả hai cách, những gì mỗi cách thực sự tạo trên router và cách xác nhận hostname đang được cập nhật.

Minh NguyenMinh NguyenNhà sáng lập & lập trình viên, FastDDNS

Hai cách thiết lập DDNS trên router MikroTik

FastDDNS cung cấp cho mỗi hostname hai thiết lập sẵn RouterOS. Phương pháp 1 là một dòng duy nhất bạn dán vào terminal: dòng lệnh này tải xuống một script được tạo cho hostname của bạn, sau đó tạo một /system script và một /system scheduler cho bạn. Phương pháp 2 là nhập thủ công cùng lệnh cập nhật dưới System > Scheduler. Cả hai đều gọi URL cập nhật của FastDDNS mỗi hai phút.

Sử dụng Phương pháp 1 trừ khi bạn có lý do khác. Sử dụng Phương pháp 2 nếu bạn thích WinBox hơn terminal, nếu router của bạn chặn tải xuống, hoặc nếu bạn muốn đặt scheduler dưới một tên do bạn chọn.


Phương pháp 1 — script tự động Phương pháp 2 — scheduler thủ công
Nơi thực hiện Terminal (WinBox hoặc SSH) System > Scheduler trong WinBox / WebFig
Nội dung cần dán Một dòng Ba trường cộng với một lệnh
Tên scheduler được tạo FastDDNS.net (cố định) Bất kỳ nội dung nào bạn nhập — bảng điều khiển gợi ý fastddns
Khoảng thời gian cập nhật 120 giây 00:02:00
Lần cập nhật đầu tiên Chạy một lần ngay sau khi cài đặt Chạy sau khoảng thời gian đầu tiên
Giới hạn thời gian Liên kết tải xuống hết hạn sau 1 giờ kể từ khi bảng điều khiển tạo liên kết đó Không có

Trước khi bắt đầu

Có bốn điều cần chuẩn bị, trong đó hai điều quyết định việc truy cập từ xa có hoạt động hay không.

  • Một hostname FastDDNS. Tạo một hostname miễn phí tại FastDDNS, sau đó mở hostname đó và cuộn xuống DDNS Configuration Parameters > MikroTik Routers.
  • Quyền quản trị RouterOS thông qua WinBox, WebFig, hoặc SSH.
  • Một địa chỉ IP công cộng thực trên giao diện WAN. Nếu ISP đặt bạn sau Carrier-Grade NAT, DDNS không thể giúp được — hostname sẽ trỏ đến một địa chỉ mà không ai bên ngoài ISP có thể truy cập. Hãy chạy CGNAT Checker trong ứng dụng FastDDNS trên di động trước khi mất thời gian thiết lập router.
  • Port forwarding cho bất kỳ dịch vụ nào bạn muốn truy cập. DDNS chỉ giữ cho hostname trỏ đến đúng địa chỉ. Bạn vẫn cần các quy tắc firewall và NAT tương ứng trên router, và có thể kiểm tra chúng sau đó bằng Kiểm tra Cổng.

Để xem router của bạn thực sự đang lưu những gì, hãy liệt kê các địa chỉ và xem hàng có interface là liên kết WAN — interface mang default route:

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

Nếu địa chỉ WAN đó nằm trong 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 hoặc 100.64.0.0/10, router không có IP công cộng và một thiết bị nào đó ở phía trước đang thực hiện NAT. Dải 100.64.0.0/10 đặc biệt là dải được dành riêng cho Carrier-Grade NAT.


Phương pháp 1 — script cài đặt tự động một dòng

Bước 1 — sao chép dòng lệnh từ bảng hostname

Mở hostname của bạn và cuộn đến phần DDNS Configuration Parameters ở cuối trang. Mỗi dòng thiết bị được hỗ trợ đều có một bảng ở đó; bảng bạn cần là MikroTik Routers.

Phần Tham số Cấu hình DDNS trên trang hostname FastDDNS, với bảng MikroTik Routers ở góc dưới bên phải
Bước 1 — danh sách trong bảng điều khiển ở cuối trang hostname

Mở danh sách đó và sao chép ô bên dưới Phương pháp 1. Đây là một dòng dài kết thúc bằng token thuộc tài khoản của bạn:

Phương pháp 1 hộp bên trong bảng điều khiển MikroTik Routers, hiển thị lệnh cài đặt một dòng với token tải xuống bị ẩn
Token được che trong ảnh chụp màn hình này; trong bảng điều khiển của bạn, token đã được điền sẵn
:do { /tool fetch check-certificate=no url="https://fastddns.net/vi/member/download/YOUR-DOWNLOAD-TOKEN" dst-path=fastddns.txt; import fastddns.txt} on-error={ [:terminal style error]; :put "ERROR"; }

Hãy sao chép dòng thực từ bảng điều khiển thay vì gõ lại dòng này — token là thứ xác định hostname của bạn.

Bước 2 — dán vào terminal

Trong WinBox hãy mở New Terminal, hoặc kết nối qua SSH, sau đó dán dòng này và nhấn Enter. /tool fetch sẽ tải script được cá nhân hóa xuống danh sách Files của router với tên fastddns.txt, rồi import sẽ thực thi script đó.

Về check-certificate=no: tùy chọn này yêu cầu fetch bỏ qua việc xác thực chuỗi tin cậy của chứng chỉ TLS. RouterOS mặc định đã dùng no cho cài đặt đó, và bảng điều khiển ghi rõ tùy chọn này để quá trình tải xuống vẫn hoạt động trên router có kho chứng chỉ trống hoặc đồng hồ chưa đồng bộ. Nếu muốn chứng chỉ được xác thực, hãy chuyển sang check-certificate=yes — thao tác này chỉ thành công khi router đã nhập kho CA và đồng hồ hiển thị đúng giờ. Lưu ý tùy chọn này có tác dụng và không có tác dụng gì: nó chỉ áp dụng cho lần tải xuống một lần này. Script được router cài đặt sau đó có check-certificate=no riêng cho mỗi lần cập nhật định kỳ, và lệnh trong Phương pháp 2 cũng vậy.

Bước 3 — script tạo ra những gì

Tệp được nhập không phải là một hộp đen. Tệp này in hostname, tên người dùng và key của bạn, sau đó thực hiện bốn việc:

  • xóa mọi script và scheduler hiện có tên FastDDNS.net, vì vậy chạy lại sẽ không để lại bản sao trùng lặp;
  • thêm một /system script được gọi là FastDDNS.net chứa lệnh cập nhật;
  • thêm một /system scheduler được gọi là FastDDNS.net với interval=120sstart-time=startup;
  • chạy script ngay lập tức một lần, thay vì chờ lần chạy theo lịch đầu tiên.

Quá trình cài đặt hoàn tất sẽ hiển thị như sau trong terminal:

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

Hãy hiểu đúng ba dòng đó: script và bộ lập lịch hiện đã tồn tại. Chúng không chứng minh hostname đã được cập nhật — trình cài đặt vẫn in Complete add FastDDNS. ngay cả khi lần chạy đầu tiên bị từ chối. Hãy xác nhận việc cập nhật bằng các bước kiểm tra ở phần dưới.

Bước 4 — liên kết tải xuống hết hạn sau một giờ

Token trong dòng đó được tạo khi trang panel được hiển thị và sẽ ngừng hoạt động sau 3600 giây. Nếu dán một bản sao cũ, router sẽ in ERROR, vì máy chủ đã trả về 410 # Download token expired. thay vì script. Cách khắc phục rất đơn giản: tải lại trang hostname rồi sao chép lại dòng đó.

Phần hướng dẫn bên dưới là bản ghi cũ. Panel đã được thiết kế lại từ đó, nên giao diện sẽ không giống các ảnh chụp màn hình ở trên — các bước và lệnh vẫn không thay đổi.