Chặn Quảng Cáo trên MikroTik bằng AdList
Tóm tắt
Tính năng AdList của MikroTik (RouterOS v7.15+) cho phép chặn quảng cáo ở cấp độ DNS trên toàn mạng. Hướng dẫn này giải thích nguyên nhân hoạt động, chuẩn bị router, thêm danh sách chặn công khai và tùy chỉnh, kiểm tra cấu hình, danh sách trắng tên miền và giới hạn.
Tại sao dùng AdList thay vì Pi‑hole?
AdList là bộ chặn quảng cáo dựa trên DNS tích hợp trong MikroTik. Khác với container Pi‑hole, AdList chạy trực tiếp trên RouterOS và không cần phần cứng hay container bên ngoài. Khi bật, nó lọc yêu cầu tới máy chủ quảng cáo đã biết (bản ghi A và AAAA) bằng cách trả về địa chỉ 0.0.0.0 thay vì IP thực.
Ưu điểm so với Pi‑hole:
- Cài đặt đơn giản. Thêm danh sách chặn và bắt đầu hoạt động ngay.
- Không container. Không cần bật container hoặc quản lý máy chủ Pi‑hole bên ngoài.
- DNS tích hợp. Dùng bộ phân giải DNS tích hợp RouterOS, không cần thay đổi cài đặt DNS router.
- Tương thích rộng. Hoạt động trên tất cả router MikroTik dùng RouterOS v7.15 trở lên.
Do AdList sửa phản hồi DNS, nó có thể chặn quảng cáo trên smartphone, TV và thiết bị IoT dùng DNS mạng. Lưu ý kiểu chặn này không thể ngăn quảng cáo video YouTube hay quảng cáo trong ứng dụng tương tự.
Chuẩn bị router
Trước khi thêm danh sách chặn, cập nhật router lên phiên bản RouterOS v7 mới nhất. AdList có trên từ v7.15 trở đi【263718328550380†L40-L41】. Để nâng cấp, vào System → Packages → Check for updates và cài bản ổn định mới nhất.
Tăng kích thước bộ nhớ đệm DNS
AdList lưu trong bộ nhớ đệm DNS; bộ nhớ đệm nhỏ sẽ gây lỗi “max cache size reached”. Trong IP → DNS, đặt Cache size đủ lớn để chứa các danh sách. Ví dụ, router có 128 MB RAM chạy 1-2 danh sách nên đặt cache khoảng 30–40 MB. Có thể làm qua WinBox hoặc CLI:
/ip/dns set cache-size=40000
Đảm bảo bật Allow Remote Requests để router phản hồi truy vấn DNS từ LAN.
--- [to separe files]
Thêm danh sách chặn công khai
Có thể nhập các danh sách chặn phổ biến như file hosts của StevenBlack. Trong WinBox, vào IP → DNS → Adlist và nhấn +. Dán URL danh sách (ví dụ https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts) và tắt SSL Verify nếu chưa nhập CA. Danh sách sẽ hiện số lượng tên và số lượng khớp khi xử lý xong.
Lệnh CLI tương đương:
/ip/dns/adlist add \ url=https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts \ ssl-verify=noĐể xem số tên miền được tải và số truy vấn bị chặn, chạy:
/ip/dns/adlist/printHiện match-count (số truy vấn chặn) và name-count (số mục trong danh sách).

Danh sách trắng và máy chủ chuyển tiếp
Đôi khi cần cho phép một tên miền xuất hiện trong danh sách chặn. Tạo mục chuyển tiếp tĩnh để bỏ qua AdList. Ví dụ:
/ip/dns/static add name=example.com type=FWDLệnh này chuyển tiếp truy vấn example.com đến DNS kế tiếp【702850675801765†L430-L435】. Máy chủ chuyển tiếp còn dùng để định nghĩa resolver bên trên (ví dụ Quad9, Cloudflare). Dùng /ip dns forwarders add dns-servers=1.1.1.1,8.8.8.8 name=my-fwd rồi đặt mục tĩnh forward-to=my-fwd.
--- [to separe files]
Tạo và nhập danh sách chặn riêng
Để kiểm soát hơn, tạo file text chứa tên miền cần chặn. Mỗi dòng theo định dạng 0.0.0.0 domain. Ví dụ:
0.0.0.0 adverts.com0.0.0.0 click.adclick.com0.0.0.0 malware-site.com0.0.0.0 fraud.scam.comTải lên hoặc tạo file trực tiếp trên RouterOS bằng lệnh:
/file/add name=adbl.txt/file/edit adbl.txt contentsNhập danh sách tên miền rồi nhấn Ctrl‑O để lưu. Sau đó thêm vào danh sách DNS:
/ip/dns/adlist add file=adbl.txtXác nhận file đã được phân tích qua name-count trong /ip/dns/adlist/print.

Kiểm tra và khắc phục sự cố
Xác minh phản hồi DNS
Sau khi thiết lập AdList, xóa bộ nhớ đệm DNS trên máy khách và thực hiện tra cứu DNS. Trên Windows, chạy ipconfig /flushdns rồi nslookup someadserver.com. Truy vấn sẽ trả về 0.0.0.0 hoặc 127.0.0.1 thay cho IP thật.

Kiểm tra số lượng khớp và sử dụng bộ nhớ đệm
Theo dõi match-count để xem bao nhiêu yêu cầu quảng cáo bị chặn. Nếu thấy lỗi adlist read: max cache size reached, tăng cache DNS hoặc loại bỏ danh sách lớn【702850675801765†L400-L405】. Lưu ý danh sách lưu trong bộ nhớ trong nên đảm bảo router có đủ dung lượng trống.
Bảo trì và giới hạn
- Tự động cập nhật. Mục AdList cập nhật tự động; RouterOS kiểm tra update mỗi 4 giờ. Có thể tải lại thủ công bằng
/ip/dns/adlist/reloadnhưng thường không cần. - Tiêu thụ bộ nhớ. Danh sách lớn dùng RAM và dung lượng lưu trữ nhiều. Tránh thêm quá nhiều danh sách so với khả năng router.
- Chặn chỉ ở DNS. Vì AdList hoạt động ở lớp DNS, không thể chặn quảng cáo từ cùng host phát video (ví dụ YouTube). Cần mở rộng trình duyệt hoặc Pi‑hole để ngăn quảng cáo trong ứng dụng hay YouTube.
- Cấu hình mạng. Đảm bảo thiết bị mạng dùng IP router làm DNS. Khách hàng dùng DoH/DoT có thể bỏ qua chặn quảng cáo; xem xét quy tắc tường lửa để bắt buộc DNS qua router.
Về MKController
Hy vọng những kiến thức trên giúp bạn làm chủ Mikrotik và mạng Internet tốt hơn! 🚀
Dù bạn đang tinh chỉnh cấu hình hay chỉ muốn sắp xếp mạng lưới hỗn độn, MKController sẽ giúp cuộc sống bạn trở nên đơn giản.
Với quản lý đám mây tập trung, cập nhật bảo mật tự động và bảng điều khiển dễ sử dụng, chúng tôi có mọi thứ để nâng cấp mạng của bạn.
👉 Bắt đầu dùng thử miễn phí 3 ngày tại mkcontroller.com — để thấy quản lý mạng thật dễ dàng thế nào.