文章目录

  • 前言
  • 第一节 创建DNS服务器
  • 第二节 配置DNS映射
  • 第三节 指定DNS服务器
  • 1. windows如何配置
  • 2. centos7如何配置
  • 第四节 修改DNS管理后台的密码
  • 第五节 DNS高可用问题
  • 问题 遇到的问题
  • 1. 可以ping自定义域名,但是无法ping公网域名


前言

如何搭建DNS服务器?

第一节 创建DNS服务器

  1. 创建文件夹用于存储文件
mkdir -p /opt/docker/dns-server
  1. 创建dns服务器
docker run --name dns-server -d --restart=always --publish 53:53/tcp --publish 53:53/udp --publish 10000:10000/tcp --volume /opt/docker/dns-server:/data sameersbn/bind:latest

dns docker swarm 详解 docker --dns_服务器

需要对外开放53和10000端口,其中53端口DNS服务器默认的端口,不可以修改

第二节 配置DNS映射

  1. 访问刚刚创建的服务: https://xxx.xxx.xxx.xxx:10000/,默认用户名root,默认密码password

dns docker swarm 详解 docker --dns_服务器_02


dns docker swarm 详解 docker --dns_DNS_03

  1. 切换语言中文简体UTF8

dns docker swarm 详解 docker --dns_服务器_04

  1. 创建根域名,不要创建com,net,cn之类的域名(这些域名是公网已分配的顶级域名),建议自定义根域名。这里自定义svc。

dns docker swarm 详解 docker --dns_运维_05

dns docker swarm 详解 docker --dns_服务器_06

  1. 创建地址
  2. dns docker swarm 详解 docker --dns_DNS_07

  3. 增加域名映射

dns docker swarm 详解 docker --dns_运维_08


dns docker swarm 详解 docker --dns_服务器_09

  1. 重启dns服务器
docker restart dns-server

第三节 指定DNS服务器

1. windows如何配置

以windows为例配置dns服务器, 如果只配置自己的DNS服务器,不配置公网的DNS服务器,你将无法上网。

223.5.5.5是阿里云的DNS服务器

如果你想配置多个DNS服务器,点击高级>>DNS,即可继续配置更多的DNS服务器

dns docker swarm 详解 docker --dns_dns docker swarm 详解_10

测试以下域名解析情况(确保自定义的域名能解析,同时公网的其它域名也能解析)

dns docker swarm 详解 docker --dns_DNS_11

2. centos7如何配置

  1. 编辑网卡配置
vim /etc/sysconfig/network-scripts/ifcfg-ens33

223.5.5.5是阿里云的DNS服务器
如果要配置高可用,可以添加DNS1、DNS2、DNS3、DNS…
同时建议最后添加公网的DNS服务器

dns docker swarm 详解 docker --dns_docker_12

  1. 重启网卡
systemctl restart network  #重启网关配置
  1. ping测试

由于DNS存在缓存,如果结果ping不通或者不符合预期,请尝试重启网卡

dns docker swarm 详解 docker --dns_docker_13

第四节 修改DNS管理后台的密码

为了安全,更改你的DNS管理后台的密码。

dns docker swarm 详解 docker --dns_运维_14

如果你需要其它安全配置,点击点击下面的其它安全和权限的选项,比如添加白名单IP。

第五节 DNS高可用问题

你可以自建多个DNS服务器,在主机上配置多个DNS服务器IP,这样即使单台DNS服务器挂掉,依然有备份DNS保证服务的可用性。

问题 遇到的问题

1. 可以ping自定义域名,但是无法ping公网域名

解决方案:请确保自己定义的根域名不是com、net、cn等公网已分配的定于名。建议配置的根域名为未被分配的地址。