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/0Nế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.

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:

: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=120svàstart-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.
Phương pháp 2 — thiết lập bộ lập lịch thủ công
Phương pháp này cho kết quả giống Phương pháp 1, nhưng bạn tự nhập lệnh và không tải gì xuống router.
Bước 1 — tạo mục bộ lập lịch
Trong WinBox hãy vào System > Scheduler rồi thêm một mục mới với ba giá trị sau. Panel hiển thị các giá trị này bên cạnh script, mỗi giá trị có một nút sao chép:

| Trường | Giá trị | Chức năng |
|---|---|---|
| Name | fastddns |
Dùng tên nào cũng được; tên này giúp dễ nhận ra mục đó trong danh sách |
| Start Time | startup |
Gắn lịch với thời điểm khởi động thay vì một thời điểm trên đồng hồ — xem ghi chú bên dưới bảng này |
| Interval | 00:02:00 |
Lặp lại sau mỗi hai phút |
Có một chi tiết về RouterOS bạn nên biết: start-time=startup hoạt động như thể thời gian bắt đầu là ba giây sau khi console khởi động, nhưng MikroTik ghi rõ rằng một mục có khoảng thời gian khác 0 sẽ không chạy khi khởi động. Vì vậy, lần thực thi đầu tiên xảy ra sau một khoảng thời gian kể từ lúc khởi động, chứ không phải ngay khi khởi động. Sau khi reboot, hostname của bạn được làm mới sau khoảng hai phút, không phải ngay lập tức.
Bước 2 — dán lệnh cập nhật vào On Event
Sao chép On Event từ bảng điều khiển. Cấu trúc như sau:
:do {/tool fetch check-certificate=no url="https://client.fastddns.net/?hostname=myhome.fastddns.net&user_name=YOUR-USERNAME&user_pass=YOUR-UPDATE-PASSWORD" dst-path=fastddns.ip; :local statusip [:pick [/file get fastddns.ip contents] 0 3]; if ($statusip = "noc" || $statusip = "goo") do={[/terminal style ambiguous];:put "Updated IP address";}; } on-error={[:terminal style error];:put "Can not connect to server FastDDNS.net.";:error "exit";};Không cần thay thế thủ công — bảng điều khiển đã điền sẵn hostname, tên người dùng và mật khẩu cập nhật của bạn. Ba chỗ giữ chỗ ở trên chỉ đại diện cho các giá trị riêng tư của tài khoản bạn.
Bước 3 — cách script biết cập nhật đã thành công
Lệnh fetch lưu phản hồi của máy chủ vào fastddns.ip, rồi :pick … 0 3 đọc ba ký tự đầu tiên. FastDDNS phản hồi theo từ vựng DynDNS tiêu chuẩn, nên ba ký tự này đủ để phân biệt các kết quả:
| Phản hồi | 3 ký tự đầu tiên | Ý nghĩa |
|---|---|---|
good |
goo |
Hostname đã được cập nhật thành địa chỉ mới |
nochg |
noc |
Địa chỉ không thay đổi — không cần làm gì |
badauth |
bad |
Sai tên người dùng hoặc mật khẩu cập nhật |
Script chỉ kiểm tra goo và noc, rồi in Updated IP address cho cả hai trường hợp. Mọi trường hợp khác — kể cả badauth — đều bị bỏ qua trong im lặng: lệnh fetch đã chạy thành công, nên on-error không bao giờ được kích hoạt và không có gì được in ra. Im lặng không có nghĩa là thành công. Khi không chắc chắn, hãy đọc fastddns.ip Giao thức này được ghi chép trên trang API khách hàng FastDDNS nếu bạn muốn tự viết script.
Hướng dẫn thủ công trong video — một lần nữa, đây là bản ghi cũ của bảng điều khiển, với cùng bốn giá trị.
Kiểm tra hostname có thực sự được cập nhật không
Ba kiểm tra trên router, một kiểm tra bên ngoài. Trên router:
/system scheduler print
/file print
:put [/file get fastddns.ip contents]Danh sách scheduler có một cột run-count tăng lên sau mỗi hai phút. Điều đó cho biết mục nhập đang chạy — nhưng không cho biết cập nhật đã thành công, vì scheduler chạy một lệnh bị lỗi vẫn tiếp tục tăng giá trị. Bằng chứng nằm trong tệp: fastddns.ip phải tồn tại, và nội dung của nó phải bắt đầu bằng
good hoặc nochg — máy chủ có thể thêm địa chỉ mà nó đã ghi nhận.
Bên ngoài router, hãy phân giải hostname từ bất kỳ máy nào và so sánh với địa chỉ IP công cộng hiện tại của bạn:
nslookup myhome.fastddns.netBảng hostname của bạn cũng hiển thị dấu thời gian Last Updated, được cập nhật kể từ Not yet updated lần đầu router báo cáo. FastDDNS áp dụng địa chỉ mới trong vòng chưa đầy 60 giây, mặc dù bộ nhớ đệm DNS cục bộ của bạn có thể giữ địa chỉ cũ lâu hơn một chút.
Khắc phục sự cố DDNS trên MikroTik
| Điều bạn thấy | Nguyên nhân | Cách xử lý |
|---|---|---|
ERROR ngay sau khi dán dòng lệnh của Phương pháp 1 |
Token tải xuống đã hết hạn hoặc router không thể truy cập trang web | Tải lại trang hostname, sao chép lại dòng lệnh và dán trong vòng một giờ |
| Can not connect to server FastDDNS.net. | Router không thể phân giải hoặc truy cập URL cập nhật | Hãy chẩn đoán trước khi thay đổi bất cứ điều gì: /ip dns print để kiểm tra resolver đã cấu hình, sau đó :put [:resolve client.fastddns.net] để kiểm tra việc phân giải tên từ chính router. Chỉ thêm resolver công cộng nếu danh sách trống — ghi đè một resolver nội bộ đang hoạt động sẽ làm hỏng việc phân giải tên cục bộ |
fastddns.ip có chứa badauth |
Tên đăng nhập hoặc mật khẩu cập nhật trong lệnh không đúng | Sao chép lại ô On Event từ bảng điều khiển; nếu bạn đã chuyển từ nhà cung cấp khác, hãy xem hướng dẫn về thay thế địa chỉ máy chủ No-IP hoặc DynDNS |
| Hostname được phân giải, nhưng không có gì phản hồi trên port của bạn | DDNS đang hoạt động; đường dẫn vào mạng của bạn không hoạt động | Thêm các quy tắc NAT và firewall, sau đó kiểm tra port từ bên ngoài bằng Port Check |
| Hostname được phân giải thành một địa chỉ không phải IP công cộng của bạn | Router nằm sau một lớp NAT khác, thường là CGNAT | So sánh /ip address print với thông tin tra cứu IP công cộng; nếu khác nhau, hãy yêu cầu nhà cung cấp dịch vụ Internet cấp cho bạn một IP công cộng |
| Mọi thứ hoạt động bình thường, rồi ngừng hoạt động sau vài tháng | Một hostname miễn phí được gia hạn mỗi năm một lần, còn hostname tạm thời có thời hạn 30 ngày | Gia hạn hostname từ tài khoản của bạn hoặc chuyển sang gói có hostname không hết hạn |
Giữ script cập nhật của bạn ở chế độ riêng tư
Cả hai phương pháp đều lưu hostname, tên người dùng và mật khẩu cập nhật dưới dạng văn bản thuần trên router — trong trường On EventOn Event của bộ lập lịch hoặc bên trong /system script. Bất kỳ ai có thể đọc cấu hình đều có thể đọc những giá trị đó, vì vậy hãy coi bản xuất toàn bộ RouterOS như một tệp mật khẩu. Nếu bạn đã dán một bản vào bài đăng trên diễn đàn hoặc phiếu hỗ trợ, hãy thay đổi mật khẩu cập nhật trong tài khoản và cài đặt lại script.
Tệp fastddns.txtđược tải xuống chỉ cần thiết trong quá trình cài đặt. Bạn có thể xóa tệp này sau đó khỏi Files mà không ảnh hưởng đến bộ lập lịch.
Câu hỏi thường gặp
Tôi có cần mở port cho việc cập nhật DDNS không?
Không. Router mở kết nối HTTPS đi tới FastDDNS, vì vậy không cần quy tắc kết nối đến cho việc cập nhật. Bạn cần port forwarding cho các dịch vụ muốn truy cập qua hostname, chẳng hạn như port 554 cho RTSP hoặc port web của camera.
MikroTik gửi bản cập nhật bao lâu một lần và hostname thay đổi nhanh đến mức nào?
Bộ lập lịch chạy hai phút một lần ở cả hai phương pháp. Khi địa chỉ thực sự thay đổi, FastDDNS áp dụng địa chỉ mới trong chưa đầy 60 giây, vì vậy trong trường hợp chậm nhất sau khi IP thay đổi, bạn sẽ phải chờ khoảng hai phút theo lịch, cộng thêm thời gian cập nhật.
Điều này có hoạt động nếu ISP của tôi sử dụng CGNAT không?
Không. Khi ở sau Carrier-Grade NAT, router của bạn không có địa chỉ IP công cộng riêng, nên hostname không có địa chỉ phù hợp để trỏ tới và các kết nối đến bị ISP chặn. DDNS giải quyết vấn đề địa chỉ thay đổi, không giải quyết việc không có địa chỉ công cộng. Hãy yêu cầu ISP cấp cho bạn một địa chỉ IP công cộng hoặc sử dụng dịch vụ tạo đường hầm đi ra ngoài.
Hostname có hết hạn không?
Hostname miễn phí vĩnh viễn được gia hạn mỗi năm một lần từ tài khoản của bạn, còn hostname tạm thời có thời hạn 30 ngày. Hostname trong gói trả phí không hết hạn; thông tin chi tiết có trên trang giá.
Đang sử dụng router khác? Cùng một URL cập nhật sẽ hoạt động ở bất kỳ nơi nào có thể gửi yêu cầu HTTPS theo lịch, bao gồm cấu hình DrayTek được đề cập ở đây.





