基于Centos8 Docker 搭建DNS服务器

确保自己系统安装好docker后就可以进行搭建DNS服务器的步骤了

拉取sameersbn/bind镜像

docker pull sameersbn/bind:9.16.1-20200524

新建DNS服务器容器

  docker run --name bind -it \
  -e WEBMIN_ENABLED=true \
  --restart=always\
  --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp \
  --volume /srv/docker/bind:/data \
  sameersbn/bind:9.16.1-20200524 -4

参数

-d detaches, 后台运行容器,并返回容器ID
-e WEBMIN_ENABLED=true 启用webmin
--name='bind' 容器名为bind
--restart=always 开机启动容器
--dns=127.0.0.1 配置容器的dns为127.0.0.1
--publish=172.17.42.1:53:53/udp 绑定udpip和端口
--publish=172.17.42.1:10000:10000  webmin图形化管理界面ip地址和端口
--volume=/srv/docker/bind:/data mounts /srv/docker/bind 存放docker持久化数据
--env='ROOT_PASSWORD=SecretPassword' 设置webminroot用户的登录密码为SecretPassword
 sameersbn/bind:9.16.1-20200524 镜像名和镜像tag
 -4 bind启动时用到的的参数表示只解析ipv4不解析ipv6,避免出现host unreachable resolving的情况

配置域名解析

浏览器打开 https://localhost:10000/ (请注意是HTTPS,忽略证书安全警告)进入Webmin页面,默认用户名密码是root和password。为了更方便使用,可以切换到中文。
在这里插入图片描述默认你打开的页面可能和截图有些差异:“现有DNS区域” 一栏你会看到有一个根区域,用于解析互联网域名。纯粹私有网络,无互联网连接的情况下这个域可以删除。


点击创建一个主区域
在这里插入图片描述

以创建一个 “demo.com” 域为例:
在这里插入图片描述下面是中文对应界面
在这里插入图片描述选项说明:

  • 区域类型:正向 ,即名字解析到IP地址

  • 主服务器:默认填写的当前docker容器ID,最好改成 localhost. ,避免重启后失效. 因为我们只做私网解析,指向本地即可。

创建好主区域后,我们可以开始建立A记录了:
选择创建好的主区域,点击地址记录
在这里插入图片描述填入名称为@,可以修改默认ttl时间,最后填入域名需要解析到的ip地址,点击右上角应用按钮使地址解析生效.
在这里插入图片描述
下图是中文界面对应
在这里插入图片描述

测试

直接在centos上输入host demo.com 127.0.0.1

出现下面的结果表示demo.com正常解析到192.168.11.11

[root@VM_0_14_centos ~]# host demo.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

demo.com has address 192.168.11.11

其中demo.com是域名,127.0.0.1是DNS服务器的ip地址

你还可以使用例如host www.baidu.com 127.0.0.1测试外网解析

[root@VM_0_14_centos ~]# host www.baidu.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:

www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 182.61.200.7
www.a.shifen.com has address 182.61.200.6

如果出错可以用docker logs -f bind命令查看bind容器运行日志

参考

1. sameersbn/bind
2. 10分钟搭建起私有网络DNS Server
3. Docker容器内不能联网的6种解决方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值