PDA

View Full Version : Cân bằng tải hai đường truyền RouterOS6



minhvk
06-10-2023, 11:38 AM
​http://switch-router.com/uploads/forum/minhvk/LoadBalacing.png

Trong bài viết này chúng ta sẽ sử dụng phương pháp PCC để cấu h́nh cân bằng tải.

KỸ THUẬT PCC (PER CONNECTION CLASSIFIER):
+ PCC sử dụng thuật toán HASH để tạo ra một giá trị 32-bit từ một vài trường của IP Header: source address, source port, destination address, destination port.. Sau đó sẽ tiến hành chia dư với mẫu số chia là tỉ lệ cân bằng tải, tử số là giá trị thu được từ thuật toán HASH. Kết quả sẽ là giá trị để phân biệt giữa các luồng lưu lượng.
+ Tiếp đến sẽ đánh dấu phân biệt các luồng đó bằng mark connection và mark routing. Cuối cùng sẽ định tuyến ra đường truyền tương ứng.

Chúng ta sẽ chia việc cấu h́nh thành 2 giai đoạn: Phân loại luồng lưu lượng và định tuyến luồng lưu lượng tương ứng với đường truyền.

1. Phân loại luồng lưu lượng: Sẽ có 2 loại lưu lượng cần quan tâm đối với cân bằng tải: lưu lượng từ bên ngoài internet đi vào router và lưu lượng nội bộ đi ra ngoài internet.

1.1 Lưu lượng từ bên ngoài router:


/ip firewall mangle
add action=mark-connection chain=input connection-mark=no-mark in-interface=ether1 new-connection-mark=wancnn1 passthrough=yes
add action=mark-connection chain=input connection-mark=no-mark in-interface=ether2 new-connection-mark=wancnn2 passthrough=yes
add action=mark-routing chain=output connection-mark=wancnn1 new-routing-mark=wan1 passthrough=no
add action=mark-routing chain=output connection-mark=wancnn2 new-routing-mark=wan2 passthrough=no


Hai ḍng lệnh "add" đầu tiên có nhiệm vụ ghi nhớ và đánh dấu "wancnn1","wancnn2" các lưu lượng đi vào đường truyền tương ứng.
Hai ḍng lệnh "add" cuối có nhiệm vụ liên kết luồng lưu lượng đă được đánh dấu này vào bảng định tuyến của từng đường truyền tương ứng.
Việc này sẽ đảm bảo việc truy cập các dịch vụ từ xa vào Router một cách b́nh thường không bị ảnh hưởng bởi việc cấu h́nh cân bằng tải.

1.2 Lưu lượng đi ra ngoài Internet:


/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=bridge1 new-connection-mark=wan1cnn \
passthrough=yes per-connection-classifier=both-addresses-and-ports:2/0
add action=mark-connection chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=bridge1 new-connection-mark=wan2cnn \
passthrough=yes per-connection-classifier=both-addresses-and-ports:2/1
add action=mark-routing chain=prerouting connection-mark=wan1cnn in-interface=bridge1 new-routing-mark=wan1 passthrough=no
add action=mark-routing chain=prerouting connection-mark=wan2cnn in-interface=bridge1 new-routing-mark=wan2 passthrough=no


Hai ḍng lệnh "add" đầu tiên có nhiệm vụ phân loại lưu lượng thành 2 loại bởi PCC. Ở đây chúng ta đang dùng PCC both-addresses-and-ports, tức là PCC sẽ phân loại lưu lượng là khác nhau khi có sự thay đổi ở một trong các yếu tố source,destination address và ports của kết nối. Việc này sẽ giúp chúng ta có thể tân dụng được băng thông của cả 2 đường truyền trong một phiên kết nối (Có nhiều dịch vụ sẽ không hỗ trợ và dẫn đến kết nối không ổn định đối với dịch vụ đó). Chế độ ổn đinh và phù hợp hầu hết các trường hợp là Both-addresses, Router sẽ gửi dữ liệu ra đường truyền khác khi có sự thay đổi ở source hoặc destination address của kết nối.

Hai ḍng lệnh "add" cuối có nhiệm vụ liên kết các luồng lưu lượng đă được phân loại vào bảng định tuyến của các đường truyền tương ứng. Cụ thể là lưu lượng được phân loại "wan1cnn" là được liên kết vào bảng định tuyến của đường truyền 1 và lưu lượng này sẽ được gửi ra đường truyền 1, tương tự với lưu lượng "wan2cnn".

2. Định tuyến lưu lượng


/ip route
add check-gateway=ping distance=1 gateway=192.168.3.7%ether1 routing-mark=wan1
add check-gateway=ping distance=1 gateway=192.168.3.7%ether2 routing-mark=wan2


Sau khi đă được phân loại và liên kết vào bảng định tuyến ở phần 1. Phần này chúng ta sẽ định tuyến các lưu lượng đă được phân loại ra đường truyền tương ứng.
Ở bài hướng dẫn này, chúng ta sử dụng hai đường truyền với IP tĩnh nên phần "gateway" cần khai báo địa chỉ IP của gateway, đối với đường truyền PPPoE chúng ta chỉ cần đặt tên của giao điện PPPoE tương ứng.