Skip to content

家庭域名服务器 ​

前言 ​

本文介绍使用AdGuardHome在Ubuntu系统上搭建DNS服务器,请先根据本章前言完成环境的搭建。

相关网站:

拉取镜像 ​

shell
sudo docker pull adguard/adguardhome:latest

开放端口 ​

端口类型端口端口用途
UDP53DNS查询
TCP53DNS查询
TCP80管理界面
TCP443管理界面
TCP3000初始化服务器

配置文件 ​

shell
# 创建并进入工作目录
sudo mkdir -p /srv/adguardhome && cd /srv/adguardhome

# 创建并编辑docker配置文件
sudo nano docker-compose.yml

docker-compose.yml ​

yml
services:
  adguardhome:
    image: adguard/adguardhome:latest
    container_name: adguardhome
    restart: unless-stopped
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "80:80/tcp"
      - "443:443/tcp"
      - "3000:3000/tcp"

配置系统 ​

Ubuntu系统的DNSStubListener占用53端口,导致Adguard Home无法启动,需要关闭DNSStubListener

shell
# 查看53端口占用情况
lsof -i :53

# 编辑配置文件
sudo nano /etc/systemd/resolved.conf

# 重启systemd-resolved
sudo systemctl restart systemd-resolved

# 验证53端口占用情况
lsof -i :53

resolved.conf ​

txt
#这里改为no,并删去井号
DNSStubListener=no

开始运行 ​

shell
# 前往工作目录
cd /srv/adguardhome

# 开始运行
sudo docker compose up -d

# 查看容器日志(按Ctrl+C退出)
sudo docker compose logs -f

# 若显示以下内容,则运行成功
# Creating adguardhome ... done
  1. 在浏览器访问:http://服务器ip地址:3000,进入初始化服务器页面
  2. 设置服务器用户名与密码,其余保持默认
  3. 添加服务器ip地址为客户端的DNS服务器