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
