Hướng Dẫn Cài Adguard Home Lên Tv Box

AdGuard Home là một ứng dụng được cài đặt trên máy tính, đóng vai trong như là một bộ lọc quảng cáo cho mạng nội bộ. Nhờ đó mọi thiết bị trong mạng sẽ

Bạn chặn quảng cáo bằng cách nào?

  • Cài thêm phần mở rộng AdBlock hay Adblock Plus trên trình duyệt Chrome/Edge/Firefox?
  • Hay sử dụng các trình duyệt tích hợp sẵn bộ chặn quảng cáo như Brave/Opera?

Thực tế, mọi phương pháp đều có ưu điểm của nó. Tuy nhiên, hạn chế là chỉ có thể chặn quảng cáo khi duyệt web và chỉ khi thiết bị đã cài đặt sẵn. Khi dùng ứng dụng, chơi game trên điện thoại hay sử dụng Smart TV, quảng cáo vẫn xuất hiện gây phiền nhiễu.

Để chặn quảng cáo trên tất cả các thiết bị trong nhà, bạn cần áp dụng phương pháp sử dụng DNS để chặn quảng cáo.

Trong bài viết này, Viqazo sẽ hướng dẫn bạn cách cài đặt và sử dụng AdGuard Home – một trong những công cụ chặn quảng cáo bằng DNS được ưa chuộng nhất hiện nay. Bên cạnh AdGuard Home, PiHole cũng là một lựa chọn với các tính năng gần giống nhau. Dưới đây là bảng so sánh tính năng giữa hai phần mềm này, mà theo tôi là minh bạch nhất và không thiên vị. Từ bảng so sánh, bạn có thể tự rút ra những kết luận của mình.

adguard-home-compare-to-pi-hole
Nguồn: Github AdguardTeam

AdGuard Home hoạt động ra sao?

AdGuard Home là một ứng dụng được cài đặt trên máy tính, đóng vai trong như là một bộ lọc quảng cáo cho mạng nội bộ. Nhờ đó mọi thiết bị trong mạng sẽ được hưởng lợi không bị quảng cáo làm phiền.

Để hiểu cách AdGuard Home hoạt động, bạn cần biết thiết bị của mình truy vấn thông tin trên Internet như thế nào.

  • Mỗi khi bạn truy cập một website thông qua tên miền (ví dụ: https://viqazo.com), thiết bị của bạn (trình duyệt web) cần phải biết chính xác địa chỉ IP của tên miền này để có thể tải nội dung về.
  • Để xác định được địa chỉ IP này, trình duyệt sẽ gửi một yêu cầu phân giải tên miền – DNS (Domain name system) đến máy chủ DNS – nơi chứa thông tin địa chỉ IP tương ứng với tất cả tên miền trên thế giới.
  • Máy chủ DNS sẽ phản hồi lại địa chỉ IP của tên miền https://viqazo.com để trình duyệt tải nội dung cần thiết.
  • Mọi kết nối đến tên miền đều phải thực hiện lại thao tác DNS query này.

Thông thường, địa chỉ DNS Server sẽ được router cung cấp tự động cho các thiết bị trong nhà qua giao thức DHCP khi kết nối mạng. Router thường dùng DNS Server mặc định của nhà cung cấp dịch vụ internet. Bạn cũng có thể chuyển sang sử dụng DNS Server của Google (8.8.8.8, 8.8.4.4) hoặc CloudFlare (1.1.1.1, 1.0.0.1).

AdGuard Home ngăn chặn quảng cáo bằng cách can thiệp vào kết nối từ thiết bị đến DNS Server. Nó hoạt động với vai trò như một máy chủ DNS trung gian, loại bỏ các truy vấn liên quan đến các domain quảng cáo thông qua bộ lọc đã được thiết lập, và chỉ chuyển tiếp những truy vấn hợp lệ tới máy chủ DNS để phân giải tên miền.

Lưu ý: AdGuard Home sẽ không chặn được các quảng cáo sau:
- YouTube, Twitch ads;
- Facebook, Twitter, Instagram sponsored posts (Bài đăng được tài trợ).
Do các quảng cáo được đặt trên cùng Server với video chính (nên sẽ có cùng IP). Nếu chặn quảng cáo là sẽ chặn luôn nội dung, không xem được.

Chuẩn Bị Đồ Nghề

Trước khi cài đặt Adguard Home, bạn cần chuẩn bị các mục dưới:

  • Một thiết bị có thể hoạt động liên tục 24/7: PC/Laptop/Máy ảo/Raspberry Pi hoặc Tv Box/Cloud VPS (Digital Ocean/Linode/Vultr/ Oracle).
  • Thiết bị cần phải được cài đặt Linux (Armbian/Ubuntu/Debian/CentOS/…). Nếu dùng Raspberry Pi thì có thể cài Raspberry Pi OS Lite. Nếu dùng Tv Box có thể tham khảo bài viết Hướng Dẫn Cài Armbian Lên Tv Box
  • Thiết bị cài AdGuard Home cần phải được thiết lập IP tĩnh (static IP). Nếu dùng Cloud VPS thì không phải bận tâm, do VPS đã có sẵn Public IP, còn nếu dùng thiết bị ở nhà thì phải cần thiết lập IP tĩnh cho thiết bị. Xem hướng dẫn: Ubuntu 20.04.
  • Kiến thức cơ bản về Linux, cài đặt mạng gia đình. Nếu bạn không rành, chỉ cần làm theo từng bước hướng dẫn là sẽ ổn.

Mình cài đặt AdGuard Home trên Tv Box Tx3 Mini rev H, 2/16 GB, cấu trúc 64bit thấy chạy vô tư. Vì thế, bạn không cần phải bận tâm về cấu hình của thiết bị khi cài đặt AdGuard Home.

Cài đặt AdGuard Home

Có hai cách để cài đặt AdGuard Home: cài đặt trực tiếp lên OS hoặc thông qua Docker. Trong bài viết này, Viqazo sẽ hướng dẫn cả hai cách để bạn có thể chọn phương pháp phù hợp nhất với bản thân.

Cài Đặt Trực Tiếp Lên OS

Bạn có thể cài đặt AdGuard Home chỉ bằng 1 dòng lệnh như sau:

curl -s -S -L <https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh> | sh -s -- -v

Chờ vài phút cho script xử lý và cài đặt

starting AdGuard Home installation script
channel: release
operating system: linux
cpu type: amd64
AdGuard Home will be installed into /opt/AdGuardHome
checking curl
checking tar
script is executed with root privileges
no need to uninstall
downloading package from <https://static.adguard.com/adguardhome/release/AdGuardHome_linux_amd64.tar.gz> -> AdGuardHome_linux_amd64.tar.gz
unpacking package from AdGuardHome_linux_amd64.tar.gz into /opt
2021/08/18 14:40:05 [info] Service control action: install
2021/08/18 14:40:06 [info] Service has been started
2021/08/18 14:40:06 [info] Almost ready!
AdGuard Home is successfully installed and will automatically start on boot.
There are a few more things that must be configured before you can use it.
Click on the link below and follow the Installation Wizard steps to finish setup.
2021/08/18 14:40:06 [info] AdGuard Home is available on the following addresses:
2021/08/18 14:40:06 [info] Go to <http://127.0.0.1:3000>
2021/08/18 14:40:06 [info] Go to http://[::1]:3000
2021/08/18 14:40:06 [info] Go to <http://xxx.xxx.xxx.xxx:3000>
2021/08/18 14:40:06 [info] Action install has been done successfully on linux-systemd
AdGuard Home is now installed and running
you can control the service status with the following commands:
sudo /opt/AdGuardHome/AdGuardHome -s start|stop|restart|status|install|uninstall

Vậy là xong. Bạn có thể truy cập theo URL được ghi trong phần log (Go to http://xxx.xxx.xxx.xxx:3000) để bắt đầu cấu hình AdGuard Home

<http://xxx.xxx.xxx.xxx:3000>

Cách này yêu cầu máy của bạn chưa được cài bất kỳ web server nào như Apache, Nginx, Caddy vì AdGuard Home sẽ cần dùng Port 80 để truy cập vào giao diện quản lý.

Cài đặt bằng Docker

Cách này sẽ tiện lợi hơn trong việc quản lý và xử lý sự cố phát sinh. Ngoài ra, bạn còn có thể kết sử dụng AdGuard Home chung với các web server Nginx/Apache.

Bạn cần cài đặt Docker trước khi bạn có thể tiếp tục. Hãy tham khảo bài viết sau để biết các bước cài đặt Docker và Docker-Compose:

Hướng dẫn cài đặt Docker, Docker Compose trên Linux (Armbian/Ubuntu/Debian/…)

Bạn có thể cài đặt ứng dụng thông qua Docker bằng 2 cách: sử dụng command-line hoặc dùng Portainer.

Sử dụng command-line

Tạo file docker-compose.yml thư mục adguardhome để cấu hình dịch vụ

cd ~
mkdir adguardhome
cd adguardhome
nano docker-compose.yml

Nhập nội dung này vào file và lưu lại

version: "2"
services:
  adguardhome:
    image: adguard/adguardhome
    container_name: adguardhome
    ports:
      - 53:53/tcp
      - 53:53/udp
      - 784:784/udp
      - 853:853/tcp
      - 3000:3000/tcp
      - 8080:80/tcp
    volumes:
      - ./workdir:/opt/adguardhome/work
      - ./confdir:/opt/adguardhome/conf
    restart: unless-stopped

Kích hoạt AdGuard Home bằng lệnh docker-compose up

sudo docker-compose up -d

Nếu không bị báo lỗi nào khi chạy, AdGuard Home đã khởi tạo thành công. Xem tiếp mục Cấu hình Adguard Home bên dưới để thao tác tiếp.

Nếu bị báo lỗi fail to bind on port 53, hãy kéo xuống xem cách sửa lỗi.

Sử dụng Portainer

Nếu bạn không quen gõ dòng lệnh, hãy sử dụng Portainer để triển khai AdGuard Home trên Docker cho dễ hiểu và trực quan. Xem qua bài viết Quản Lý Docker Dễ Dàng Hơn Với Portainer để biết cách cài đặt.

Truy cập vào Portainer Dashboard, tab Stacks và tạo Stack mới với thông tin

  • Name: AdGuard Home
  • Web editor: điền thông tin như dưới đây
version: "2"
services:
  adguardhome:
    container_name: adguardhome
    image: adguard/adguardhome:latest
    ports:
      - 53:53/tcp
      - 53:53/udp
      - 784:784/udp
      - 853:853/tcp
      - 3000:3000/tcp
      - 8080:80/tcp
    volumes:
      - ./workdir:/opt/adguardhome/work
      - ./confdir:/opt/adguardhome/conf
    restart: unless-stopped

Sau đó bấm Deploy the stack, chờ vài phút là xong.

Theo file cấu hình này, mình dùng port 8080 của Host để truy cập vào port 80 của AdGuard Home. Cách này nhằm tránh xung đột với container Nginx Proxy Manager đã sử dụng cổng 80 của Host. Bạn có thể đổi port 8080 thành bất kỳ port nào chưa sử dụng trên Host.

Chú ý điểm sau: Đoạn code trên dùng YAML nên cần thụt lề (indent) đầu dòng đúng như trên, nếu không sẽ bị báo lỗi khi chạy lệnh trên Portainer.

Nhấp vào Container, nếu bạn thấy trạng thái của AdGuard Home hiển thị là "running" màu xanh như trong hình, thì nghĩa là AdGuard Home đã được cài đặt thành công.

Sửa Lỗi fail to bind on port 53

Nhiều khả năng khi thiết lập AdGuard Home trên Ubuntu, bạn sẽ bị báo lỗi fail to bind on port 53. Lý do là vì đã có dịch vụ systemd-resolved đang sử dụng port 53 này. Bạn tắt dịch vụ này đi và deploy lại là được.

sudo mkdir -p /etc/systemd/resolved.conf.d/
sudo nano /etc/systemd/resolved.conf.d/adguardhome.conf

Điền vào nội dung sau

[Resolve]
DNS=127.0.0.1
DNSStubListener=no

Bấm CTRL + O để lưu lại và bấm CTRL + X để thoát ra

Tiếp theo chạy lệnh này để cập nhật thông số và khởi động lại systemd-resolved

sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl restart systemd-resolved

Port 53 giờ đã được trả tự do để AdGuard Home sử dụng. Bạn có thể kiểm tra lại bằng lệnh

sudo lsof -i :53

Nếu không thấy kết quả nào trả lại nghĩa là port 53 đã được tự do.

Cấu Hình AdGuard Home

Đầu tiên, bạn cần truy cập vào trang cài đặt AdGuard Home theo địa chỉ http://xxx.xxx.xxx.xxx:3000 trong đó xxx.xxx.xxx.xxx là địa chỉ IP của thiết bị.

Thiết Lập Ban Đầu

Bấm Bắt Đầu
Bấm Bắt Đầu
port 80
Mặc định AdGuard Home sẽ chọn port 80 cho trang Dashboard. Bấm Tiếp
Thiết lập tên đăng nhập và mật khẩu
Thiết lập tên đăng nhập và mật khẩu
Bấm Tiếp
Bấm Tiếp

Sau khi hoàn thành bước cài đặt này, bạn đổi qua truy cập trực tiếp Dashboard theo port http 80 mặc định

http://xxx.xxx.xxx.xxx
Đăng nhập vào AdGuard Home
Đăng nhập vào AdGuard Home
Giao diện chính của AdGuard Home
Giao diện chính của AdGuard Home

AdGuard Home có rất nhiều tính năng cho bạn khám phá. Nhưng với mục đích chặn quảng cáo bạn chỉ cần thiết lập thêm 2 bước nữa là xong.

Thêm Danh Sách Chặn

AdGuard Home mặc định đã bao gồm danh sách chặn AdGuard DNS Filter. Bạn có thể vào phần Bộ Lọc → Danh sách chặn để thêm các danh sách chặn khác.

AdGuard Home cung cấp một số danh sách chặn mặc định có sẵn để lựa chọn khi bạn nhấn vào nút Add blocklist. Ngoài ra, sau đây là một số blocklist bạn có thể bổ sung vào (không có sẵn trên AdGuard Home).

  • https://dbl.oisd.nl/
  • Bộ lọc quảng cáo sites VN: https://abpvn.com/filter/abpvn-6NFKNL.txt
  • Bộ lọc site nước ngoài:
    - https://oisd.nl/?p=dl
    - https://energized.pro (gói basic trên 450k domains)

Cấu Hình Upstream DNS

Theo mặc định, AdGuard sử dụng DNS Server của Quad9. Bạn có thể chuyển sang sử dụng DNS của CloudFlare hoặc Google bằng cách vào mục Settings → DNS Setting và thêm địa chỉ 1.1.1.1 cùng 8.8.8.8 vào danh sách Upstream DNS Servers.

Vậy là xong. AdGuard Home đã sàng phục vụ.

Thay Đổi DNS Server Trên Router

Bước cuối cùng cần thực hiện là đăng nhập vào trang cấu hình của Router để đổi DNS Server mặc định sang địa chỉ IP của AdGuard Home. Do mỗi dòng router có cách cấu hình riêng, nên mình chỉ có thể hướng dẫn trên router đang mình đang dùng.

Dưới đây là cách thay đổi DNS Server trên Router Mikortik chạy RouterOS v6

  • Kết nối vào Router Mikrotik bằng Winbox
  • Truy cập mục DHCP Server: IP → DHCP Server
  • Bấm vào mục Networks, double click vào phần địa chỉ
  • Ở mục DNS Servers, đổi lại thành IP Address của máy đang cài AdGuard Home
  • Bấm OK để lưu lại là xong.
Thay đổi DNS Server trên Router Mikrotik
Thay đổi DNS Server trên Router Mikrotik

Chúc bạn cài đặt thành công!

Đăng nhận xét