Hướng dẫn thực hành · MikroTik

Trong trang này

Cài đặt cảnh báo mạng mở rộng MikroTik

Phạm vi

Gói cảnh báo được gom thành ba nhóm độc lập:

Tất cả dùng lại Bot Token, Chat ID, PPPoE interface và probe trong pppoe-monitor-config. Phải cài PPPoE Monitor trước. Không nhập lại Bot Token vào các Source bên dưới.

Cài nhanh bằng Terminal

Dán nguyên dòng sau sau khi PPPoE Monitor đã hoạt động:

/tool fetch url="https://mikrotik.thachanhitt.vn/network-alerts-install.rsc" dst-path="network-alerts-install.rsc" check-certificate=yes; /import file-name="network-alerts-install.rsc"; /file remove [find where name="network-alerts-install.rsc"]

Installer tạo ba nhóm ở trạng thái Disabled. Chạy thử rồi bật theo mục 7.

Cập nhật lỗi tin khởi động bị lặp

Với router đã cài, không cần chạy lại installer:

  1. Trong System → Scripts → network-alert-router, thay Source bằng Source mới.
  2. Trong System → ScriptsSystem → Scheduler, tích thêm quyền policy cho các script/scheduler của gói được liệt kê bên dưới; giữ nguyên các quyền đang có. Áp dụng tương tự cho pppoe-monitor, pppoe-monitor-config, pppoe-monitor-reset và Scheduler pppoe-monitor-every-3m nếu đã cài.
  3. Sau khi cập nhật, lần khởi động tiếp theo chỉ gửi một tin thành công, gồm IP WAN PPPoE. Nếu Telegram lỗi, script vẫn thử lại trong 10 phút đầu.

Quyền chạy script phụ thuộc cách gọi; xem MikroTik Script permissions.

1. Tạo Script

Trong WinBox/WebFig, vào System → Scripts → +. Tạo năm Script:

Name Policy Source
network-alert-config read, write, policy, test Mở Source
network-alert-router read, write, policy, test Mở Source
network-alert-wan read, write, policy, test Mở Source
network-alert-lan-security read, write, policy, test Mở Source
network-alert-lan-dhcp read, write, policy, test Mở Source

Mở từng file Source, sao chép toàn bộ nội dung rồi dán vào ô Source. Không dán khối Source dài vào Terminal.

Nếu cài hoàn toàn thủ công thay vì chạy installer, chạy một lần:

:global netAlertRouterBootSent; :set netAlertRouterBootSent true

Lệnh này tránh báo reboot giả ngay sau khi vừa cài.

2. Tạo ba Scheduler

Vào System → Scheduler → +. Tạo ba Scheduler và giữ Disabled cho tới khi thử xong.

Router

CPU được đọc mỗi phút. RAM/storage được đọc mỗi 5 lần chạy. Sau reboot, script thử gửi thông báo mỗi phút trong 10 phút đầu cho tới khi thành công. Tin khởi động liệt kê IP WAN của các PPPoE đang kết nối, không đọc hoặc đính kèm log reboot. Gửi thành công một lần thì dừng trong lần khởi động đó.

Quyền policy cùng test cần cho biến global giữ trạng thái giữa các lần Scheduler chạy. Thiếu policy có thể làm tin khởi động gửi lại mỗi phút dù log đã ghi SUCCESS; chạy thử bằng Terminal với quyền admin sẽ không phát hiện lỗi này.

WAN

Trạng thái PPPoE được kiểm tra mỗi phút. Packet loss/latency và counter cổng WAN được kiểm tra mỗi 5 lần chạy. CGNAT được kiểm tra mỗi 60 lần chạy.

Khi một đường PPPoE đang rớt, đang chờ gửi báo phục hồi, hoặc mới phục hồi chưa đủ 5 phút, các cảnh báo wan của riêng đường đó tạm dừng. Nhóm routerlan-security vẫn chạy. Cơ chế này tránh Quality, CGNAT, link flap và lỗi cổng gửi dồn khi Internet vừa lên lại.

LAN Security

CLI tương đương:

/system scheduler add name="network-alert-router-every-1m" interval=1m on-event="/system script run network-alert-router" policy=read,write,policy,test disabled=yes
/system scheduler add name="network-alert-wan-every-1m" interval=1m on-event="/system script run network-alert-wan" policy=read,write,policy,test disabled=yes
/system scheduler add name="network-alert-lan-security-every-1m" interval=1m on-event="/system script run network-alert-lan-security" policy=read,write,policy,test disabled=yes

3. Cấu hình phát hiện loop mạng

network-alert-lan-security chỉ báo loop Layer 2 khi có bằng chứng từ RouterOS:

Ưu tiên dùng protocol-mode=rstp trên bridge. Kiểm tra:

/interface bridge print detail

Không tự đổi toàn bộ bridge/port từ xa nếu chưa hiểu topology. Nếu muốn chủ động chặn loop, chỉ bật Loop Protect trên cổng LAN vật lý đã xác định:

/interface ethernet set ether2 loop-protect=on loop-protect-disable-time=5m

Không bật trên WAN, cổng quản trị duy nhất hoặc toàn bộ port cùng lúc.

4. Tạo DHCP Alert

Chỉ dùng trên interface LAN đang chạy DHCP Server hoặc dùng IP tĩnh. Không bật trên interface đang chạy DHCP Client.

Vào IP → DHCP Server → Alerts → +:

:global netAlertDhcpInterface $interface; :global netAlertDhcpAddress $address; :global netAlertDhcpMac $"mac-address"; /system script run network-alert-lan-dhcp

Giữ Disabled lúc đầu. DHCP Alert là tính năng RouterOS có sẵn; nó gửi DHCP Discover mỗi phút để tìm server lạ. Xem MikroTik DHCP Alerts.

5. Chất lượng WAN và device-mode

Nhóm WAN luôn đo packet loss bằng /ping. Nó dùng thêm /tool flood-ping để lấy độ trễ trung bình. Nếu RouterOS 7 device-mode chặn flood-ping, packet loss vẫn hoạt động và latency hiển thị không đo được.

Không tự bật thêm quyền device-mode từ xa. Thay đổi device-mode cần xác nhận vật lý và có thể ảnh hưởng bảo mật.

6. Cổng WAN được giám sát

Nhóm WAN tự lấy interface nền của PPPoE và lần qua một lớp VLAN. Nếu topology khác hoặc log báo không tìm thấy Ethernet port, sửa trong Source network-alert-config:

:global netAlertWanPort1 "ether1"
:global netAlertWanPort2 "ether2"

Script chỉ đọc counter, không reset counter và không tắt cổng.

7. Chạy thử và bật nhóm

/system script run network-alert-router
/system script run network-alert-wan
/system script run network-alert-lan-security
/log print where message~"NET-ALERT"

Không có ERROR hoặc TELEGRAM ... FAILED thì bật nhóm cần dùng:

/system scheduler enable [find where name="network-alert-router-every-1m"]
/system scheduler enable [find where name="network-alert-wan-every-1m"]
/system scheduler enable [find where name="network-alert-lan-security-every-1m"]
/ip dhcp-server alert enable [find where on-alert~"network-alert-lan-dhcp"]

Muốn tắt nhóm LAN Security hoàn toàn phải tắt cả Scheduler và DHCP Alert.

8. Ngưỡng mặc định

Sửa đầu Source network-alert-config nếu cần:

9. Tải và tính khả thi

Ba nhóm dùng ba Scheduler vì vẫn cần bật/tắt độc lập. Gom tiếp thành một Scheduler sẽ giảm rất ít tải nhưng mất khả năng tách nhóm.

Sau khi bật, theo dõi 24 giờ:

/system resource print
/system script job print
/log print where message~"NET-ALERT"

Kiểm tra thực tế trên đúng RouterOS và model router vẫn bắt buộc trước khi dùng chính thức.