H1: Cách cài đặt và cấu hình AdGuard Home trên VPS
AdGuard Home là một máy chủ DNS miễn phí, có khả năng chặn các yêu cầu đến miền quảng cáo, trình theo dõi và những tài nguyên không mong muốn khác. Bạn có thể định tuyến truy vấn DNS của máy tính, điện thoại, TV và các thiết bị khác qua máy chủ này, sau đó quản lý việc lọc từ một bảng điều khiển duy nhất. Trong bài viết này, chúng ta sẽ cài đặt AdGuard Home trên VPS Ubuntu hoặc Debian, thực hiện cấu hình ban đầu, kết nối máy khách và bảo vệ một máy chủ công khai.
Bạn cần chuẩn bị gì
Đối với mục đích sử dụng cá nhân, 1 vCPU, 512 MB–1 GB RAM và vài gigabyte dung lượng trống thường là đủ. Bạn cũng cần một địa chỉ IP tĩnh, quyền truy cập SSH và quyền root hoặc sudo.
AdGuard Home sử dụng:
3000/TCPcho trình hướng dẫn thiết lập ban đầu;53/UDPvà53/TCPcho DNS thông thường;- một cổng tùy chọn để truy cập lâu dài vào bảng điều khiển.
Không nên mở cổng 53 cho toàn bộ Internet mà không có giới hạn truy cập. Chúng ta sẽ đề cập riêng đến cấu hình an toàn ở phần sau.
Cài đặt AdGuard Home trên Ubuntu hoặc Debian
Kết nối với VPS qua SSH và cài đặt curl:
sudo apt update
sudo apt install -y curlChạy tập lệnh cài đặt chính thức:
curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sudo sh -s -- -vTập lệnh sẽ tự phát hiện kiến trúc của máy chủ, tải xuống phiên bản ổn định, cài đặt chương trình vào /opt/AdGuardHome và tạo một dịch vụ hệ thống. Bạn có thể kiểm tra trạng thái bằng lệnh:
sudo /opt/AdGuardHome/AdGuardHome -s statusSau đó, mở địa chỉ sau trong trình duyệt:
http://SERVER_IP:3000Nếu trang không mở được, hãy kiểm tra tường lửa của hệ thống và các quy tắc trong bảng điều khiển của nhà cung cấp dịch vụ lưu trữ.
Cấu hình ban đầu
Trong trình hướng dẫn thiết lập, bạn cần chọn địa chỉ và cổng cho bảng điều khiển quản trị và máy chủ DNS.
Đối với bảng điều khiển, bạn có thể giữ cổng 3000 và chọn địa chỉ IP của VPS làm giao diện mạng. Hãy tạo một tên người dùng riêng và mật khẩu mạnh: bảng điều khiển cho phép truy cập nhật ký truy vấn, bộ lọc và cài đặt máy khách.
Đối với DNS, hãy chọn IP của máy chủ và cổng tiêu chuẩn 53. Nếu cổng này đã được sử dụng, đừng thay thế bằng một cổng ngẫu nhiên — hầu hết thiết bị đều chờ DNS trên cổng 53. Phần bên dưới sẽ trình bày cách xử lý xung đột này.
Sau khi hoàn tất trình hướng dẫn, trang chính sẽ hiển thị thống kê truy vấn, số lượng yêu cầu bị chặn, các máy khách đang hoạt động và những miền được yêu cầu phổ biến.
Cơ chế hoạt động của bộ lọc DNS
Trước khi kết nối đến một trang web hoặc dịch vụ, thiết bị sẽ yêu cầu địa chỉ IP của miền. AdGuard Home kiểm tra miền đó với các danh sách quy tắc. Nếu yêu cầu trỏ đến mạng quảng cáo hoặc trình theo dõi, yêu cầu sẽ bị chặn; còn yêu cầu được phép sẽ được chuyển tiếp đến máy chủ DNS upstream.
Cách tiếp cận này cung cấp bộ lọc tập trung cho toàn bộ mạng, không chỉ hoạt động trong trình duyệt mà còn trong nhiều ứng dụng di động và trên Smart TV. Các tính năng bổ sung gồm nhật ký truy vấn, quy tắc riêng cho từng thiết bị, Safe Search và chặn dịch vụ theo lịch.
AdGuard Home không giải mã lưu lượng HTTPS và không sửa đổi mã của trang web. Vì vậy, chương trình chặn được yêu cầu đến miền nhưng không thể loại bỏ mọi thành phần quảng cáo.
Các cài đặt cần thiết sau khi cài đặt
Máy chủ DNS upstream
Mở Settings → DNS settings. Tại đây, bạn chỉ định các máy chủ mà AdGuard Home sẽ chuyển tiếp những yêu cầu được phép đến. Ban đầu, bạn có thể giữ các giá trị được đề xuất, sau đó chọn những trình phân giải đáng tin cậy có hỗ trợ DNS-over-HTTPS hoặc DNS-over-TLS.
DNS upstream được mã hóa bảo vệ kết nối từ VPS đến trình phân giải bên ngoài. Kết nối từ thiết bị đến VPS cần được bảo vệ riêng bằng DoH, DoT hoặc VPN.
Danh sách chặn
Bộ lọc cơ bản đã được bật sẵn. Đừng thêm hàng chục danh sách lớn cùng lúc: chúng có thể trùng lặp và làm tăng nguy cơ chặn nhầm. Hãy thêm từng danh sách cho một mục đích cụ thể và xem lại nhật ký truy vấn.
Nếu một trang web hoặc ứng dụng ngừng hoạt động sau khi thay đổi cài đặt, hãy tìm miền bị chặn trong nhật ký và thêm một ngoại lệ có phạm vi cụ thể.
Quy tắc tùy chỉnh
Trong phần quy tắc tùy chỉnh, bạn có thể chặn hoặc cho phép một miền riêng lẻ:
||ads.example.com^
@@||needed.example.com^Dòng đầu tiên chặn miền, còn dòng thứ hai thêm một ngoại lệ.
Dịch vụ, lịch và máy khách
AdGuard Home có thể chặn hoàn toàn từng dịch vụ và áp dụng lịch hoạt động. Nếu thêm thiết bị dưới dạng máy khách cố định, bạn có thể gán các quy tắc khác nhau cho máy tính, máy tính bảng của trẻ em và TV.
Cách kết nối thiết bị
Việc cài đặt máy chủ không tự động thay đổi cài đặt DNS trên thiết bị. Bạn cần chỉ định địa chỉ AdGuard Home trên router hoặc trên từng máy khách.
Qua router
Mở cài đặt router và tìm phần DHCP, LAN hoặc DNS. Nhập địa chỉ IP của AdGuard Home làm máy chủ DNS, lưu cấu hình rồi kết nối lại các thiết bị với mạng.
Không thêm máy chủ DNS công khai làm địa chỉ phụ nếu việc lọc bắt buộc phải được áp dụng. Một số thiết bị sử dụng cả hai địa chỉ và có thể bỏ qua AdGuard Home. Để tăng khả năng dự phòng, tốt hơn nên triển khai một máy chủ thứ hai.
Trên một thiết bị riêng lẻ
Để thử nghiệm, bạn có thể chỉ thay đổi DNS trên một máy tính hoặc điện thoại:
- Windows — thuộc tính bộ điều hợp mạng và cài đặt IPv4/IPv6;
- macOS — cài đặt của kết nối đang hoạt động;
- Android và iOS — cài đặt của mạng Wi-Fi hiện tại;
- Smart TV — cài đặt mạng thủ công.
Cấu hình Wi-Fi thông thường không có tác dụng khi thiết bị đang dùng dữ liệu di động. Để bộ lọc hoạt động trên mọi mạng, bạn sẽ cần DoH, DoT hoặc VPN.
Bạn có thể kiểm tra máy chủ bằng lệnh:
nslookup example.org SERVER_IPYêu cầu này phải xuất hiện trong nhật ký truy vấn của AdGuard Home.
Cấu hình an toàn trên VPS công khai
Các trình quét tự động có thể nhanh chóng phát hiện một trình phân giải DNS đang mở. Nó có thể bị các máy khách không được phép sử dụng hoặc bị lợi dụng trong những cuộc tấn công DNS, làm tăng tải và nguy cơ có khiếu nại đối với địa chỉ IP.
Để thử nghiệm, chỉ cho phép địa chỉ IP công khai của bạn truy cập. Nếu chưa cài UFW, trước tiên hãy cài đặt bằng lệnh sudo apt install -y ufw.
sudo ufw allow OpenSSH
sudo ufw allow from YOUR_IP to any port 3000 proto tcp
sudo ufw allow from YOUR_IP to any port 53 proto udp
sudo ufw allow from YOUR_IP to any port 53 proto tcp
sudo ufw enableHãy cho phép SSH trước, nếu không bạn có thể mất quyền truy cập VPS. Nếu địa chỉ IP của bạn thường xuyên thay đổi, hãy kết nối thiết bị qua WireGuard, Tailscale hoặc một VPN khác.
Để sử dụng lâu dài từ nhiều mạng khác nhau, tốt hơn nên cấu hình một miền, chứng chỉ TLS và DNS an toàn:
443/TCPcho DNS-over-HTTPS;853/TCPcho DNS-over-TLS;- giới hạn máy khách và tốc độ truy vấn trong cài đặt AdGuard Home.
Bảng điều khiển quản trị cũng cần được bảo vệ bằng tường lửa hoặc VPN. Nhật ký chứa các miền mà thiết bị đã truy cập, vì vậy chỉ nên lưu nhật ký trong khoảng thời gian cần thiết.
Lỗi “Port 53 is already in use”
Trên Ubuntu, cổng 53 thường bị systemd-resolved sử dụng. Bạn có thể kiểm tra các tiến trình đang lắng nghe bằng lệnh:
sudo ss -lntup | grep ':53'Nếu dịch vụ chỉ lắng nghe trên 127.0.0.53, trước tiên hãy thử liên kết AdGuard Home với địa chỉ IP cụ thể của VPS thay vì tất cả giao diện mạng.
Nếu xung đột vẫn còn, hãy tắt trình lắng nghe DNS stub cục bộ:
sudo mkdir -p /etc/systemd/resolved.conf.d
printf '[Resolve]\nDNS=127.0.0.1\nDNSStubListener=no\n' | \
sudo tee /etc/systemd/resolved.conf.d/adguardhome.conf
sudo mv /etc/resolv.conf /etc/resolv.conf.backup
sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
sudo systemctl reload-or-restart systemd-resolved
sudo /opt/AdGuardHome/AdGuardHome -s restartĐừng đóng phiên SSH cho đến khi xác nhận rằng máy chủ có thể phân giải tên miền trở lại và AdGuard Home đang chạy.
Cập nhật và sao lưu
Bạn có thể cập nhật từ bảng điều khiển hoặc bằng lệnh:
cd /opt/AdGuardHome
sudo ./AdGuardHome --updateTrước những thay đổi lớn, hãy lưu tệp /opt/AdGuardHome/AdGuardHome.yaml và thư mục /opt/AdGuardHome/data/. Chúng chứa cài đặt, máy khách, bộ lọc và dữ liệu vận hành.
Chọn VPS nào cho AdGuard Home
Đối với một gia đình hoặc nhóm nhỏ, 1 vCPU và 1 GB RAM thường là đủ. Nếu chạy thêm VPN, hệ thống giám sát hoặc ứng dụng khác cùng AdGuard Home, hãy cấp thêm bộ nhớ.
VPS từ tropic.host phù hợp cho công việc này: bạn có thể cài Ubuntu hoặc Debian, nhận một địa chỉ IP riêng và duy trì máy chủ DNS hoạt động suốt ngày đêm mà không phụ thuộc vào máy tính tại nhà. Khi lưu trữ máy chủ trên Internet, hãy luôn sử dụng tường lửa, DNS an toàn hoặc VPN.
Giới hạn của AdGuard Home
Lọc DNS không thay thế cho trình chặn quảng cáo trong trình duyệt, phần mềm diệt virus hoặc tường lửa. Nó không thể loại bỏ đáng tin cậy những quảng cáo được phân phối từ cùng một miền với nội dung chính. Vì lý do này, bộ lọc ở cấp DNS không thể loại bỏ ổn định quảng cáo video trên YouTube và Twitch hoặc bài đăng được tài trợ trong mạng xã hội mà không làm gián đoạn chính các dịch vụ đó.
Sau khi chặn, trên trang có thể vẫn còn những khoảng trống. Tiện ích mở rộng trình duyệt có thể ẩn các thành phần của trang, vì vậy bạn có thể sử dụng tiện ích cùng với AdGuard Home. Một số ứng dụng cũng dùng DNS được mã hóa riêng và có thể bỏ qua cài đặt hệ thống.
Kết luận
AdGuard Home có thể chặn tập trung một phần đáng kể quảng cáo và trình theo dõi trên máy tính, điện thoại và các thiết bị khác. Chương trình có thể được cài đặt trên VPS trong vài phút và không yêu cầu nhiều tài nguyên.
Sau khi cài đặt, hãy cấu hình máy khách và bộ lọc, bảo vệ bảng điều khiển, đồng thời không để cổng 53 mở cho toàn bộ Internet. Để kết nối từ mạng di động và các mạng bên ngoài, hãy sử dụng VPN, DNS-over-HTTPS hoặc DNS-over-TLS.
FAQ
AdGuard Home có miễn phí không?
Có. AdGuard Home được phân phối miễn phí và không yêu cầu đăng ký thuê bao. Bạn chỉ trả chi phí cho thiết bị hoặc VPS nơi chương trình được chạy.
AdGuard Home có chặn quảng cáo trên YouTube không?
Không. Quảng cáo và video có thể được phân phối từ cùng một miền, vì vậy việc chặn DNS sẽ làm gián đoạn chính YouTube.
Bộ lọc có hoạt động khi dùng dữ liệu di động không?
Có, nếu bạn cấu hình DNS-over-TLS, DNS-over-HTTPS, hồ sơ tương thích hoặc VPN. Thay đổi DNS trong cài đặt Wi-Fi chỉ áp dụng cho mạng đó.
Cần bao nhiêu RAM?
Đối với mục đích sử dụng cá nhân, 512 MB–1 GB RAM thường là đủ. Có thể cần nhiều bộ nhớ hơn nếu có nhiều máy khách, bộ lọc lớn hoặc dịch vụ bổ sung.
Tôi nên làm gì nếu một trang web ngừng mở sau khi bật bộ lọc?
Mở nhật ký truy vấn, lặp lại thao tác gây ra sự cố và tìm miền bị chặn. Hãy thêm một ngoại lệ có phạm vi cụ thể thay vì tắt toàn bộ bộ lọc.
