前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Docker搭建自己的DNS服务器

使用Docker搭建自己的DNS服务器

作者头像
星哥玩云
发布2022-06-21 11:35:01
5.2K0
发布2022-06-21 11:35:01
举报
文章被收录于专栏:开源部署开源部署

在开发运维过程中经常需要自定义一个域名来管理服务,通常的方法是修改hosts文件,但还有一种更便捷的方法,从源头上解决问题,也就是使用DNS来实现。

1.搭建

搭建依然使用docker,安装前请安装好docker的运行时环境。

代码语言:javascript
复制
# 创建一个持久化存放文件的目录
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的管理面板端口。外网访问时,请在防火墙中放行此端口。

代码语言:javascript
复制
firewall-cmd --add-port={53,10000}/tcp --permanent
firewall-cmd --add-port=53/udp --permanent
firewall-cmd --reload

2.访问

使用你的https://ip:10000在浏览器中打开。

图片
图片

在高级内打开此网页,使用默认账户密码root/password登录。

图片
图片

调整语言为中文,部分菜单可能仍会显示为英文。

图片
图片

3.配置

尝试绑定一下dns,依次点击图标中的例子。

图片
图片

任意填写一个名称,比如我以cn为域名后缀,填写邮箱,然后点击新建。

图片
图片

选择地址。

图片
图片

填写域名和ip地址。

图片
图片

image

可以看到我们的aaa.cn域名,已经解析到192.168.31.92这个ip上了。

图片
图片

image

重启一下服务,执行以下命令,这样才能使用配置生效:

代码语言:javascript
复制
docker restart bind

4.使用

将电脑的dns地址指向服务器地址,比如我在Mac下修改DNS地址。Windows修改方式类似。

图片
图片

如果是公网就填公网地址。做一下ping测试,发现已经正常解析了。

图片
图片

image

到这个时候,其实还有一个问题,就是除了我们设置的域名之外的网站是无法访问的。如果想访问百度之类的公网网站,进行如下设置:

代码语言:javascript
复制
vim /opt/docker/bind/bind/etc/resolv.conf

加入以下DNS地址:

代码语言:javascript
复制
nameserver 114.114.114.114
nameserver 8.8.8.8

修改另一个配置文件:

代码语言:javascript
复制
vim /opt/docker/bind/bind/etc/named.conf.options

添加一行,内容如下:

代码语言:javascript
复制
allow-query { any; };
图片
图片

再次重启一下bind服务,发现已经可以正常地访问互联网了,同时也能正常访问自定义的域名。

最后放上github的地址:

代码语言:javascript
复制
https://hub.docker.com/r/sameersbn/bind

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.搭建
  • 2.访问
  • 3.配置
  • 4.使用
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档