ndhuy2308
Senior Member
Hướng dẫn sử dụng Router Mikrotik tự động cập nhật IP Wan (IP Public không NAT) lên Cloudflare DNS Location thông qua Cloudflare API.
Cách này là cách cập nhật IP nhanh hơn DDNS bởi vì vừa có IP là nó cập nhật lên Cloudflare không đợi update record DNS toàn cầu.
1. Yêu cầu:
2. Phiên bản RouterOS: Hiện tại mình test chạy ổn định 3.000 lượt run script không lỗi lầm trên Router OS 7.12 beta 7.
3. Bắt đầu:
- Lấy tên của Interface WAN của bạn như sau:
Mở Winbox, chọn PPP, tên interface WAN của bạn là ở Name (của mình là pppoe-out1):
(1) Tạo Script fetch tới Cloudflare API
Nhấn dấu (+) để tạo Script mới
Thiết lập tên script và code cho script này:
Code mẫu:
Vui lòng sửa các thông tin dưới đây (không để dấu <>, ví dụ: interface=pppoe-out1):
1. <EDIT PPPOE INTERFACE>
2. <EDIT_ACCOUNT_ID>
3. <EDIT_API_TOKEN>
4. <EDIT_ACCOUNT_EMAIL>
Sau đó nhấn OK để lưu lại.
Như thế này là thành công:
(2) Tạo Scheduler để chạy Script mỗi 1 phút (có thể tuỳ chỉnh theo ý bạn)
Chọn System → Scheduler
Tiếp theo:
Code:
=> Lưu lại và xem thành quả thôi, như thế này là OK.
Nếu các bạn muốn xem kết quả sau khi fetch tới Cloudflare, sửa code tại Script như sau:
Code:
Chúc các bác cấu hình thành công.
Cách này là cách cập nhật IP nhanh hơn DDNS bởi vì vừa có IP là nó cập nhật lên Cloudflare không đợi update record DNS toàn cầu.
1. Yêu cầu:
- Account id (lấy ở #1).
- API KEY (lấy ở #1).
- Account Email: email cloudflare của bạn.
- Tên interface WAN trong router Mikrotik (của mình là pppoe-out1).
- Router Mikrotik
2. Phiên bản RouterOS: Hiện tại mình test chạy ổn định 3.000 lượt run script không lỗi lầm trên Router OS 7.12 beta 7.
3. Bắt đầu:
- Lấy tên của Interface WAN của bạn như sau:
Mở Winbox, chọn PPP, tên interface WAN của bạn là ở Name (của mình là pppoe-out1):
(1) Tạo Script fetch tới Cloudflare API
Nhấn dấu (+) để tạo Script mới
Thiết lập tên script và code cho script này:
Code mẫu:
Mã:
:local ip
set $ip [/ip address get [find interface=<EDIT PPPOE INTERFACE>] address]
:local ipWithoutMask [:pick $ip 0 [:find $ip "/"]]
/tool fetch url="https://api.cloudflare.com/client/v4/accounts/<EDIT_ACCOUNT_ID>/gateway/locations/<EDIT_DNS_LOCATION>" \
mode=https http-method=put \
http-header-field="Authorization: Bearer <EDIT_API_TOKEN>, Content-Type: application/json, X-Auth-Email: <EDIT_ACCOUNT_EMAIL>, X-Auth-Key: <EDIT_API_TOKEN>" \
http-data="{ \"client_default\": true, \"ecs_support\": true, \"name\": \"RouterMikrotik\", \"networks\": [{ \"network\": \"$ip\" }] }" \
output=none
1. <EDIT PPPOE INTERFACE>
2. <EDIT_ACCOUNT_ID>
3. <EDIT_API_TOKEN>
4. <EDIT_ACCOUNT_EMAIL>
Sau đó nhấn OK để lưu lại.
Như thế này là thành công:
(2) Tạo Scheduler để chạy Script mỗi 1 phút (có thể tuỳ chỉnh theo ý bạn)
Chọn System → Scheduler
Tiếp theo:
Code:
Mã:
/system script run update
Nếu các bạn muốn xem kết quả sau khi fetch tới Cloudflare, sửa code tại Script như sau:
Code:
Mã:
dst-path="result.txt"
Sửa lần cuối:


làm mấy nay cứ tưởng mình cấu hình lỗi chỗ nào vào modem mới thấy hóa ra nó ko lưu