Bỏ qua nội dung
InstagramYouTubeFacebook

Tutorial

MikroTik Dual-WAN Failover cho ISP

Cách xây dựng MikroTik dual-WAN failover đáng tin cậy cho đội ISP: định tuyến đệ quy, Netwatch, NAT theo WAN, thời gian chuyển mạch và kiểm tra từ xa.

Tóm tắt MikroTik dual-WAN failover giữ một địa điểm trực tuyến bằng cách tự động chuyển lưu lượng sang uplink dự phòng khi đường chính bị lỗi. RouterOS cung cấp cho bạn ba khối xây dựng — định tuyến đệ quy với check-gateway, Netwatch và NAT theo WAN — và sự kết hợp đúng phụ thuộc vào việc phát hiện của bạn cần nhanh và thông minh đến mức nào. Đối với các đội ISP, bài toán khó hơn không phải là đoạn cấu hình mà là xác nhận trên hàng trăm địa điểm từ xa sau CGNAT rằng failover thực sự hoạt động. Hướng dẫn này bao quát cả hai.

Quy trình MikroTik dual-WAN failover cho một đội ISP: lập sơ đồ cả hai uplink, thêm tuyến mặc định đệ quy với check-gateway, cấu hình NAT theo WAN, thêm phát hiện Netwatch và xác minh đường dự phòng từ xa.

MikroTik Dual-WAN Failover Là Gì?

MikroTik dual-WAN failover là một cấu hình RouterOS cung cấp cho router hai uplink internet — một đường chính và một đường dự phòng — và tự động chuyển lưu lượng sang đường dự phòng khi đường chính ngừng truyền gói, rồi chuyển lại khi nó phục hồi. Nó không giống cân bằng tải: failover giữ một đường ở trạng thái nhàn rỗi như một bảo hiểm, trong khi cân bằng tải phân tán lưu lượng qua cả hai. Mục tiêu là tính liên tục, không phải băng thông thêm, đó là lý do nó là mẫu dự phòng mặc định cho các địa điểm đơn giản là không được phép tắt.

Cơ chế dựa trên việc chọn tuyến. RouterOS chọn tuyến mặc định đang hoạt động theo khoảng cách quản trị thấp nhất, vì vậy bạn cho đường chính một khoảng cách nhỏ hơn và đường dự phòng một khoảng cách lớn hơn. Toàn bộ thiết kế khi đó rút lại thành một câu hỏi: router quyết định đường chính đã “ngừng hoạt động” và hạ cấp tuyến của nó như thế nào? Đưa ra quyết định đó đúng — đủ nhanh nhưng không giật cục — và failover đáng tin cậy. Làm sai và bạn hoặc chuyển mạch quá chậm hoặc dao động giữa các đường mỗi khi mất gói.

Bước 1 — Lập sơ đồ hai đường WAN trước khi đụng vào tuyến

Bắt đầu bằng cách viết ra mỗi uplink thực sự là gì. Một đường chính cáp quang cố định hoặc PPPoE với gateway tĩnh hoặc do PPP gán hành xử khác với một đường dự phòng Starlink hoặc LTE nằm sau Carrier-Grade NAT và cấp cho bạn một địa chỉ động. Điều này quan trọng vì định tuyến đệ quy chỉ hoạt động với gateway IP ổn định, không phải với các loại giao diện động như PPPoE hoặc DHCP nơi địa chỉ có thể thay đổi (Tài liệu MikroTik — Failover (WAN Backup)). Quyết định đường nào là chính, đường nào là dự phòng và liệu đường nào có đổi IP khi kết nối lại — sự thật duy nhất đó quyết định phương pháp phát hiện nào bạn có thể dùng.

Bước 2 — Thêm tuyến mặc định đệ quy với check-gateway

Cách tiếp cận cổ điển dùng định tuyến đệ quy: thay vì trỏ tuyến mặc định trực tiếp tới next hop, bạn trỏ nó tới một đích thăm dò (ví dụ một resolver công khai nổi tiếng) và thêm một tuyến tĩnh báo RouterOS chỉ đến đích đó qua một gateway WAN cụ thể. Sau đó bạn tạo hai tuyến mặc định được phân giải đệ quy qua các đích đó — đường chính với khoảng cách nhỏ hơn và bật check-gateway=ping, đường dự phòng với khoảng cách lớn hơn (Scoop — Basic ISP Failover with MikroTik).

Hành vi cần lập kế hoạch xoay quanh là thời gian. Check-gateway vô hiệu hóa một tuyến sau hai lần kiểm tra thất bại liên tiếp, và các lần kiểm tra chạy khoảng mỗi 10 giây, nên việc chuyển mạch thực tế rơi vào khoảng 20 đến 30 giây — và nó không phản ứng với mất gói gián đoạn, chỉ với một gateway hoàn toàn chết (Tài liệu MikroTik — Failover (WAN Backup)). Đối với nhiều địa điểm khách hàng ISP, điều đó chấp nhận được. Đối với thiết bị đầu cuối thoại hoặc thanh toán thì thường không, và đó là nơi Bước 4 xuất hiện.

Một router dual-WAN cần một quy tắc masquerade (hoặc src-nat) riêng cho mỗi giao diện WAN để bất kỳ đường nào đang hoạt động đều dịch lưu lượng đi ra đúng cách; một quy tắc duy nhất gắn với một giao diện sẽ âm thầm phá vỡ kết nối ngay khoảnh khắc failover chuyển lưu lượng sang đường kia. Thêm một quy tắc masquerade trong chuỗi srcnat cho out-interface chính và một quy tắc thứ hai cho đường dự phòng. Nếu bạn công bố bất kỳ dịch vụ đến nào, hãy nhớ rằng các quy tắc dst-nat gắn với địa chỉ của đường chính sẽ ngừng hoạt động khi đường đó — và IP công khai của nó — biến mất. Sự mong manh đầu vào đó là cùng một cái bẫy kiến trúc được đề cập trong tình huống thay đổi IP Starlink của chúng tôi, và đó là lý do truy cập neo theo chiều đi ra mở rộng tốt hơn so với chuyển tiếp cổng. Về các nguyên tắc cơ bản của NAT, xem hướng dẫn cấu hình NAT trên MikroTik của chúng tôi.

Bước 4 — Dùng Netwatch khi bạn cần phát hiện nhanh hơn hoặc thông minh hơn

Khi 20–30 giây quá chậm hoặc bạn cần hành động trên các đường suy giảm-nhưng-còn-sống, Netwatch là công cụ linh hoạt hơn. Trong RouterOS v7, Netwatch có thêm tham số type có thể thăm dò bằng icmp, tcp-conn, http-get, https-get hoặc simple, và bạn có thể đặt khoảng kiểm tra riêng thay vì sống với nhịp cố định của check-gateway (Tài liệu MikroTik — Failover (WAN Backup)). Mỗi host có một script up và một script down, nên khi chuyển trạng thái bạn có thể vô hiệu hóa tuyến mặc định chính, kích hoạt cảnh báo hoặc ghi nhật ký sự kiện.

Nhiều nhà vận hành kết hợp cả hai: định tuyến đệ quy xử lý cái chết sạch của đường, trong khi Netwatch bao quát các trường hợp lộn xộn hơn và gửi thông báo. Một chủ đề cộng đồng lâu dài tranh luận chính xác sự đánh đổi này và đáng đọc trước khi bạn chuẩn hóa một phương pháp trên toàn đội (diễn đàn MikroTik — netwatch instead of recursive routing). Dù chọn cách nào, hãy giữ cấu hình giống hệt nhau trên mọi địa điểm — một đội các script failover tùy biến tự nó là một sự cố đang chờ xảy ra.

Bước 5 — Xác minh failover trên mọi địa điểm từ xa

Đây là phần mà các hướng dẫn cấu hình bỏ qua. Thêm tuyến trên một router thử nghiệm thì dễ; chứng minh rằng failover hoạt động trên hàng trăm CPE đã triển khai mới là vấn đề ISP thực sự — và nó khó hơn khi đường dự phòng là Starlink hoặc LTE sau CGNAT, vì thiết bị thường không có IP công khai có thể truy cập để quản lý nó sau khi chuyển mạch. Nếu bạn chỉ có thể xác nhận failover bằng cách chờ khách hàng gọi đến, thì bạn thực sự không có failover; bạn có một script mà bạn hy vọng nó chạy.

Đây là nơi quản lý tập trung thay đổi bài toán kinh tế. MKController giữ mỗi router có thể truy cập qua một đường hầm đi ra đã xác thực, nên bạn có thể xác nhận đường dự phòng đang mang lưu lượng, theo dõi quá trình chuyển failover trong giám sát và đẩy một cấu hình đã sửa — mà không phụ thuộc vào một IP công khai có thể không tồn tại trên đường dự phòng. Kết hợp điều đó với telemetry: các hướng dẫn của chúng tôi về giám sát MikroTik từ xa với Zabbixgiám sát SNMP cho MikroTik chỉ ra cách cảnh báo về chính sự kiện failover, để một cú chuyển mạch âm thầm sang đường dự phòng đắt đỏ không bao giờ trôi qua mà không bị chú ý.

Mẹo

  • Giữ thăm dò check-gateway của đường dự phòng trỏ tới một đích bạn đến được qua đường đó, không phải qua đường chính, nếu không bài kiểm tra của bạn vô nghĩa.
  • Gắn thẻ các lần chuyển failover trong giám sát của bạn để một địa điểm chạy nhiều ngày trên uplink dự phòng tạo ra một ticket — failover mà không ai để ý là một chi phí lặp lại, không phải một sự cứu vãn.
  • Kiểm tra dây cáp thật, không chỉ tuyến: rút đầu nối của đường chính và bấm giờ quá trình chuyển mạch thực tế.

Đưa failover về dưới một mặt phẳng điều khiển

Dual-WAN failover trên một MikroTik đơn lẻ là một bài toán đã được giải. Làm điều đó một cách đáng tin cậy trên toàn đội — với cấu hình nhất quán và khả năng chứng minh rằng đường dự phòng hoạt động trên một router bạn không thể truy cập qua IP công khai — là nơi hầu hết các nhà vận hành mất tiền. Quản lý tập trung, neo theo chiều đi ra, khép lại khoảng trống đó.

Bắt đầu dùng thử MKController miễn phí