5 Level cấu hình Adguard Home – Level 2
Loạt bài viết này mình sẽ chia sẻ 5 level thiết lập AdguardHome (AGH) khi self-host từ dễ đến khó. 5 cấp độ này là do mình tự đặt ra trong quá trình mình sử dụng để giải quyết các nhu cầu thực tế, đồng thời đưa ra nhiều giải pháp để ứng dụng trong self-host nói chung và sử dụng AGH nói riêng
Nếu các bạn chưa biết thì AGH là một phần mềm chặn quảng cáo dựa trên DNS, hay AGH chính là một DNS server có chứ năng chặn quảng cáo. Thay vì sử dụng trực tiếp các DNS công cộng như Google (8.8.8.8) hay Cloudflare (1.1.1.1), chúng ta sẽ truy vấn DNS thông qua AGH để áp dụng các bộ lọc quảng cáo.
Tuy nhiên, AGH không chỉ có mỗi chức năng đó, mà còn hỗ trợ thêm một vài tính năng nâng cao rất thú vị mà sẽ phát huy được sức mạnh khi chúng ta self-host và kết hợp với các ứng dụng khác, mình cũng chia sẻ những điều đó thông qua 5 cấp độ, từ cơ bản đến nâng cao tương ứng với từ dễ đến phức tạp.
- Level 1: Cài đặt và cấu hình cơ bản – [cấp độ: dễ]
- Level 2: Host 2 Server AGH và đồng bộ qua AGH Sync – [dễ]
- Level 3: Dùng AGH ở bất cứ đâu – [trung bình]
- Level 4: Dùng AGH với Cloudflare Tunnel cấu hình server DoH https, kích hoạt Encryption Clien Hello cho trình duyệt – [bắt đầu hơi phức tạp]
- Level 5: Kết hợp DNS Rewrite + Reverse Proxy + Cloudflare Tunnel để có hệ thống DoH Split Horizontal DNS – [rất là phức tạp]
Nội dung chính
Video
Level 2: Host 2 Server AdGuard Home và đồng bộ qua AdGuard Home Sync
Như mình đã đề cập ở phần trước, hầu hết mọi thiết bị mạng đều được thiết lập để cài đặt 2 DNS server, mục đích của việc đó là để tăng tính sẵn sàng, nếu 1 server gặp trục trặc, hoặc offline vì bất cứ lí do gì, sẽ còn 1 server khác tiếp nhận truy vấn DNS của thiết bị. Điều này giúp thiết bị không rơi vào tình trạng không phân giải được tên miền khiến người dùng không truy cập được internet.
Cách cài đặt chỉ y hệt như level 1, các bạn cấu hình thêm 1 server AGH nữa trên một thiết bị nữa, cấu hình mọi thứ y hệt, và sau đó các bạn điền IP của server AGH thứ 2 vào mục Secondary DNS là xong.
Tuy nhiên, để giảm thời gian phải cấu hình thủ công nhiều thứ, chúng ta sẽ có 1 cách nhanh hơn.
Đối với server AGH thứ 2, các bạn chỉ cần cấu hình xong 5 bước đầu tiên của phần thiết lập ban đầu để cài đặt port và tài khoản.
Còn lại toàn bộ cấu hình khác, chúng ta có thể dùng công cụ là AdGuardHome Sync để đồng bộ cấu hình từ server AGH 1 sang AGH 2. AdGuardHome Sync là một phần mềm mã nguồn mở do cộng đồng phát triển, dựa vào API của AGH để thực hiện việc đồng bộ cấu hình.
Để cài đặt, các bạn sẽ sử dụng Docker Composer như sau:
services:
adguardhome-sync:
image: linuxserver/adguardhome-sync:latest
container_name: adguardhome-sync
network_mode: bridge
ports:
- "8081:8080/tcp"
environment:
- TZ=Asia/Ho_Chi_Minh
volumes:
- /thu-muc-cua-ban/adguardhome-sync/config:/config
restart: unless-stopped
- Phần port các bạn có thể chọn port các bạn muốn và trỏ về port 8080 của AGH sync, lưu ý nếu host cả AGH và AGH Sync trên docker, các bạn sẽ cần port khác nhau, tránh trùng port
- Phần volume các bạn nhớ đặt đường dẫn để có thể vào cấu hình file yaml cho tiện.
Sau khi khởi chạy, các bạn vào thư mục /thu-muc-cua-ban/adguardhome-sync/ sẽ thấy file “adguardhome-sync.yaml”, các bạn sẽ mở file này bằng phần mềm đọc văn bản và cấu hình như bên dưới đây, có thể xóa hết nội dung trong file gốc và copy file này vào rồi chỉnh sửa các tham số của các bạn.
# cron để chạy tự động, mặc định đang là 10 phút sync 1 lần, các bạn có thể thay đổi theo ý muốn.
cron: "*/10 * * * *"
origin:
url: http://[IP]:[PORT] #điền IP và PORT của server AGH 1
username: username #điền username của server AGH 1
password: password #điền password của server AGH 1
replica:
url: http://[IP]:[PORT] #điền IP và PORT của server AGH 2
username: username #điền username của server AGH 2
password: password #điền password của server AGH 2
#Đây là cài đặt để chọn cấu hình sẽ sync
features:
generalSettings: true
queryLogConfig: true
statsConfig: true
clientSettings: true
services: true
filters: true
dhcp:
serverConfig: false
staticLeases: false
dns:
serverConfig: true
accessLists: true
Sau khi sửa file xong, các bạn lưu lại và khởi động lại AGH Sync. Rồi sau đó truy cập AGH Sync bằng IP + PORT mà các bạn đã cấu hình trong Docker, các bạn sẽ thấy giao diện AGH sync có hiển thị Original Server và Replica Server chính là AGH 1 và AGH 2 của các bạn.

Các bạn có thể ấn Sync thủ công và xem log, nếu mọi thứ chạy bình thường và báo Sync done tức là mọi thứ đã hoạt động hoàn hảo. Lúc này các bạn vào server AGH 2 sẽ thấy mọi cấu hình được đồng bộ từ AGH 1 và các bạn không cần cấu hình thủ công từ đầu nữa. Đồng thời, sau này khi các bạn muốn thay đổi cấu hình AGH, chỉ cần cấu hình trên 1 server chính, và AGH Sync sẽ tự động đồng bộ sang server phụ theo thời gian mà các bạn đã cài đặt.
Xong xuôi chỉ cần làm nốt bước cuối là điền IP của server AGH 2 vào mục Secondary DNS trong cấu hình DHCP trên router là được. Vậy là bộ đôi AGH server của các bạn đã cùng nhau hoạt động.
Tuy nhiên, với cấu hình hiện tại, các bạn mới chỉ đang sử dụng được AGH trong mạng nội bộ mà thôi. Chúng ta hoàn toàn có thể tận dụng chính server AGH đang self-host này để có thể sử dụng ở bất cứ đâu chứ không chỉ giới hạn trong mạng nội bộ.
Các bạn có thể xem tiếp Level 3: Dùng AGH ở bất cứ đâu
Nếu thấy nội dung bài viết hữu ích, hãy chia sẻ cho bạn bè và người thân. Đừng quên theo dõi Ngon Bổ Xẻ qua Facebook và Youtube để luôn cập nhật các nội dung mới nhất. Ngoài ra, mình cũng có lập Group FB chuyên chia sẻ các deal hời cho anh em về công nghệ, điện từ, gia dụng… các bạn cũng có thể tham gia nha. Một lần nữa, chân thành cám ơn các bạn và hẹn gặp lại trong những nội dung kế tiếp ❤️
Chia sẻ bài viết:
