Mặc dù có nhiều bộ chặn quảng cáo cho laptop hoặc máy tính, nhưng chúng hiếm khi hoạt động trên các thiết bị khác như smartphone và tablet. Bài viết này sẽ chỉ cho bạn cách biến Raspberry Pi thành bộ chặn quảng cáo toàn mạng, sử dụng Pi-Hole. Khi hoàn thành, bạn sẽ chặn được quảng cáo trên laptop, máy tính, smartphone, tablet và bất kỳ thiết bị nào kết nối với mạng của bạn.
Lưu ý: để bắt đầu, bạn có thể tham khảo bài viết về Pi-Hole là gì và tại sao nó hữu ích.
Những thứ bạn cần
Để hoàn thành hướng dẫn này, bạn sẽ cần:
- Raspberry Pi chạy Raspbian. Nếu chưa có Raspbian, tải phiên bản mới nhất và flash bằng Etcher.
- Cáp nguồn tương thích với Raspberry Pi
- Bàn phím ngoài và cách gắn vào Raspberry Pi
- Cáp HDMI hoặc micro HDMI, tùy model Raspberry Pi
- Màn hình ngoài
- Cáp Ethernet hoặc kết nối Wi-Fi
Khi đã chuẩn bị xong, bạn đã sẵn sàng tạo bộ chặn quảng cáo toàn mạng.
Cài đặt Pi-Hole trên Raspberry Pi
Nếu chưa làm, gắn bàn phím ngoài, màn hình và các thiết bị ngoại vi khác vào Raspberry Pi, sau đó cắm nguồn.
Ngay khi Raspberry Pi khởi động, bạn đã sẵn sàng tải script cài đặt Pi-hole. Chỉ cần mở Terminal (bằng cách nhấp biểu tượng Terminal trên thanh công cụ Raspbian), sau đó gõ lệnh sau vào cửa sổ Terminal:
curl -sSL https://install.pi-hole.net | bash
Nhấn Enter. Raspbian sẽ tải script và bắt đầu cấu hình thiết bị để sử dụng Pi-Hole.
Sau vài giây, màn hình thiết lập Pi-Hole sẽ tự động khởi chạy.
Tiếp tục nhấn Enter để qua các màn hình giới thiệu cho đến khi được hỏi Pi-Hole nên hoạt động qua Wi-Fi (wlan0) hay Ethernet (eth0).
Dùng phím mũi tên chọn wlan0 hoặc eth0 (hướng dẫn này dùng Wi-Fi) và nhấn Enter.
Google, Cloudflare, OpenDNS: chọn nhà cung cấp DNS
Bạn cần chọn nhà cung cấp DNS upstream, sẽ chịu trách nhiệm trả lời truy vấn cho các tên miền không phải quảng cáo.
Pi-Hole hỗ trợ các nhà cung cấp DNS preset sau, nhưng bạn có thể nhập tùy chỉnh bằng cách chọn "custom":
- Google (ECS)
- OpenDNS (ECS)
- Level3
- Comodo
- DNS.WATCH
- Quad9 (filtered, DNSSEC)
- Quad9 (unfiltered, DNSSEC)
- Quad9 (filtered + ECS)
- Cloudflare
Hướng dẫn này dùng Google, nhưng bạn có thể chọn nhà cung cấp DNS ưa thích.
Pi-Hole nên dùng blacklist nào?
Chỉ định các danh sách Pi-Hole nên dùng để nhận diện và chặn nội dung không mong muốn.
Trừ khi bạn có lý do đặc biệt để thay đổi, thường nên giữ cài đặt mặc định.
Giao thức Internet: IPv4 hay IPv6 (hay cả hai)?
Chọn IPv4 hay IPv6 không quan trọng, nhưng nếu muốn chặn nhiều quảng cáo nhất có thể, bạn nên để chọn cả IPv4 và IPv6.
Cấu hình địa chỉ IP tĩnh
Sử dụng cài đặt mạng hiện tại làm địa chỉ tĩnh của Pi-Hole. Giả sử bạn hài lòng với thông tin hiển thị, dùng phím mũi tên chọn "Yes" và nhấn Enter.
Đọc kỹ tuyên bố miễn trừ trách nhiệm, nếu đồng ý chọn "OK".
Giám sát Pi-Hole với giao diện web admin
Bạn sẽ được hỏi có muốn cài đặt giao diện web admin của Pi-Hole không. Giao diện này cung cấp cái nhìn sâu sắc về cách Pi-Hole hoạt động trên mạng của bạn, nên khuyến khích cài đặt khi được nhắc.
Nếu cài đặt giao diện web admin, bạn cũng nên cài "lighttpd web server" khi được nhắc.
Ghi log dữ liệu Pi-Hole
Bạn có thể tắt khả năng ghi log của Pi-Hole, nhưng khuyến khích để bật vì chúng cung cấp thông tin hữu ích.
Bạn sẽ được nhắc chọn chế độ riêng tư cho FTL, là mức độ thông tin sẽ được bao gồm trong thống kê Pi-Hole. Chọn từ các tùy chọn sau:
- Hiển thị mọi thứ.
- Ẩn tên miền. Hiển thị và lưu trữ tất cả tên miền dưới dạng ẩn.
- Ẩn tên miền và client. Hiển thị và lưu trữ tất cả tên miền ẩn và client là 0.0.0.0.
- Chế độ ẩn danh. Ẩn tất cả chi tiết trừ thống kê ẩn danh nhất.
- Vô hiệu hóa thống kê. Tắt toàn bộ xử lý thống kê, bao gồm bộ đếm truy vấn.
Đăng nhập vào tài khoản Pi-Hole
Hộp thoại thiết lập sẽ hiển thị địa chỉ giao diện web admin Pi-Hole và mật khẩu cần thiết để đăng nhập. Hãy ghi nhớ thông tin này!
Nếu truy cập URL được cung cấp, bạn sẽ gặp giao diện web chuẩn của Pi-Hole và có thể đăng nhập bằng mật khẩu.
Giao diện web admin được chia thành các phần sau:
- Query log. Hiển thị các truy vấn gần nhất được thực hiện đến DNS server.
- Whitelist. Chỉ định các tên miền Pi-Hole không bao giờ chặn.
- Blacklist. Nếu vẫn còn quảng cáo lọt qua Pi-Hole? Nếu bạn xác định được tên miền gây ra quảng cáo rác đó, bạn có thể thêm thủ công vào blacklist của Pi-Hole.
- Disable. Nơi bạn có thể tạm thời hoặc vĩnh viễn tắt Pi-Hole để xem lại quảng cáo!
- Update lists. Đảm bảo bạn có phiên bản mới nhất của danh sách chặn quảng cáo Pi-Hole bằng cách kích hoạt cập nhật thủ công.
- Query adlists. Sử dụng công cụ này để kiểm tra xem một URL cụ thể có nằm trong danh sách chặn quảng cáo của Pi-Hole không.
- Tail pihole.log. Công cụ này cho bạn kiểm tra file log Pi-Hole để thấy chính xác Pi-Hole xử lý yêu cầu đến như thế nào.
- Settings. Bạn có thể thay đổi nhiều cấu hình Pi-Hole, bao gồm nhà cung cấp DNS upstream bạn muốn dùng.
Đây chỉ là tổng quan ngắn gọn về giao diện web admin Pi-Hole. Thực sự đáng để dành thời gian khám phá giao diện này kỹ hơn!
Khắc phục sự cố: could not resolve host
Trong khi cấu hình Pi-Hole, bạn có thể gặp lỗi sau trong cửa sổ Terminal:
"Could not resolve host
FTL Engine not installed."
Nếu gặp thông báo này, hãy chạy lệnh Terminal sau:
sudo nano /etc/resolv.conf
Điều này mở file resolv.conf trong trình soạn thảo Nano. Bạn cần thêm địa chỉ IP của nhà cung cấp DNS đã chọn vào file resolv.conf. Ví dụ, hướng dẫn này dùng Google làm DNS, tìm kiếm nhanh cho thấy "8.8.8.8" nên thêm vào resolv.conf:
nameserver 8.8.8.8
Để lưu thay đổi, dùng phím tắt Ctrl + O, sau đó nhấn Y khi được nhắc.
Đóng resolv.conf bằng phím tắt Ctrl + X.
Khởi chạy lại hộp thoại thiết lập Pi-Hole bằng lệnh Terminal sau:
curl -sSL https://install.pi-hole.net | bash
Bây giờ bạn nên hoàn thành được hộp thoại thiết lập mà không gặp lỗi.
Cập nhật router: Tạo bộ chặn quảng cáo toàn mạng
Bạn đã sẵn sàng cập nhật thiết bị hoặc router để dùng Pi-Hole. Nếu muốn chặn quảng cáo trên tất cả thiết bị kết nối mạng, bạn cần thay đổi cài đặt DNS của router để trỏ đến thiết bị Raspberry Pi.
Quy trình thay đổi cài đặt DNS router sẽ khác nhau tùy model router chính xác, nhưng tổng quan bạn cần:
- Truy cập trang admin của router.
- Đăng nhập bằng tên người dùng và mật khẩu. Nếu không biết, có thể bạn đang dùng mặc định của nhà sản xuất. Tìm thông tin này trên web nhà sản xuất hoặc tài liệu đi kèm router.
- Tìm tab, menu hoặc phần chứa từ "DNS server" hoặc "DHCP server". Lưu ý cài đặt này có thể ẩn trong phần "Advanced setup".
- Cập nhật primary DNS server của router thành địa chỉ IP của Raspberry Pi. Nếu không biết địa chỉ, lấy được bằng cách mở Terminal Raspbian và chạy lệnh:
hostname -I
Để biết hướng dẫn cập nhật cài đặt DNS cho router cụ thể của bạn, xem trang web nhà sản xuất hoặc tài liệu vật lý đi kèm router.
Cách chặn quảng cáo trực tuyến trên thiết bị cụ thể
Bạn cũng có thể thay đổi cài đặt DNS cho thiết bị và hệ điều hành cụ thể.
1. Windows
Để cập nhật cài đặt DNS trên Windows:
- Mở "Control Panel".
- Điều hướng đến "Network and Internet -> Network and Sharing Center -> Change adapter settings".
- Chọn kết nối bạn muốn cấu hình.
- Chuột phải "Local Area Connection -> Properties".
- Chọn tab "Networking".
- Chọn "TCP/IPv4" hoặc "TCP/IPv6".
- Điều hướng đến "Properties -> Advanced -> DNS" và nhấp "OK".
- Chọn "Use the following DNS server addresses".
- Thay thế địa chỉ trong phần này bằng địa chỉ IP của Raspberry Pi.
Máy tính Windows của bạn hiện đã được thiết lập dùng Pi-Hole ad-blocker.
2. Linux
Nếu bạn dùng Linux, bạn cần:
- Điều hướng đến "System -> Preferences -> Network Connections".
- Chọn kết nối muốn cấu hình, sau đó nhấp "Edit".
- Chọn tab "IPv4 Settings" hoặc "IPv6 Settings".
- Trong trường "DNS servers", nhập địa chỉ IP Raspberry Pi.
- Lưu thay đổi bằng cách nhấp "Apply".
Thay vì vậy, bạn có thể cập nhật cài đặt DNS bằng cách mở file "/etc/resolv.conf".
3. macOS
Để cập nhật cài đặt DNS trên macOS:
- Chọn logo "Apple" trên thanh công cụ Mac.
- Điều hướng đến "System Preferences -> Network".
- Chọn kết nối muốn chỉnh sửa.
- Nhấp "Advanced ..."
- Chọn tab "DNS".
- Nhấp biểu tượng "+" nhỏ và nhập địa chỉ IP Raspberry Pi.
- Lưu thay đổi bằng cách nhấp "Apply -> OK".
Pi-Hole sẽ kiểm tra tất cả yêu cầu của bạn đối chiếu với blacklist và chặn nhiều quảng cáo nhất có thể.
4. iPhone
Nếu bạn sở hữu iPhone hoặc iPad:
- Mở ứng dụng "Settings".
- Chọn "Wi-Fi" và nhấn vào mạng gia đình trong danh sách.
- Chọn trường "DNS".
- Xóa tất cả DNS server hiện tại và thay bằng địa chỉ IP Raspberry Pi.
5. Android
Để chặn quảng cáo trên Android:
- Mở ứng dụng "Settings".
- Chọn "Wi-Fi".
- Nhấn giữ vào mạng Wi-Fi muốn cập nhật.
- Chọn "Modify network -> Advanced options".
- Nhấn "DHCP" sau đó chọn "Static".
- Trong "DNS 1", nhập địa chỉ IP Raspberry Pi.
- Nhấn "Save".
Khi dùng Raspberry Pi làm ad-blocker, nó cũng có thể dùng làm Wi-Fi access point hoặc personal web server. Hãy xem thử.