Tạo cân bằng tải và failover MikroTik
Nhập các đường WAN của bạn và nhận cân bằng tải PCC trên RouterOS v7 với failover bằng recursive route, hoặc chỉ failover, với từng khối đều có giải thích.
Chạy trong trình duyệt; những gì bạn nhập không bao giờ rời khỏi thiết bị
Nguy cơ bị khóa khỏi router. Thay đổi route trên router ở xa có thể cắt đứt kết nối của bạn. Hãy thử trong môi trường lab, hoặc bật Safe Mode (Ctrl+X trong terminal) trước.
Tạo cú pháp RouterOS v7 (bảng định tuyến có fib, routing-table trên route). Chỉ IPv4. Các WAN có gateway thay đổi qua DHCP cần cập nhật gateway thủ công hoặc bằng script DHCP client. MikroTik và RouterOS là nhãn hiệu của SIA Mikrotīkls. Công cụ này độc lập và không liên kết hay được MikroTik xác nhận.
Cách thiết lập cân bằng tải PCC trên MikroTik
- Chọn cân bằng tải PCC kèm failover, hoặc chỉ failover.
- Thêm từng WAN với interface, gateway (hoặc tên interface với PPPoE và LTE), một host kiểm tra công khai có trả lời ping, và trọng số cho tỷ lệ kết nối của nó.
- Liệt kê các mạng nội bộ và interface list của LAN, tắt add-default-route trên các WAN client, và áp dụng script khi bật Safe Mode.
Cấu hình được tạo ra hoạt động như thế nào
Cân bằng tải PCC có ba phần chính. Mangle đánh dấu mỗi kết nối mới từ LAN bằng một connection mark do per-connection classifier chọn, và đánh dấu các kết nối đến trên một WAN bằng chính WAN đó, để phản hồi cho port forward đi ra đúng đường chúng đi vào. Một bộ quy tắc mangle thứ hai biến mỗi connection mark thành routing mark trên mọi gói tin. Các bảng định tuyến, mỗi WAN một bảng, sau đó chứa một default route đi qua WAN đó, với các WAN khác ở distance cao hơn làm dự phòng.
Failover dùng recursive route. Một host route đưa một host kiểm tra công khai chỉ đi qua từng WAN. Các default route dùng host kiểm tra làm gateway với target-scope=11, nên RouterOS phân giải nó qua host route đó, và check-gateway=ping ping host kiểm tra mỗi mười giây. Hai lần không có phản hồi sẽ làm route ngừng hoạt động, và distance kế tiếp tiếp quản; khi host trả lời trở lại, route quay về.
Trước khi áp dụng
- Đặt
add-default-route=notrên các DHCP hoặc PPPoE client của WAN, nếu không default route riêng của chúng sẽ thắng. - Đang nâng cấp cấu hình PCC v6 cũ? Hãy chạy bản export của nó qua Hỗ trợ chuyển RouterOS v6 sang v7 để xem những gì thay đổi.
- Giữ nguyên input và forward chain của tường lửa; Tạo tường lửa MikroTik dùng interface list, nên hãy thêm mọi WAN vào list WAN.
Câu hỏi thường gặp
PCC chia lưu lượng như thế nào?
per-connection-classifier băm các trường của mỗi kết nối mới (cả hai địa chỉ, hoặc địa chỉ và cổng) vào N bucket, và mỗi WAN nhận một số bucket. Kết nối giữ nguyên mark của nó, nên mọi gói tin của nó dùng cùng một WAN. Trọng số 2 cho WAN hai bucket, gấp đôi phần của WAN có trọng số 1. Việc chia theo kết nối, không theo byte, nên một lượt tải lớn vẫn chỉ dùng một đường.
Failover đệ quy là gì và vì sao nên dùng?
check-gateway=ping trên một default route thông thường chỉ kiểm tra chặng đầu tiên của ISP, vốn thường vẫn hoạt động trong khi mạng của ISP phía sau đã hỏng. Ở đây mỗi WAN có một host route đến một host kiểm tra công khai, và các default route trỏ vào host đó thay vì gateway. Khi host ngừng trả lời qua WAN đó, RouterOS vô hiệu hóa các route đi qua nó và lưu lượng chuyển sang WAN tiếp theo.
Vì sao có các quy tắc output drop cho host kiểm tra?
Nếu đường của một WAN bị đứt, host route của nó biến mất và router sẽ đến được host kiểm tra qua một WAN khác, nên WAN đã hỏng trông như vẫn khỏe. Các quy tắc drop ngăn ping đến mỗi host kiểm tra đi ra qua bất kỳ interface nào ngoài WAN của chính nó.
Tôi có cần tắt FastTrack không?
Với PCC thì có. Routing mark được mangle áp dụng trên mọi gói tin, và gói tin fasttrack bỏ qua mangle, nên chúng sẽ đi theo bảng main thay vì WAN của chúng. Failover thuần hoạt động được khi bật FastTrack.
Có gì thay đổi so với các hướng dẫn PCC cho RouterOS v6?
Route ở v6 dùng routing-mark=, và mark được tạo ngầm. Ở v7, mỗi mark phải là một bảng định tuyến được tạo trong /routing table với fib, và route tham chiếu đến nó bằng routing-table=. Mangle vẫn dùng new-routing-mark. Công cụ hỗ trợ chuyển v6 sang v7 sẽ chuyển các route cũ và thêm các bảng.
Những gì tôi nhập có được gửi đi đâu không?
Không. Script được tạo trong trình duyệt của bạn.