Ubuntu 20.04部署DNS服务器(Docker方式)

77 篇文章 4 订阅

更新系统

sudo apt update
sudo apt upgrade -y

安装docker

curl -sSL https://get.daocloud.io/docker | sh

输出以下结果:

# Executing docker install script, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sudo -E sh -c apt-get update -qq >/dev/null
[sudo] password for lpwm:
+ sudo -E sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sudo -E sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ [ -n  ]
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sudo -E sh -c docker version
Client: Docker Engine - Community
 Version:           20.10.3
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        48d30b5
 Built:             Fri Jan 29 14:33:21 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.3
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       46229ca
  Built:            Fri Jan 29 14:31:32 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.3
  GitCommit:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Version:          1.0.0-rc92
  GitCommit:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:

  sudo usermod -aG docker lpwm

Remember that you will have to log out and back in for this to take effect!

WARNING: Adding a user to the "docker" group will grant the ability to run
         containers which can be used to obtain root privileges on the
         docker host.
         Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         for more information.

配置Docker使用国内镜像

sudo vim /etc/docker/daemon.json

粘贴下面内容保存:

{
  "registry-mirrors": [
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

重启一下docker服务并检查是否配置成功

sudo systemctl restart docker
sudo docker info

输出结果中有下面内容即表示配置生效成功

Registry Mirrors:
  https://hub-mirror.c.163.com/
  https://mirror.baidubce.com/

拉取bind镜像

sudo docker pull sameersbn/bind:latest

# ----内网环境导入----
# 导出镜像为本地压缩包
sudo docker save -o bind.tar sameersbn/bind:latest
# 内网服务器可以导入上面的压缩包
sudo docker load -i bind.tar

禁用系统systemd-resolved服务

Ubuntu 20.04中默认启用的systemd-resolved服务会占用udp53端口, 导致bind服务无法正常启动,所以要先禁用掉这个服务

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved

禁用服务后还需要手动修改/etc/resolv.conf指定互联网DNS服务地址

sudo vim /etc/resolv.conf
# 修改下面行
nameserver 114.114.114.114

启动服务

mkdir -p ~/bind
sudo docker run --name='bind' -d -p 53:53/udp -p 10000:10000/tcp -e WEBMIN_ENABLED=true -v ~/bind:/data sameersbn/bind:latest
# 分别检查bind服务的udp53端口和webmin管理服务的tcp10000端口是否正常启用
ss -lnup
ss -lntp

WEB管理

使用浏览器访问下面地址进行远程管理
https://服务器IP:10000
默认登陆账号root,密码password

先修改一下界面语言
在这里插入图片描述
接下来就可以愉快的管理DNS服务了
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DexterLien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值