家庭域名服务器 | Docker系列
前言
本文介绍使用AdGuard Home
在Ubuntu
系统上搭建DNS服务器,请先根据本章前言完成环境的搭建。
相关网站:
- https://adguard.com/zh_cn/adguard-home/overview.html
- https://hub.docker.com/r/adguard/adguardhome
- https://github.com/AdguardTeam/AdguardHome
拉取镜像
docker pull adguard/adguardhome
开放端口
端口类型 | 端口 | 端口用途 |
---|---|---|
UDP | 53 | DNS查询 |
TCP | 53 | DNS查询 |
TCP | 80 | 管理界面 |
TCP | 443 | 管理界面 |
TCP | 3000 | 初始化服务器 |
配置文件
- 前往var目录:
cd /var
- 创建工作目录:
mkdir adguard
- 进入工作目录:
cd adguard
- 创建数据文件夹:
mkdir work
- 创建配置文件夹:
mkdir conf
- 创建docker配置文件:
touch compose.yml
- 编辑docker配置文件:
nano compose.yml
compose.yml
yml
services:
adguardhome:
image: adguard/adguardhome
container_name: adguardhome
restart: always
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
查看53端口占用情况
sudo lsof -i :53
编辑系统配置文件
- 进入配置文件目录:
cd /etc/systemd
- 编辑配置文件:
nano resolved.conf
resolved.conf
txt
#这里改为no,并删去井号
DNSStubListener=no
重启systemd-resolved
sudo systemctl restart systemd-resolved
验证53端口占用情况
sudo lsof -i :53
开始运行
- 前往工作目录:
cd /var/adguard
- 开始运行:
docker compose up -d
或docker-compose up -d
- 若显示:
Creating adguardhome ... done
,则运行成功 - 在浏览器访问:
服务器ip地址:3000
,进入初始化服务器页面 - 设置服务器用户名与密码,其余保持默认
- 添加服务器ip地址为DNS服务器
维护服务
数据文件
- 前往工作文件夹:
cd /var/adguard
- 数据文件夹:
work
- 配置文件夹:
conf
停止服务
- 前往工作文件夹:
cd /var/adguard
- 中止Docker容器:
docker compose down
或docker-compose down
压缩数据文件夹
- 前往工作目录:
cd /var/adguard
tar -czf work.tar.gz work/
tar -czf conf.tar.gz conf/
解压缩数据文件夹
- 前往工作目录:
cd /var/adguard
tar -xzf work.tar.gz work/
tar -xzf conf.tar.gz conf/