DNS服务端搭建

Docker使用sameersbn/bind镜像搭建dns服务器

https://hub.docker.com/r/sameersbn/bind

进行下面测试的时候记得将本机的dns修改dns服务器的地址,并关闭ipv6的连接

安装命令

docker run --name bind -d --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

启动nginx服务

docker run --name nginx -d -p 80:80 nginx

手动配置文件进行域名拦截

拦截www.getcharzp.cn这个域名到上面启动的nginx服务中

1、编辑/srv/docker/bind/bind/etc/named.conf.local文件

vim /srv/docker/bind/bind/etc/named.conf.local 新增下面的内容

zone "getcharzp.cn" {
        type master;
        file "/var/lib/bind/getcharzp.cn.hosts";
        };

2、在/srv/docker/bind/bind/lib下新增cn.hosts文件

vim /srv/docker/bind/bind/lib/getcharzp.cn.hosts (PS:下面的9d427dee11c8为自己docker容器的ID,qq.qq.com为邮箱地址)

$ttl 38400
getcharzp.cn.                 IN      SOA     9d427dee11c8. qq.qq.com. (
                        1633857751
                        10800
                        3600
                        604800
                        38400 )
getcharzp.cn.                 IN      NS      9d427dee11c8.
www.getcharzp.cn.             IN      A       119.27.164.148

3、重启bind

docker restart bind

通过webmin界面进行域名拦截配置

点击 Create master zone

输入Master Zone 的基本信息

点击Address新增域名

根据自己的具体情况新增对应的域名及其IP地址

配置上游dns服务

针对该dns服务中未含有的域名,使用8.8.8.8这个IP对应的服务器进行解析

vim /srv/docker/bind/bind/etc/resolv.conf

nameserver 8.8.8.8
资源分享: 云服务器
原文地址:https://www.cnblogs.com/GetcharZp/p/15391326.html