Cài đặt ADGuardHome lên OPNsense - chặn quảng cáo bằng DNS hiệu quả.

Xem qua loạt bài viết hướng dẫn cấu hình OPNsense tại đây
[PHẢI ĐỌC] Chú ý trước khi làm

  • Để cài đặt được ADguardHome yêu cầu các bạn phải hiểu biết cơ bản về sử dụng dòng lệnh (Terminal, Commandline…)
  • Mọi thao tác phải thận trọng, các thao tác Copy, Dán, gõ lệnh - phải thao tác chính xác, không thừa hoặc thiếu bất kì ký tự nào. Bất kì sai sót nào cũng sẽ khiến thao tác cài đặt thất bại, nhẹ thì ADguardHome không chạy, nặng thì phải cài đặt lại OPNsense. Làm theo bài viết này đồng nghĩa với bạn chấp nhận rủi ro và đó là nguy cơ của riêng bạn, mình sẽ không chịu trách nhiệm.
  • Mình đã cài đặt và chạy ADguardHome trên OPNsense từ mấy tháng trước và vẫn chạy rất ổn định cho tới bây giờ.
  • Để thao tác với dòng lệnh thông qua SSH, có thể sử dụng máy tính Windows (Windows PowerShell, PuTTY…), Linux (Terminal), hoặc điện thoại Android (Termius,ConnectBot…) hoặc bất kì thiết bị nào có hỗ trợ SSH Client để kết nối với OPNsense.
  • Dùng cáp LAN kết nối máy tính với Modem OPNsense hoặc Wifi cũng được miễn sao thiết bị kết nối phải cùng 1 mạng với OPNsense mới connect được vào SSH của OPNsense.
  • Trong bài này mình sẽ lấy địa chỉ IP mặc định của OPNsense làm ví dụ 192.168.1.1.

Bước 1: Thiết lập DNS và mở SSH cho OPNSENSE

Mở SSH - Cho phép truy cập vào OPNsense thông qua SSH

  • Đăng nhập vào trang quản lý của OPNsense https://192.168.1.1
    • Vào System > Setting > Administration
      • Tại mục Secure Shell tick vào mục Enable Secure Shell
        • mục Login Group chọn wheel,admins
        • tick vào 2 dòng Permit root user loginPermit password login
        • các dòng còn lại để mặc định và nhấn SAVE

Thiết lập DNS

  • Vào System > Settings > General
    • Tại mục Networking - DNS Servers điền DNS Server Google vào 2 dòng đầu là 8.8.8.88.8.4.4 hoặc Cloudflare 1.1.1.11.0.0.1 hoặc cả 4 dòng nếu muốn 😆
    • Tick Chọn vào dòng Do not use the local DNS service as a nameserver for this system
    • Nhấn Save.

Disable Unbound DNS

Unbound DNS là dịch vụ DNS Revolver mặc định của OPNsense, sử dụng port 53 (Port mặc định của DNS Server). Để AdguardHome có thể dùng Port 53 làm mặc định thì phải tắt Unbound DNS đi.

  • Vào Services > Unbound DNS > General
    • Bỏ tick Enable Unbound và nhấn SAVE
  • Khởi động lại OPNsense cho chắc ăn 😄
    • Vào mục Power > Reboot

Bước 2: Tải và cài đặt ADguardHome.

  • Ở trong bài này mình sẽ sử dụng Terminal để thao tác.
  • Chú ý: khi copy Dòng lệnh thì bỏ dấu $ ở đầu dòng. Copy và chạy (ENTER) lần lượt theo thứ tự mỗi dòng dó dấu $
  • Truy cập vào SSH Server OPNsense sử dụng Terminal (hoặc Powershell, PuTTY, Termius… tuỳ theo HĐH)

    $ ssh root@192.168.1.1
    
    • Nhập mật khẩu đăng nhập sau đó nhấn phím 8 để mở Shell.
  • Truy cập vào trang Github chính thức của ADguardHome tại đây và copy link của phiên bản mới nhất, ở đây ta copy link có tên AdGuardHome_freebsd_amd64.tar.gz (freebsd là hệ điều hành OPNsense đang dùng, amd64 là kiến trúc 64bit)

    • tải xuống Binary của ADguardHome
    $ fetch <link vừa copy>
    
    • Ví Dụ ADguardHome bản v0.104.3:
    $ fetch https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.104.3/AdGuardHome_freebsd_amd64.tar.gz
    
  • Sau khi tải về hoàn tất, tiến hành giải nén và cấp quyền chạy cho AdguardHome

    $ tar -vxzf ./AdguardHome_freebsd_amd64.tar.gz
    $ cd ./AdGuardHome
    $ chmod a+x ./AdGuardHome
    
  • Chạy ADguardHome và thiết lập lần đầu.

    $ ./ADGuardHome
    
  • Dùng trình duyệt truy cập vào địa chỉ http://192.168.1.1:3000.

    • Trình duyệt sẽ hiển thị trang thiết lập lần đầu của AdGuardHome
      ADguardHome Welcome Page
    • Tại mục Admin Web Interface các bạn thay port 80 bằng port tuỳ ý. ví dụ như 8080
      • Nhớ số Port để sau này truy cập vào trang Dashboard nha ~~.
    • Mục DNS Server để mặc định và nhấn NEXT
    • Trang tiếp theo là thiết lập tên đăng nhậpmật khẩu. Nhấn NEXT cho đến khi hoàn tất.
  • Đóng tab thiết lập và mở trang Dashboard ADguardHome ở địa chỉ http://192.168.1.1:8080

  • Đăng nhập bằng UsernamePassword đã thiết lập ở bước trên.

  • Vậy là xong bước thiết lập lần đầu.

  • Tại Terminal nhấn CTRL+C để dừng AdguardHome.

Bước 3: Thiêt lập AdguardHome khởi động cùng OPNsense.

Đây là bước quan trọng giúp AdguardHome tự khởi động khi OPNsense khởi động lại. Nếu làm sai bước này thì sau khi khởi động lại Router, AdguardHome sẽ không chạy dẫn đến clients sẽ không truy cập được mạng.
Mọi thao tác ở bước này đều sử dụng dòng lệnh, các bạn nhớ chú ý.

  • Đây là bước truy cập vào thư mục /etc/rc.d/, tải xuống adguardhome init script và cấp quyền chạy (chmod)
$ cd /etc/rc.d/
$ fetch https://gist.githubusercontent.com/NghiaMaster/d4487479708418f85b1c1c90fdaa0185/raw/b5d37d07be15056d4173dc2134d94d9626ba2463/adguardhome
$ chmod a+x ./adguardhome
$ echo "adguardhome_enable='YES'" >> ../rc.conf
  • Các bạn có thể xem qua nội dung file adguardhome để chắc chắn rằng mình không có chèn mã độc 😆
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
#!/bin/sh
. /etc/rc.subr
name="adguardhome"
rcvar="adguardhome_enable"
adguardhome_user="root"
adguardhome_command="/root/AdGuardHome/AdGuardHome"
pidfile="/var/run/${name}.pid"
command="/usr/sbin/daemon"
command_args="-P ${pidfile} -r -f ${adguardhome_command}"
load_rc_config $name
: ${adguardhome_enable:=no}
run_rc_command "$1"
  • Khởi động adguardhome và hưởng thụ thành quả.
1
$ service adguardhome start
  • Kiểm tra bằng lệnh
1
$ service adguardhome status.

Terminal hiển thị adguardhome is running as pid xxxxx. là được.

Nếu bài viết giúp ích cho bạn
Ủng hộ mình cốc cafe nhé...
momo QR Code
viettelpay QR Code