🌐 VI | EN

Install AdGuard Home on OPNsense

Nghia Phan
Nghia Phan
🌐 Bản tiếng Việt Technical Guide Views
⚠️ Cảnh báo

Outdated

💡 Mẹo hay
📂 Important notes
  • Basic command-line and SSH knowledge is required.
  • Copy and type commands carefully. A mistake can make the installation fail or require OPNsense to be reinstalled.
  • You can use Windows PowerShell, PuTTY, Linux Terminal, or an Android SSH client such as Termius or ConnectBot.
  • Connect the computer to OPNsense by LAN or Wi-Fi; it must be on the same network.
  • This guide uses 192.168.1.1 as the example OPNsense address.

Step 1: Configure DNS and enable SSH

Enable SSH

  • Log in to https://192.168.1.1.
  • Open System > Settings > Administration.
  • Under Secure Shell, enable SSH, select the wheel,admins login group, and enable Permit root user login and Permit password login.
  • Leave other options at their defaults and click Save.

Configure DNS

  • Open System > Settings > General.
  • Add Google DNS (8.8.8.8, 8.8.4.4) or Cloudflare DNS (1.1.1.1, 1.0.0.1) under DNS Servers.
  • Enable Do not use the local DNS service as a nameserver for this system and save.

Disable Unbound DNS

Unbound normally uses port 53. Disable it so AdGuard Home can listen on port 53:

  • Open Services > Unbound DNS > General.
  • Clear Enable Unbound and click Save.
  • Reboot OPNsense from Power > Reboot.

Step 2: Download and install AdGuard Home

💡 Mẹo hay

This example uses a terminal. When copying commands, do not copy the leading $ prompt.

Connect over SSH:

ssh [email protected]

Enter the password and choose option 8 to open the shell.

Open the official AdGuard Home releases page and copy the newest AdGuardHome_freebsd_amd64.tar.gz link. OPNsense uses FreeBSD and this example assumes 64-bit AMD64.

Download it:

fetch <paste-the-release-link-here>

Example:

fetch https://github.com/AdguardTeam/AdGuardHome/releases/download/v0.104.3/AdGuardHome_freebsd_amd64.tar.gz

Extract and make it executable:

tar -vxzf ./AdguardHome_freebsd_amd64.tar.gzcd ./AdGuardHomechmod a+x ./AdGuardHome

Start the first-time setup:

./AdGuardHome

Open http://192.168.1.1:3000 in a browser. AdGuard Home welcome page

Choose a different Web Admin port such as 8080, keep the DNS port at 53, and create the administrator account. Then open http://192.168.1.1:8080 and log in.

Press Ctrl+C in the terminal to stop AdGuard Home after the initial setup.

Step 3: Start AdGuard Home with OPNsense

This step makes AdGuard Home start automatically. If it is skipped, clients may lose DNS after an OPNsense reboot.

Download the init script:

cd /etc/rc.d/fetch https://gist.githubusercontent.com/NghiaMaster/d4487479708418f85b1c1c90fdaa0185/raw/b5d37d07be15056d4173dc2134d94d9626ba2463/adguardhomechmod a+x ./adguardhomeecho "adguardhome_enable='YES'" >> ../rc.conf

Review the script before enabling it:

#!/bin/sh. /etc/rc.subrname="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"

Start and check the service:

service adguardhome startservice adguardhome status

The message adguardhome is running as pid xxxxx. indicates that it is running.

ℹ️ Thông tin

After basic installation, AdGuard Home can be extended with DoT, DoH, HTTPS, and reverse DNS. Those features may require a domain and DDNS; see the Cloudflare DDNS and Let’s Encrypt guide.

Comments & Discussion

Share your thoughts, ask questions and feedback

Markdown & QQ Emoji
Loading comments...