Là một Kỹ sư Hệ thống, tôi cực kỳ dị ứng với việc quảng cáo rác xuất hiện tràn lan trên các thiết bị trong nhà, đặc biệt là trên Smart TV và điện thoại của người thân. Khi đang dùng gói cước Internet của VNPT với con Router iGate mặc định, tôi quyết định triển khai ngay một DNS Sinkhole để lọc quảng cáo toàn mạng LAN.

Trong bài viết này, tôi sẽ chia sẻ góc nhìn thực tế và hướng dẫn chi tiết cách tôi thiết lập AdGuard Home trên Mini PC để tối ưu hóa trải nghiệm mạng gia đình.

1. Tại sao tôi chọn AdGuard Home thay vì Pi-hole?

Cả Pi-hole và AdGuard Home đều là những giải pháp chặn quảng cáo mức DNS tuyệt vời. Tuy nhiên, sau một thời gian thử nghiệm cả hai trên hạ tầng mạng cá nhân, tôi quyết định gắn bó với AdGuard Home vì những lý do sau:

  • Giao diện hiện đại: Trực quan, dễ quản lý và xem báo cáo chi tiết theo từng thiết bị kết nối.
  • Tích hợp sẵn DoH/DoT: Hỗ trợ mã hóa truy vấn DNS (DNS-over-HTTPS / DNS-over-TLS) cực kỳ đơn giản mà không cần cài thêm DoH proxy phức tạp.
  • Chặn dịch vụ theo danh mục: Dễ dàng khóa YouTube, TikTok hoặc các trang web độc hại chỉ bằng một cú click.

2. Triển khai AdGuard Home bằng Docker trên Mini PC

Tôi tận dụng chiếc Mini PC chạy Ubuntu Server để dựng service. Trước khi cài đặt, bạn nên xem qua hướng dẫn cài đặt Docker trên Linux để chuẩn bị môi trường chuẩn chuẩn nhất.

Dưới đây là tệp docker-compose.yml tối ưu mà tôi đang sử dụng thực tế:

version: '3.8'
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: always
    volumes:
      - ./workdir:/opt/adguardhome/work
      - ./confdir:/opt/adguardhome/conf
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "3000:3000/tcp"
      - "853:853/tcp"
    cap_add:
      - NET_ADMIN
💡 Lưu ý quan trọng: Trên hệ điều hành Ubuntu, cổng 53 mặc định bị chiếm bởi dịch vụ systemd-resolved. Bạn cần tắt dịch vụ này hoặc giải phóng cổng 53 trước khi khởi chạy container.

Chặn quảng cáo toàn mạng LAN với AdGuard Home

3. Cấu hình Router VNPT để điều hướng DNS toàn mạng

Với các modem VNPT phổ biến như iGate GW040H hay GW020, chúng ta có hai giải pháp để bắt buộc tất cả thiết bị trong nhà truy vấn qua AdGuard Home.

Cách 1: Thay đổi Primary DNS trong DHCP của Router VNPT

Truy cập vào trang quản trị modem VNPT (thường là 192.168.1.1), tìm đến mục Network Settings > LAN > DHCP Server. Tại đây, hãy đổi trường Primary DNS thành địa chỉ IP tĩnh của chiếc Mini PC chạy AdGuard Home.

Cách 2: Tắt DHCP VNPT, dùng AdGuard Home làm DHCP Server (Khuyên dùng)

Đây là phương án tôi khuyến khích sử dụng. Khi giao quyền cấp phát IP cho AdGuard Home, bạn sẽ thấy rõ tên từng thiết bị (như iPhone-Cua-Vo, SmartTV-Phong-Khach) trong bảng điều khiển thay vì chỉ thấy các dải IP vô danh.

  • Vào Modem VNPT > Tắt tính năng DHCP Server.
  • Vào Cài đặt AdGuard Home > DHCP Settings > Bật DHCP Server và thiết lập dải IP mong muốn.

4. Bộ lọc (Blocklist) tối ưu cho người dùng Việt Nam

Mặc định AdGuard Home chỉ sử dụng danh sách lọc quốc tế. Để chặn hiệu quả các trang quảng cáo, rút gọn link và lừa đảo tại Việt Nam, bạn nên thêm các bộ lọc chuyên dụng sau:

  • ABPVN List: Bộ lọc quốc dân dành riêng cho các trang web và báo chí Việt Nam.
  • AdGuard DNS Filter: Chặn quảng cáo tổng hợp và các tên miền theo dõi người dùng.
  • StevenBlack List: Hỗ trợ chặn các tên miền chứa phần mềm độc hại, giả mạo.

Sau khi thiết lập xong, bạn có thể tham khảo thêm bài viết về tối ưu hiệu năng máy chủ trên blog để giúp chiếc Mini PC vận hành 24/7 ổn định và tiết kiệm điện nhất.