使用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端口

 默认账号密码就是root/password

2 调整页面为中文

 3 创建一个主区域

 4 添加ip地址以及域名

 

 重启服务命令 

docker restart bind

3 修改自己本地的DNS

 

 

 

 

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

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值