企业内部部署一套完整的DNS详细流程
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了企业内部部署一套完整的DNS详细流程相关的知识,希望对你有一定的参考价值。
企业内部部署一套完整的DNS详细流程?
1) 环境说明
?
1. 共需要7台主机,各自的角色如下:
A. 192.168.36.6(OS6):test
B. 192.168.36.7(OS7):localdns
C. 192.168.36.17(OS7):rootdns
D. 192.168.36.27(OS7):comdns
E. 192.168.36.37(OS7):master
F. 192.168.36.47(OS7):slave
G. 192.168.36.57(OS7):www
2. 关闭iptables、selinux
3. 设置对应的IP地址并且不设置DNS,同时修改主机名,方便识别
4. test主机不设置DNS服务器且能ping通各dns服务器和www服务器。
?
2) 部署www网站
1. 安装http服务器:yum install httpd -y
2. 生成一个index.html主页文件:echo www.haha.com > /var/www/html/index.html
3. 启动httpd服务:systemctl start httpd && systemctl enable httpd
4. test主机测试:curl 192.168.36.57
?
3) 部署master:
1. 安装DNS服务器:yum install bind -y
2. 修改DNS主配置文件:vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
allow-transfer {192.168.36.47;}; #允许192.168.36.47即slave抓取dns信息
// allow-query { localhost; };
3. 修改zone配置文件:vim /etc/named.rfc1912.zones ,增加域名信息
zone "magedu.com" {
type master;
file "magedu.com.zone";
};
4. 复制zone数据库并保持属性:cp -p /var/named/named.localhost /var/named/magedu.com.zone
5. 修改主DNS数据库内容:vim /var/named/magedu.com.zone
$TTL 1D
@ IN SOA master admin.magedu.com. (
2 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave #先配置上从DNS服务器
master A 192.168.36.37
slave A 192.168.36.47 #从DNS服务器的A记录
www A 192.168.36.57
6. 检查配置文件:named-checkconf
7. 启动named服务:systemctl start named && systemctl enable named
8. test主机测试:dig www.magedu.com @192.168.36.37
?
4) 部署slave:
1. 安装DNS服务器:yum install bind -y
2. 修改DNS主配置文件:vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
allow-transfer {none;}; 禁止抓取dns信息
// allow-query { localhost; };
3. 修改cone配置文件:vim /etc/named.rfc1912.zones 增加指向主DNS信息
zone "magedu.com" {
type slave;
masters {192.168.36.37;};
file "slaves/magedu.com.zone.slave";
};
4. 检查配置文件:named-checkconf
5. 启动named服务:systemctl start named && systemctl enable named
6. 查看ls /var/named/slaves/ 目录中是否有从master同步过来的zone文件
7. test主机测试:dig www.magedu.com @192.168.36.47
?
5) 部署comdns
1. 安装DNS服务器:yum install bind -y
2. 修改DNS主配置文件:vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
3. 修改zone配置文件:vim /etc/named.rfc1912.zones 增加二级域名
zone "com" {
type master;
file "com.zone";
};
4. 复制zone数据库并保持属性:cp -p /var/named/named.localhost /var/named/com.zone
5. 修改数据库内容:vim /var/named/com.zone
$TTL 1D
@ IN SOA master admin.magedu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
magedu NS magedudns1 #子域DNS服务器
magedu NS magedudns2 #子域DNS服务器
master A 192.168.36.27
magedudns1 A 192.168.36.37 #子域DNS服务器的A记录
magedudns2 A 192.168.36.47 #子域DNS服务器的A记录
6. 检查配置文件:named-checkconf
7. 启动named服务:systemctl start named && systemctl enable named
8. test主机测试:dig www.magedu.com @192.168.36.27
?
6) 部署rootdns
1. 安装DNS服务器:yum install bind -y
2. 修改DNS主配置文件:vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#修改根指向自己,如下:
zone "." IN {
type master;
file "root.zone";
};
3. 复制zone数据库并保持属性:cp -p /var/named/named.localhost /var/named/root.zone
4. 修改数据库内容:vim /var/named/com.zone
$TTL 1D
@ IN SOA master admin.magedu.com. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
com NS comdns #子域DNS服务器
master A 192.168.36.17
comdns A 192.168.36.27 #子域DNS服务器的A记录
5. 检查配置文件:named-checkconf
6. 启动named服务:systemctl start named && systemctl enable named
7. test主机测试:dig www.magedu.com @192.168.36.17
?
7) 部署localdns
1. 安装DNS服务器:yum install bind -y
2. 修改DNS主配置文件:vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#关闭dnssec功能,如下:
dnssec-enable no;
dnssec-validation no;
3. 修改指向的根服务器:vim /var/named/named.ca,只留下面2行内容即可。
. 518400 IN NS a.root-servers.net.
a.root-servers.net. 3600000 IN A 192.168.36.17
4. 检查配置文件:named-checkconf
5. 启动named服务:systemctl start named && systemctl enable named
?
8) 使用rndc flush命令清空所有DNS服务器的记录
?
9) 修改test主机的dns指向localdns
1. DNS1=192.168.36.7
2. service network restart
3. cat /etc/resolv.conf 检查DNS是否生效
4. test主机测试:dig www.magedu.com @192.168.36.7
?
10) 测试DNS主从功能
1. 使用rndc flush命令清空所有DNS服务器的记录
2. 停止master服务器上的DNS服务:systemctl stop named
3. test主机测试:dig www.magedu.com
?
11)注意:/var/named/中数据库的所有者(root)和所属组(named)
以上是关于企业内部部署一套完整的DNS详细流程的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程