Hướng dẫn cấu hình load balancing trên mikrotik

B�i hướng dẫn sau đ�y hướng được viết dựa tr�n cấu h�nh load balancing v� failover tr�n 3 kết nối WAN, tr�n thiết bị router Mikrotik RB1100AHx2, được ch�ng t�i triển khai cho 1 điểm truy cập wifi c�ng cộng của kh�ch h�ng sử dụng sản phẩm v� dịch vụ của c�ng ty Sao Thi�n Vương.

Hiện trạng của kh�ch h�ng:

- Kh�ch h�ng c� 5 đường Internet tốc độ cao. - Thiết bị router nh� mạng cung cấp, thiết bị ph�t s�ng wifi SOHO (Small Office and Home), do đ�, kết nối wifi kh�ng đảm bảo. - Cao điểm, c� thể l�n đến 300 người d�ng truy cập Internet đồng thời.

Y�u cầu của kh�ch h�ng:

- Load balancing v� failover tr�n 3 đường kết nối Internet n�y, c� thể tăng l�n 5 kết nối WAN tốc độ cao nếu cần. - Cung cấp kết nối wifi ổn định, tốc độ cao cho người d�ng wifi c�ng cộng của kh�ch h�ng.

Với hiện trạng v� y�u cầu tr�n, ch�ng t�i đề xuất trang bị thiết bị wifi chuy�n dụng, thay thế c�c thiết bị wifi SOHO m� kh�ch h�ng đang sử dụng.

Trang bị thiết bị router Mikrotik RB1100AHx2 c� khả năng chịu tải l�n đến 500 kết nối Internet đồng thời, 13 Gigabit Interface, c� thể load balancing, failover l�n đến 12 đường WAN - Internet.

B�n dưới l� m� h�nh đấu nối thiết bị:

Hướng dẫn cấu hình load balancing trên mikrotik

Tiếp theo l� chi tiết cấu h�nh thiết bị router Mikrotik RB1100AHx2 load balancing v� failover tr�n 3 kết nối WAN - Internet.

Với thiết bị router Mikrotik, ch�ng ta c� nhiều phương �n để load balancing v� failover cho kết nối WAN, ở đ�y, ch�ng t�i triển khai theo phương thức gọi l� PCC (Per Connection Classifier). Với phương thức n�y, balancing tr�n c�c kết nối WAN theo c�c kết nối (connection).

Đầu ti�n ch�ng ta cần ch� � rằng, interface bridge tr�n router Mikrotik được thiết kế để l�m cấu nối cho traffic ở Layer 2, do đ�, giao tiếp bridge n�y l� kết nối logic để vận chuyển traffic Layer 2 giữa c�c cổng của thiết bị router Mikrotik. Mặc định traffic n�y giao tiếp bridge sẽ kh�ng được xử l� bởi c�c rule của firewall hoạt động ở Layer 3. Để bắt buộc Layer traffic tr�n brigde được xử l� bởi c�c rule của firewall ở Layer 3, ch�ng ta phải tường m�nh khai b�o với lệnh sau:

Code:

/interface bridge settings set use-ip-firewall=yes

Trong trường hợp của ta traffic tr�n c�c cổng khai b�o l� WAN được đ�ng g�i với giao thức PPPoE, cũng cần tường minh cho ph�p đi qua c�c rule của firewall ở Layer 3.

Code:

/interface bridge settings set use-ip-firewall-for-pppoe=yes

C�c traffic của nội bộ mạng LAN qua router Mikrotik kh�ng cần phải xử l� bởi c�c rule của firewall. Do đ�, ch�ng ta cần khai b�o rule đầu ti�n cho tất cả traffic của nội bộ mạng LAN bypass c�c rule của firewall.

Code:

/ip firewall mangle add chain=prerouting dst-address=192.168.100.0/24 in-interface=bridge action=accept

Lệnh tr�n thực hiện ở chain pre-routing, do đ�, traffic được xử l� trước khi mọi quyết định định tuyến g�i t�n xảy ra đối với c�c traffic đến router Mikrotik v� traffic đang được forward bởi router Mikrotik. Rule tr�n kiểm tra mọi traffic c� đ�ch đến l� mạng LAN (192.168.100.0/24) v� interface tiếp nhận traffic trong trường hợp n�y l� bridge - giao tiếp cầu nối cho traffic c�c cổng LAN của router Mikrotik. Action "accept" với mục đ�ch dừng kh�ng xử l� traffic n�y với c�c rule kế tiếp sau. Để bắt traffic đi qua c�c rule b�n dưới tiếp theo, cần khai b�o trường "passthrough=yes".

Với mỗi interface WAN, c�c traffic từ Internet v�o WAN n�o cần phải đi ra WAN đ�, nếu kh�ng, kết nối sẽ bị gi�n đoạn - treo. Đặc biệt ch� � khi cần publish c�c dịch vụ từ mạng LAN ra Internet như Web service, FTP, Email service... hoặc c�c traffic khởi tạo từ Internet v�o LAN như: SSH, VPN, ....

C�c traffic v�o router Mikrotik sẽ qua chain input v� traffic rời router Mikrotik sẽ qua chain output. Ch�ng ta sẽ sử dụng 2 bộ rule, một cho chain input v� một cho chain output cho mỗi interface WAN m� ta muốn load balancing v� failover. Trong tường hợp n�y, ch�ng ta cần load balancing v� failover tr�n 3 kết nối WAN.

B�n dưới l� c�c mangle rule để x�c định traffic khởi tạo từ Internet v�o c�c interface WAN v� đ�nh dấu (new-connection-mark) c�c traffic n�y với interface WAN m� n� v�o

Code:

/ip firewall mangle add chain=input in-interface=pppoe-out1 connection-mark=no-mark action=mark-connection new-connection-mark=WAN1 passthrough=no add chain=input in-interface=pppoe-out2 connection-mark=no-mark action=mark-connection new-connection-mark=WAN2 passthrough=no add chain=input in-interface=pppoe-out3 connection-mark=no-mark action=mark-connection new-connection-mark=WAN3 passthrough=no

Như vậy, c�c kết nối khởi tạo từ Internet (new-connection) được đ�nh dấu với WAN1, WAN2, hoặc WAN3 tương ứng interface WAN m� traffic đi v�o. Tiếp theo, ch�ng ta cần đảm bảo c�c kết nối n�y sẽ ra đ�ng interface WAN m� n� đ� khởi tạo v�o. Ch�ng ta thực hiện điều n�y ở chain output v� d�ng routing-mark để định tuyến g�i tin theo đ�ng bảng định tuyến m� ta sẽ khai b�o sau.

Code:

/ip firewall mangle add chain=output out-interface=pppoe-out1 connection-mark=WAN1 action=mark-routing new-routing-mark=WAN1 passthrough=no add chain=output out-interface=pppoe-out2 connection-mark=WAN2 action=mark-routing new-routing-mark=WAN2 passthrough=no add chain=output out-interface=pppoe-out3 connection-mark=WAN3 action=mark-routing new-routing-mark=WAN3 passthrough=no

Tiếp theo, ch�ng ta sẽ thực hiện load balancing bằng phương thức PCC để c�n bằng tải kết nối từ mạng nội bộ LAN ra 3 interface WAN m� ta c� bằng c�c rule mangle sau:

Code:

/ip firewall mangle add chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=bridge per-connection-classifier=both-addresses:3/0 action=mark-connection new-connection-mark=WAN1 add chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=bridge per-connection-classifier=both-addresses:3/1 action=mark-connection new-connection-mark=WAN2 add chain=prerouting connection-mark=no-mark dst-address-type=!local in-interface=bridge per-connection-classifier=both-addresses:3/2 action=mark-connection new-connection-mark=WAN3

Với c�c rule tr�n, chỉ đ�nh dấu (mark) c�c traffic được chuyển tiếp từ mạng nội bộ LAN ra Internet, c�c traffic từ mạng nội bộ LAN đến ch�nh router Mikrotik sẽ kh�ng bị c�c rule t�c động (dst-address-type=!local). C�c kết nối (connection) sẽ được chia điều tr�n 3 kết nối WAN (load balancing) v� được đ�nh dấu (new-connection-mark) với kết nối WAN tương ứng m� connection sẽ đi ra Internet.

C�c gi� trị của trường per-connection-classifier=both-addresses li�n quan đến biểu thức modular trong to�n học, c�c bạn c� thể t�m hiểu th�m ở c�c link cuối b�i n�y.

Ch� �, mặc định th� passthrough=yes được bật cho c�c rule mangle ở tr�n. Tiếp theo, với c�c kết nối đ� được d�nh dấu ở tr�n, ch�ng ta cần đ�nh dấu routing mark kết nối được định tuyến theo đ�ng bảng định tuyến m� ta khai bao sau.