-
Notifications
You must be signed in to change notification settings - Fork 1.9k
FAQ
- After installing AdGuard Home, how to change dashboard interface's address?
- How to configure AdGuard Home to run together with pixelsrv-tls?
- Are there any known limitations?
- Why am I getting "bind: address already in use" error when trying to install on Ubuntu?
- How to configure a reverse proxy server for AdGuard Home?
-
Open
AdGuardHome.yaml
in the text editor -
Modify
bind_host:
value to set a new network interface, e.g.:- 0.0.0.0: listen on all network interfaces
- 127.0.0.1: listen on localhost only
-
Modify
bind_port:
value to set a new port -
Restart AdGuard Home:
./AdGuardHome -s restart
- Open dashboard
- Go to
Settings
->DNS settings
- Scroll to
DNS server configuration
section - For
Blocking mode
setting selectCustom IP
radio button and enter the IP address of pixelsrv-tls instance running. - Click
Save
Here are some examples of what cannot be blocked by a DNS-level blocker:
YouTube, Twitch ads
Facebook, Twitter, Instagram sponsored posts
Essentially, any advertising that shares a domain with content cannot be blocked by a DNS-level blocker.
Is there a chance to handle this in the future?
DNS will never be enough to do this. Our only option is to use a content blocking proxy like what we do in the standalone AdGuard applications. We're going to bring this feature support to AdGuard Home in the future. Unfortunately, even in this case, there still will be cases when this won't be enough or would require quite complicated configuration.
Because 127.0.0.1:53 which is used for DNS is already occupied by another program.
The easiest solution would be simply to choose a different network interface and bind it to your external IP (for instance, your Wi-Fi IP).
If for some reason you really want to bind to 127.0.0.1
, read the explanation below.
Ubuntu comes with a local DNS server by default - "systemd-resolved" which uses 53 port and thus prevents AdGuard Home from binding to it. To fix this, you should disable "systemd-resolved" daemon. Luckily, AdGuard Home can detect such configurations and disable "systemd-resolved" for you if you press "Fix" button which is shown near to "address already in use" message.
But if you're using AdGuard Home with docker or snap, you need to do it yourself.
Follow these steps:
-
Deactivate
DNSStubListener
and update DNS server address. Create a new file:/etc/systemd/resolved.conf.d/adguardhome.conf
(create a/etc/systemd/resolved.conf.d
directory if necessary):[Resolve] DNS=127.0.0.1 DNSStubListener=no
-
Specifying
127.0.0.1
as DNS server address is necessary because otherwise the nameserver will be127.0.0.53
which doesn't work withoutDNSStubListener
. -
Activate another resolv.conf file:
sudo mv /etc/resolv.conf /etc/resolv.conf.backup ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
-
Restart
DNSStubListener
:systemctl reload-or-restart systemd-resolved
If you're running a web server already and you want to access AdGuard Home dashboard UI from an URL like http://YOUR_SERVER/aghome/
you can use this configuration for your web server:
location /aghome/ {
proxy_pass http://AGH_IP:AGH_PORT/;
proxy_redirect / /aghome/;
proxy_cookie_path / /aghome/;
}
:80/aghome/* {
route {
uri strip_prefix /aghome
reverse_proxy AGH_IP:AGH_PORT
}
}