Bỏ qua nội dung

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:

Terminal window
/ip/dns set cache-size=40000

Title

Đả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:

Terminal window
/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:

Terminal window
/ip/dns/adlist/print

Hiện match-count (số truy vấn chặn) và name-count (số mục trong danh sách).

Title

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ụ:

Terminal window
/ip/dns/static add name=example.com type=FWD

Lệ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.com
0.0.0.0 click.adclick.com
0.0.0.0 malware-site.com
0.0.0.0 fraud.scam.com

Tải lên hoặc tạo file trực tiếp trên RouterOS bằng lệnh:

Terminal window
/file/add name=adbl.txt
/file/edit adbl.txt contents

Nhậ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:

Terminal window
/ip/dns/adlist add file=adbl.txt

Xác nhận file đã được phân tích qua name-count trong /ip/dns/adlist/print.

Title


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.

Title

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/reload như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.