Hướng dẫn cài Pi-hole chặn quảng cáo toàn mạng nhà — không cần cài từng thiết bị - Blog Technology

Tin mới

Blog Technology

Blog công nghệ VNPT - Hướng dẫn firmware, thủ thuật mạng, AI và công nghệ mới nhất tại Việt Nam.

Post Top Ad

Post Top Ad

Thứ Ba, 31 tháng 3, 2026

Hướng dẫn cài Pi-hole chặn quảng cáo toàn mạng nhà — không cần cài từng thiết bị

Cài AdBlock trên từng trình duyệt, từng thiết bị — mãi không hết quảng cáo? Pi-hole chặn quảng cáo ngay tại cấp độ DNS của cả mạng nhà: TV, điện thoại, máy tính, SmartTV đều sạch quảng cáo mà không cần cài gì thêm. Bài viết này hướng dẫn chi tiết từ đầu đến cuối.

AdBlock chỉ chặn quảng cáo trên trình duyệt — còn quảng cáo trong app, SmartTV, game mobile thì sao? Pi-hole hoạt động ở tầng DNS, chặn trước khi quảng cáo kịp tải về — toàn bộ thiết bị trong mạng nhà đều được bảo vệ, không cần cài thêm bất cứ thứ gì trên từng máy.

🌐 Pi-hole là gì? Hoạt động thế nào?

Pi-hole là một DNS sinkhole — bộ lọc DNS chạy ngay trong mạng nhà bạn. Thay vì để thiết bị truy vấn DNS của Google hay VNPT trực tiếp, Pi-hole đứng ở giữa, kiểm tra mọi domain và chặn các domain quảng cáo trước khi trình duyệt/app kịp tải.

📱
Thiết bị
của bạn
DNS query
🕳️
Pi-hole
(DNS filter)
Ads? BLOCK
🚫
ads.google
doubleclick
📱
Thiết bị
của bạn
DNS query
🕳️
Pi-hole
(DNS filter)
OK, pass
🌍
youtube.com
facebook.com
Domain quảng cáo — bị chặn
Domain bình thường — cho qua

Sự khác biệt quan trọng với AdBlock thông thường:

Tiêu chíAdBlock (Extension)Pi-hole
Phạm vi chặnChỉ 1 trình duyệtToàn mạng nhà
Chặn trong appKhôngCó (TikTok, YouTube app...)
Chặn trên SmartTVKhông
Chặn quảng cáo game mobileKhôngCó (phần lớn)
Cần cài trên từng thiết bịKhông
Tăng tốc độ load trangÍtRõ rệt (DNS cache)
Theo dõi DNS toàn mạngKhôngCó (dashboard đẹp)
💡
Pi-hole không chặn được tất cả

Quảng cáo YouTube trong video (dạng stream cùng domain) Pi-hole không chặn được vì dùng chung domain youtube.com. Nhưng banner, popup, quảng cáo trong app — Pi-hole xử lý rất tốt. Kết hợp Pi-hole + uBlock Origin cho trình duyệt là setup lý tưởng nhất.

🛒 Chuẩn bị: Thiết bị và yêu cầu cần có

Bắt buộc
Raspberry Pi
Pi 3B+, Pi 4, hoặc Pi Zero 2W. Chạy 24/7, điện 2–5W
700k–1.5 triệu VNĐ
Bắt buộc
Thẻ MicroSD
Tối thiểu 8GB, khuyến nghị 16–32GB Class 10
80k–150k VNĐ
Bắt buộc
Nguồn điện USB-C
5V/3A cho Pi 4, 5V/2.5A cho Pi 3. Nguồn kém gây lỗi
Thường có sẵn
Khuyến nghị
Cáp LAN
Nối Pi vào modem VNPT qua dây, ổn định hơn WiFi nhiều
20k–50k VNĐ
Thay thế Pi
Ubuntu/Debian PC
Máy tính cũ chạy Linux cũng được — miễn chạy 24/7
Tận dụng đồ cũ
Tùy chọn
Docker (thay Pi)
Cài Pi-hole qua Docker trên NAS hoặc máy chủ nhà
Nếu đã có NAS
⚠️
Không có Raspberry Pi? Dùng máy tính cũ hoặc Docker

Nếu chưa có Pi, bạn vẫn cài được Pi-hole trên bất kỳ máy Linux nào (Ubuntu, Debian, Armbian) hoặc qua Docker trên NAS Synology/QNAP. Hướng dẫn bên dưới áp dụng được cho cả ba cách — chỉ khác bước cài OS ban đầu.

⚙️ Cài đặt Pi-hole trên Raspberry Pi / Ubuntu

Bước 1: Cài Raspberry Pi OS và SSH vào Pi

  1. 1
    Flash OS vào thẻ SD

    Tải Raspberry Pi Imager tại raspberrypi.com/software → chọn Raspberry Pi OS Lite (64-bit) → chọn thẻ SD → nhấn Write. Trước khi ghi, vào Settings (bánh răng) → bật SSH, đặt username/password, cấu hình WiFi nếu cần.

  2. 2
    Cắm thẻ SD vào Pi và cấp nguồn

    Cắm cáp LAN từ Pi vào modem VNPT. Đợi 60 giây để Pi khởi động xong.

  3. 3
    Tìm IP của Pi và SSH vào

    Vào 192.168.1.1Status → DHCP Clients → tìm thiết bị tên raspberrypi → ghi lại IP (ví dụ 192.168.1.110). Mở Terminal (Windows dùng PowerShell hoặc PuTTY):

    ssh pi@192.168.1.110

Bước 2: Đặt IP tĩnh cho Pi (bắt buộc)

Pi-hole cần IP cố định để modem trỏ DNS vào đúng. Cách đơn giản nhất là đặt Static DHCP trên modem:

📍 Trên modem VNPT
192.168.1.1 → Advanced → DHCP → Static Lease (hoặc Address Reservation)
Thêm entry mới: MAC Address của Pi → IP muốn gán (ví dụ 192.168.1.110) → Save. Từ giờ Pi luôn nhận cùng một IP sau mỗi lần restart.

Bước 3: Cài Pi-hole bằng 1 lệnh

SSH terminal — Raspberry Pi
# Cập nhật hệ thống trước
sudo apt update && sudo apt upgrade -y

# Cài Pi-hole — script tự động hoàn toàn
curl -sSL https://install.pi-hole.net | bash

Script sẽ chạy wizard với các lựa chọn — bấm OK/Yes theo mặc định, chỉ lưu ý:

  • Upstream DNS: chọn Cloudflare (1.1.1.1) hoặc Google (8.8.8.8)
  • Block lists: để mặc định StevenBlack — có thể thêm sau
  • Install web admin: chọn On — để có dashboard đẹp
  • Log queries: chọn On — để xem thống kê
  • Ghi lại mật khẩu web admin hiện ở cuối quá trình cài
Cài xong — kiểm tra ngay

Mở trình duyệt, vào http://192.168.1.110/admin (thay IP của Pi bạn). Nếu thấy dashboard Pi-hole — cài thành công!

Cài qua Docker (thay thế nếu có NAS/Server)

docker-compose.yml
version: '3'
services:
  pihole:
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
    environment:
      TZ: 'Asia/Ho_Chi_Minh'
      WEBPASSWORD: 'mat_khau_cua_ban'
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    restart: unless-stopped
# Chạy Pi-hole Docker
docker-compose up -d

# Kiểm tra đang chạy
docker ps | grep pihole

🔧 Cấu hình modem VNPT để dùng Pi-hole làm DNS

Đây là bước quan trọng nhất — khi xong bước này, toàn bộ thiết bị trong mạng nhà tự động dùng Pi-hole mà không cần cài gì thêm:

  1. 1
    Vào cài đặt DHCP trên modem VNPT
    📍 Đường dẫn
    192.168.1.1 → Advanced → LAN → DHCP Server
    Tìm trường Primary DNS hoặc DNS Server 1
  2. 2
    Thay DNS Server thành IP của Pi-hole

    Đổi Primary DNS từ 1.1.1.1 hoặc 8.8.8.8 thành IP của Raspberry Pi, ví dụ: 192.168.1.110

    Secondary DNS: để trống hoặc giữ 1.1.1.1 làm dự phòng (nếu Pi lỗi, thiết bị vẫn có internet)

  3. 3
    Lưu và khởi động lại modem

    Click Apply/Save. Đợi modem restart. Sau đó disconnect và reconnect WiFi trên điện thoại để nhận DNS mới.

  4. 4
    Xác nhận Pi-hole đang hoạt động

    Trên điện thoại/máy tính, kiểm tra DNS: vào dnsleaktest.com → chạy test → nếu DNS hiện IP của Pi (192.168.1.110) hoặc DNS của Cloudflare/Google thông qua Pi → đang hoạt động đúng.

    Hoặc đơn giản hơn: vào dashboard Pi-hole, bấm Query Log — nếu thấy các tên miền từ điện thoại xuất hiện → Pi-hole đang nhận và xử lý DNS toàn mạng.

💡
Modem VNPT không cho đổi DNS trong DHCP?

Một số firmware VNPT khóa trường DNS. Giải pháp thay thế: cấu hình DNS trực tiếp trên từng thiết bị quan trọng (máy tính, điện thoại chính) hoặc mua thêm router TP-Link/Asus cắm sau modem VNPT và cấu hình DNS trên router đó.

📋 Thiết lập Blocklist nâng cao

Pi-hole mặc định dùng danh sách StevenBlack với khoảng 130.000 domain. Thêm các blocklist sau để chặn triệt để hơn:

StevenBlack Unified (Mặc định)
Quảng cáo, malware, fake news cơ bản
~130.000 domain
oisd.nl (Khuyến nghị thêm)
Cập nhật thường xuyên, ít false positive nhất
~270.000 domain
HaGeZi Multi PRO
Tổng hợp nhiều nguồn, bao gồm tracking và telemetry
~800.000 domain
Malware Domain List
Domain phát tán malware, phishing — bảo mật quan trọng
~26.000 domain
WindowsSpyBlocker
Chặn telemetry Windows gửi về Microsoft
~240 domain

Cách thêm blocklist mới vào Pi-hole

📍 Qua Dashboard Web
http://192.168.1.110/admin → Adlists → Add new adlist
Dán URL blocklist vào ô Address → nhấn Add → vào Tools → Update Gravity để áp dụng ngay
Hoặc qua SSH — thêm nhiều list cùng lúc
# Thêm oisd blocklist
pihole -a adlist add https://big.oisd.nl

# Cập nhật gravity (áp dụng blocklist mới)
pihole -g

# Xem thống kê hiện tại
pihole -c

📊 Kết quả thực tế — Những gì Pi-hole chặn được

Sau 1 tuần chạy Pi-hole trên mạng nhà điển hình (4–6 thiết bị), kết quả thường thấy:

15–30
%
DNS queries bị chặn
200+
ms
Trang web load nhanh hơn (DNS cache)
500k+
domain
Bị chặn với full blocklist
5
W
Điện tiêu thụ Raspberry Pi

Những loại quảng cáo Pi-hole chặn hiệu quả nhất:

  • Banner và popup trong ứng dụng Android/iOS (game free, ứng dụng tin tức)
  • Quảng cáo trên SmartTV Samsung, LG (chặn 60–80% quảng cáo tích hợp)
  • Tracking và telemetry — apps không còn gửi data về quảng cáo network
  • Quảng cáo trong podcast app, music app (Spotify free)
  • Phishing domain — bảo vệ cả nhà khỏi link lừa đảo

🔧 Xử lý sự cố thường gặp

Website bình thường bị chặn nhầm (False Positive)

Vào Dashboard → Query Log → tìm domain bị chặn (màu đỏ) → click Whitelist. Hoặc qua SSH:

# Thêm domain vào whitelist
pihole -w ten-domain.com

# Xem danh sách whitelist
pihole -w -l

Một số domain hay bị chặn nhầm: fonts.googleapis.com, ajax.googleapis.com — thêm vào whitelist nếu trang web bị lỗi hiển thị.

Thiết bị không dùng DNS của Pi-hole

Nguyên nhân thường gặp: thiết bị đã cache DNS cũ. Giải pháp:

  • Disconnect và reconnect WiFi trên thiết bị
  • Hoặc: Quên mạng và kết nối lại từ đầu
  • Windows: mở CMD → gõ ipconfig /flushdns
  • Kiểm tra DNS đang dùng: nslookup google.com → dòng Server phải là IP của Pi
Pi-hole dashboard không vào được

Kiểm tra Pi đang chạy không: ping 192.168.1.110 từ máy tính. Nếu ping được nhưng web không vào:

# SSH vào Pi, kiểm tra service
sudo systemctl status pihole-FTL
sudo systemctl status lighttpd

# Khởi động lại Pi-hole
pihole restartdns
Mạng bị mất sau khi cấu hình DNS trên modem
Pi đang tắt hoặc chưa khởi động xong. Pi-hole phải bật trước khi thiết bị khác khởi động. Giải pháp nhanh: đổi DNS modem về 1.1.1.1 tạm thời → kiểm tra Pi → cấu hình lại. Đây là lý do nên để Secondary DNS là 1.1.1.1 làm dự phòng.
Pi-hole update và bảo trì thế nào?
# Cập nhật Pi-hole lên phiên bản mới nhất
pihole -up

# Cập nhật OS
sudo apt update && sudo apt upgrade -y

# Cập nhật blocklist (nên chạy 1 lần/tuần)
pihole -g

Nên đặt cron job tự động cập nhật gravity mỗi tuần vào 3 giờ sáng Chủ nhật để không ảnh hưởng đến giờ dùng mạng.

❓ Câu hỏi thường gặp

Pi-hole có làm chậm mạng không?
Ngược lại — Pi-hole thường làm mạng nhanh hơn nhẹ. Vì Pi-hole cache kết quả DNS, lần sau truy cập cùng domain không cần truy vấn DNS ra ngoài nữa. Raspberry Pi 3B+ xử lý được hàng nghìn DNS query/giây — không bao giờ là bottleneck với mạng gia đình.
Nếu Raspberry Pi bị lỗi, cả nhà mất internet không?
Chỉ khi bạn không đặt Secondary DNS. Nên luôn để Secondary DNS là 1.1.1.1 hoặc 8.8.8.8 — khi Pi lỗi, thiết bị tự động dùng DNS dự phòng và internet vẫn hoạt động bình thường, chỉ mất tính năng chặn quảng cáo.
Pi-hole có xem được nội dung tôi truy cập không?
Pi-hole chỉ thấy tên domain (ví dụ: youtube.com) không thấy nội dung cụ thể (video nào bạn xem). Vì Pi-hole chỉ xử lý DNS — giống như biết bạn đến nhà ai nhưng không biết bạn nói gì trong đó. Toàn bộ data chạy trực tiếp giữa thiết bị và server, không qua Pi-hole.
Pi-hole có chặn được quảng cáo YouTube không?
Quảng cáo trước video YouTube (in-stream ads) thì không — vì Google phục vụ chúng cùng domain với video thật. Nhưng Pi-hole chặn được banner Google Ads trên các website, quảng cáo trong YouTube app dạng display, và tracking của YouTube. Để chặn pre-roll ads, dùng thêm uBlock Origin trên trình duyệt.
Có thể dùng Pi-hole mà không cần Raspberry Pi không?
Có nhiều cách: (1) Cài trên bất kỳ máy Linux nào chạy 24/7, (2) Docker trên NAS Synology/QNAP, (3) Cài trên VPS (nhưng tăng latency DNS), (4) Dùng Pi-hole trên Android qua Termux — phức tạp hơn nhưng không cần mua thêm thiết bị.

🎯 Tóm tắt — 5 bước để có mạng nhà sạch quảng cáo

  • Mua Raspberry Pi 3B+ hoặc Pi 4 — cắm dây LAN vào modem VNPT
  • Flash Raspberry Pi OS Lite → SSH vào → chạy curl -sSL https://install.pi-hole.net | bash
  • Đặt IP tĩnh cho Pi qua DHCP Reservation trên modem 192.168.1.1
  • Đổi Primary DNS trong DHCP modem thành IP của Pi — Secondary DNS giữ 1.1.1.1
  • Thêm blocklist oisd.nl → chạy pihole -g → xong!

Chi phí một lần: khoảng 800.000 – 1.200.000 VNĐ cho Pi + thẻ SD. Điện hàng tháng chưa đến 30.000 VNĐ. Đổi lại: toàn bộ nhà không quảng cáo, nhanh hơn, và bảo mật tốt hơn trên mọi thiết bị mà không cần cài thêm bất cứ thứ gì.

Pi-hole Chặn quảng cáo toàn mạng Raspberry Pi VNPT DNS sinkhole Blocklist Modem VNPT DNS Chặn tracking Bảo mật mạng nhà Hướng dẫn

Không có nhận xét nào:

Đăng nhận xét

Post Top Ad