Tách biệt lưu lượng truy cập Trong Nước và Quốc Tế trên Router Mikrotik
Trong bài viết này, mình sẽ hướng dẫn các bạn quản lý băng thông truy cập trong nước và quốc tế trên router cân bằng tải Mikrotik.
Mô hình
Có khá nhiều trường hợp các bạn sẽ cần phải tách biệt lưu lượng truy cập các dịch vụ trong nước và quốc tế. Ví dụ, các bạn có 2 đường internet. Đường WAN 1 có 45M băng thông đi quốc tế, WAN 2 400M trong nước. Các bạn muốn toàn bộ traffic đi quốc tế sẽ đi qua WAN 1, còn các traffic trong nước sẽ đi qua WAN 2. Khi đó các bạn sẽ cấu hình trên Mikrotik để điều hướng những traffic này.
Để có thể điều hướng được traffic, trên Mikrotik chúng ta sẽ có 1 số bước.
- Đầu tiên chúng ta sẽ cần phải tập hợp tất cả các IP Public có tại Việt nam, và tạo các address trên Mikrotik tương ứng với các IP này.
- Sau khi có các address, các bạn sẽ sử dụng Mangle để đánh dấu các kết nối. Những địa chỉ đích nào có trong danh sách IP mà các bạn đã định nghĩa sẽ được đánh dấu là traffic trong nước. Còn những địa chỉ đích không có trong danh sách sẽ là traffic quốc tế.
- Cuối cùng chúng ta sẽ tạo các Default Route theo những traffic mà chúng ta đã đánh dấu ở trên.
OK mình sẽ đi vào chi tiết từng bước.
Thu thập danh sách IPv4 Public của Việt Nam
Đầu tiên mình sẽ thu thập tất cả các IP Public.
Do danh sách IPv4 của Việt Nam sẽ được cập nhật sau 1 thời gian, do vậy mình hướng dẫn các bạn cách làm chi tiết để các bạn có thể update trong thời gian tới. Hoặc các bạn cũng có thể download file rsc mình cập nhật ngày 18/7/2023 tại đây: https://drive.google.com/file/d/1MidRLC43WZ4YoecJZnpaUa3h8IzssPLx/view?usp=sharing
Để xem danh sách IP Public tại Việt Nam, các bạn truy cập vào website của VNNIC là vnnic.vn.
Vào menu Tài nguyên Internet > IP/ASN. Sau đó vào menu Thống kê và nhấn vào Thông tin địa chỉ Ipv4 của Việt Nam.
VNNIC đã thống kê toàn bộ IP của Việt Nam tại đây, các bạn chỉ cần copy về là được. Tuy nhiên các bạn lưu ý là danh sách này sẽ được cập nhật liên tục. File hiện tại được cập nhật ngày 20 tháng 5. Trong tương lai các bạn sẽ cần Update lại để cập nhật thêm các IP mới. Mình sẽ copy IP này về Notepad.
Sau đó các bạn cần loại bỏ các khoảng trắng giữa phần network và subnet để đảm bảo các IP sẽ được viết đúng cú pháp là network/subnet, ví dụ 103.205.60.0/23. Có rất nhiều cách làm khác nhau. Bạn nào có cách làm nhanh hơn thì có thể chia sẻ nhé. Mình sẽ sử dụng replace của notepad.
Các bạn bôi đen những phần ngăn cách giữa IP network và subnet và nhấn Ctrl + H để thay thế. Phần Replace with các bạn để trống, không nhập gì vào là được. Nhấn Replace All.
Sau đó kéo xuống dưới và tiếp tục replace, có khoảng trắng nào các bạn replace hết, kể cả các dòng không có nội dung thì các bạn xóa đi. Nó cũng không có nhiều đâu, chỉ 2 đến 3 lần replace là chúng ta có đầy đủ IP theo đúng cú pháp rồi. Bên dưới là danh ví dụ về các IP đúng cú pháp.
Sau khi chắc chắn các IP đã đúng theo cú pháp, các bạn copy toàn bộ IP này sang excel. Các bạn có thể thực hiện replace trên excel ngay từ đầu cũng được. Nhưng mình thấy phần replace làm trên notepad thì dễ nhìn hơn. Trong danh sách IP này có rất nhiều giá trị trùng nhau, các bạn cần loại bỏ nó đi, nếu có các giá trị trùng nhau thì khi các bạn Import vào Mikrotik sẽ bị lỗi.
Các bạn vào menu Data > Remove Duplicates, nhấn OK.
Excel sẽ xóa các giá trị trùng lặp đi, như vậy là chúng ta đã có danh sách IP hoàn chỉnh.
Tạo Addresses trên Mikrotik
Sau khi có đầy đủ IP ở Việt Nam, các bạn sẽ cần tạo các address tương ứng, sẽ có 2 cách.
Cách 1 là các bạn tạo trong Winbox. Các bạn vào menu IP > Firewall, chuyển sang tab Address Lists. Nhấn dấu + và tạo mỗi address cho 1 dải địa chỉ IP.
Tuy nhiên với số lượng IP lớn thì các bạn không thể sử dụng cách này được. Khi đó chúng ta sẽ sử dụng các file có định dạng rsc để Import vào Mikrotik. Đây là cấu trúc của file rsc.
/ip firewall address-list
add list=IPVietNam address="1.1.1.1"
rem [find list="IPVietNam"]
add list=IPVietNam address="103.205.60.0/23"
add list=IPVietNam address="103.196.144.0/23" |
Dòng đầu tiên /ip firewall address-list là truy cập vào tab Address Lists trong menu Firewall giống như các bạn làm trên Winbox.
Sau đó tạo 1 Address List với tên là IPVietNam và địa chỉ là 1.1.1.1 bằng lệnh add list=IPVietNam address="1.1.1.1". Ở đây mình đang tạo 1 cái với IP bất kỳ để lấy phần tên là IPVietNam thôi, còn IP trong phần address phía sau không quan trọng.
Khi có Address Name rồi thì chúng ta sẽ edit List có tên là IPVietNam bằng lệnh rem [find list="IPVietNam"] và bắt đầu add các IP vào bằng lệnh add phía dưới. Khi đó toàn bộ các IP mà chúng ta vừa thu thập được đều có cùng Name là IPVietNam.
Nghĩa là khi các bạn có nhiều IP, thì các dòng add bên dưới này chỉ khác nhau về giá trị địa chỉ IP có trong dấu ngoặc kép này thôi. Do vậy mình sẽ copy phần trước giá trị IP là add list=IPVietNam address=" và paste vào 1 cột trong excel. Mình sẽ paste ở cột phía trước địa chỉ IP. Các bạn để ý cú pháp ở cuối lệnh add là dấu ngoặc kép, do vậy mình sẽ thêm dấu đóng ngoặc kép ở cột phía sau địa chỉ IP.
Cuối cùng là các bạn sử dụng hàm & để kết hợp 3 cột này lại là chúng ta sẽ được câu lệnh hoàn chỉnh đúng cú pháp. Như ví dụ của mình đang sử dụng 3 cột là C, D, E, nên mình sẽ tạo 1 công thức trên cột F: =C1&D1&E1. Chúng ta sẽ có được 1 câu lệnh add hoàn chỉnh.
Việc còn lại là các bạn dán các giá trị này xuống dòng bên dưới là được. Các bạn chỉ cần để chuột vào góc của ô đến khi nó chuyển thành dấu + màu đen sau đó kích đúp chuột là xong. Sau đó copy cột kết quả này sang notepad và dán ở dòng phía dưới lệnh rem là được.
Lưu file này lại với tên bất kỳ, định dạng là .rsc.
Sau khi có file rsc, các bạn quay lại Winbox, vào menu Files và tải file .rsc lên. Các bạn có thể kéo thả từ máy tính vào hoặc chọn nút Upload cũng đk.
Sau đó nhấn vào New Terminal. Chạy file rsc bằng lệnh import file-name=, phía sau là tên file các bạn vừa tải lên.
Thông báo successfully là OK, nếu các bạn không thấy thông báo này thì các bạn sẽ cần phải kiểm tra lại phần IP. Thông thường do khi edit thì vẫn còn IP trùng lặp.
Quay lại menu Firewall, các bạn có thể thấy 1129 address đã được tạo tương ứng với các dải IP public của Việt Nam. Tất cả đều có tên là IPVietNam.
Đánh dấu traffic bằng Mangle
Sau khi tạo xong address, các bạn sẽ đánh dấu lưu lượng dựa trên IP này bằng Mangle. Cứ địa chỉ IP đích có trong danh sách IPVietNam chúng ta sẽ đánh dấu là Traffic Việt nam, còn lại thì là traffic quốc tế.
Tuy nhiên menu Mangle sẽ có sự khác biệt giữa các phiên bản v6 và v7. Với v6, các bạn có thể gõ trực tiếp New Routing Mark khi đang cấu hình Mangle Rule, khi các bạn lưu lại, Mikrotik sẽ tạo các Routing Table tương ứng. Tuy nhiên với các phiên bản RouterOS v7, các bạn sẽ không gõ trực tiếp được ở đây, mà các bạn sẽ cần tạo trước trong menu Routing > Tables.
Mình đang dùng RouterOS v7, do vậy mình sẽ tạo các Routing Table trước. Các bạn vào Menu Routing > Tables. Nhấn dấu + để tạo mới. Các bạn tạo 2 Routing table là TrafficVN và TrafficQT cho 2 luồng dữ liệu.
Tiếp theo các bạn truy cập vào menu Firewall, các bạn chuyển sang tab Mangle. Nhấn dấu + để tạo Mangle rule mới.
Trước tiên các bạn tạo 1 Mangle Rule cho Traffic Việt Nam.
- Chain là prerouting
- Src. Address nhập dải địa chỉ IP LAN, như trong mô hình của mình là 192.168.1.0/24.
- In. Interface chọn cổng kết nối xuống LAN.
- Chuyển sang tab Advanced.
- Dst. Address List chọn IPVietNam mà các bạn đã tạo.
- Chuyển sang tab Action.
- Action chọn mark routing.
- New Routing Mark chọn Routing Table TrafficVN.
Khi đó thì chúng ta có thể đọc nội dung của Mangle như sau: Cứ traffic có địa chỉ nguồn là dải LAN của các bạn, địa chỉ đích là các IP WAN có trong danh sách IPVietNam mà các bạn định nghĩa, thì sẽ được đánh dấu là Traffic Việt Nam.
Tương tự các bạn tạo thêm 1 rule nữa cho các traffic quốc tế. Rule này chúng ta chỉ cần chọn địa chỉ IP nguồn. Và mask routing về TrafficQT là xong, không cần phải có địa chỉ IP đích.
Khi đó những traffic có địa chỉ nguồn là IP trong dải LAN, và IP đích không nằm trong danh sách các bạn đã nhập sẽ được tính là Traffic quốc tế.
Cấu hình Default Route với Routing Mark
Cuối cùng các bạn sẽ trỏ default route với 2 Routing mask đã tạo. Các bạn vào menu IP > Routes. Nhấn dấu + để tạo route.
Tạo 1 Default route ra cổng WAN1, với Routing table là TrafficQT cho các traffic đi quốc tế.
- Dst Address: vẫn là 0.0.0.0/0.
- Gateway là cổng WAN1.
- Routing Table sẽ là TrafficQT. Đối với phiên bản 6 thì mục này sẽ có tên là Routing Mask, các bạn lựa chọn tương tự tùy từng phiên bản thôi.
Tương tự 1 Default route với gateway là WAN2 với Routing table là TrafficVN.
Như vậy thì traffic có đích là IP WAN của Việt Nam sẽ được đẩy quan WAN 2, còn lại qua WAN 1, tương ứng với nhu cầu tách lưu lượng truy cập của chúng ta.
Ok như vậy là mình đã hướng dẫn bạn quản lý băng thông truy cập trong nước và quốc tế trên router Mikrotik. Nếu các bạn gặp khó khăn gì có thể comment bên dưới bài viết để mọi người cùng khắc phục nhé.
Chúc các bạn thành công!
Bình luận bài viết!