-
什么是DNS
DNS是Domain name system的简称,有些地方也称为Domain name server
DNS主要是用于将域名解析为IP地址的协议,有时候也用于将IP地址反向解析成域名,所以DNS可以实现双向解析。
DNS可以使用TCP和UDP的53端口,基本使用UDP协议的53端口。
-
内网搭建DNS的方案
内网搭建dns服务,有很多可选的方案比如:
CoreDNS、Bind9、dnsmasq、PowerDNS、WebminDNS、 AD域控自带
Bind 是一款开源的 DNS 服务器软件,能够提供双向域名解析,转发,子域授权,view 等功能。是目前世界上使用最为广泛的 DNS 服务器软件。
Webmin是一个web端的dns服务器管理软件,官网:https://www.webmin.com/
-
部署
1、安装docker,参考文档:https://docs.docker.com/engine/install/centos/
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo systemctl start docker
sudo docker run hello-world
2、docker启动bind9+webmin
mkdir -p /data/bind #创建数据目录
docker run --name bind -d --restart=always \
--publish 53:53/tcp \
--publish 53:53/udp \
--publish 10000:10000/tcp \
-v /etc/localtime:/etc/localtime \
-v /data/bind/:/data \
--env='WEBMIN_INIT_SSL_ENABLED=false' \
--env='ROOT_PASSWORD=20221128' \
sameersbn/bind:9.16.1-20200524
3、如果开启了防火墙还需要放通对应的端口
# 开启 NAT 转发
firewall-cmd --permanent --zone=public --add-masquerade
# 开放 DNS 使用的 53 端口,UDP
firewall-cmd --zone=public --add-port=10000/tcp --permanent
firewall-cmd --zone=public --add-port=53/tcp --permanent
firewall-cmd --zone=public --add-port=53/udp --permanent
-
登录webmin
登录地址:http://IP:1000,默认账号密码:root/password,这里在启动的时候指定为了20221128
-
修改语言为中文
-
DNS 服务配置
-
-
配置转发和传输
-
-
访问控制
-
创建新的主区域
-
创建正向区域A记录
-
测试
可以看到这里指定DNS服务器为上面搭建的内网DNS服务器地址,解析jenkins.devops.online这个域名,已经成功地已解析到上面添加的A记录192.168.1.188上面了
好了,今天的分享就到这里了,希望对大家有所帮助。如果觉得还不错的话,各位看官动动小手点赞加关注,点击下面的链接可以直接进入本公众号,查看历史文章,谢谢大家^_^