使用Docker搭建DNS服务器

1. 搭建环境 已安装docker的前提下

# 创建一个持久化存放文件的目录
mkdir -p /opt/docker/bind
# 使用容器创建应用
docker run --name bind -d --restart=always \
  --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
  --volume /opt/docker/bind:/data \
  sameersbn/bind:9.16.1-20200524

默认占用53的tcp和udp的DNS访问端口,这个请不要更改,以及10000的管理面板端口。外网访问时,请在防火墙中放行此端口。

firewall-cmd --add-port={53,10000}/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --reload

如果你使用的是Ubuntu会自带systemd-resolve占用53端口

解决如下:

先查看是否53端口被systemd-resolved占用了

sudo netstat -nultp

如果确定被占用 则操作如下

1.先停用systemd-resolved服务

sudo systemctl stop systemd-resolved

2.编辑 /etc/systemd/resolved.conf 文件

sudo vi /etc/systemd/resolved.conf

3 修改如下

[Resolve]
DNS=223.5.5.5         #取消注释,增加dns
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#DNSOverTLS=no
#Cache=no-negative
DNSStubListener=no    #取消注释,把yes改为no
#ReadEtcHosts=yes

4.最后执行如下命令

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

如上就解决端口被占用的情况 如果没有被占用则直接进行下面的操作就可以

2. 访问

1 使用你的ip访问10000端口

使用Docker搭建DNS服务器_第1张图片

 默认账号密码就是root/password

2 调整页面为中文

使用Docker搭建DNS服务器_第2张图片

 3 创建一个主区域

使用Docker搭建DNS服务器_第3张图片

 4 添加ip地址以及域名

使用Docker搭建DNS服务器_第4张图片

 使用Docker搭建DNS服务器_第5张图片

 重启服务命令 

docker restart bind

3 修改自己本地的DNS

 使用Docker搭建DNS服务器_第6张图片

 使用Docker搭建DNS服务器_第7张图片

 使用Docker搭建DNS服务器_第8张图片

 使用Docker搭建DNS服务器_第9张图片

 4 用dos命令ping测试是否解析域名成功

你可能感兴趣的:(运维,docker,服务器,运维)