赞
踩
这里不介绍DNS的基础知识,只关于DNS部署相关的内容
首先理解两个概念: 递归请求和迭代请求
所谓递归请求:即为DNS服务器要去DNS的根服务器一层一层的请求下来(相当消耗资源)
所谓迭代请求:DNS服务器从自己负责的区域这一层或往下就能找到(不需要去DNS根服务器找)
本机主DNS服务器:192.168.150.129
从DNS服务器:192.168.150.130
子域DNS服务器:192.168.150.131
- (1)yum安装BIND安装包
- yum install -y bind (测试仅需安装此包即可,企业互联网环境还可以安装bind-chroot包)
- (2)修改主配置文件/etc/name.conf (具体配置可以查看https://blog.csdn.net/qq_40628106/article/details/83749584)
- options{}中 listen-on port 53 { 127.0.0.1; };---改成--->listen-on port 53 { any; }; 表示监听任意端口
- dnssec-enable yes;---改成--->dnssec-enable no; 关闭dnssec功能
- dnssec-validation yes;--改成-->dnssec-validation no;
- allow-query { localhost; };---改成-->//allow-query { localhost; }; 直接注释掉,不管是主从服务器,还是子域服务器都要注释掉,防止访问不到
- (3)检查修改后的配置文件是否有语法错误
- named-checkconf 命令
- (4)启动服务
- systemctl start named.service 启动后可用systemctl status named.service查看是否启动成功
- netstat -tunlp (查看tcp和udp的53号端口是否是named进程在进行监听,监听后说明服务已打开)
- (5)修改DNS配置文件将指向改为本机地址
- vim /etc/resolv.conf中
- nameserver 192.168.150.2---改为--->nameserver 192.168.150.128
- (6)使用dig等命令测试即可
- dig -t A www.baidu.com
- 以magedu.com为例 (这个域名应该事先从互联网上注册,并申请修改NS记录指向要作为DNS服务器的地址)
- (配置是在辅助文件上做的,而且一般不在主配置文件上添加)
- 主配置文件/etc/named.conf文件指定了 /etc/named.rfc1912.zones 这个文件,这个文件是特别重要,我们后面要靠该文件来关联 主配置文件和许多域文件,如DNS正向解析的域文件,DNS反向解析的域文件。
- (1)配置/etc/named.rfc1912.zones文件
- vim /etc/named.rfc1912.zones 在最后添加
- zone "magedu.com" IN {
- type master;
- file "magedu.com.zone";
- };
- 这样即为添加了一个区域
- (2)新建上面zone中配置的magedu.com.zone (在/var/named/目录下)
- cd /var/named
- vim magedu.com.zone (创建文件的同时在文件中创建如下文本)
- (文本中主要记录为A或AAAA)
- $TTL 3600 #宏,用于替代资源记录定义格式中的ttl
- $ORIGIN magedu.com. (也是宏的一种,用于下面的名称自动在后面补全magedu.com.)
- @ IN SOA ns1.magedu.com. admin.magedu.com. (
- 2021081601 ; serial
- 1H ; refresh
- 10M ; retry
- 1D ; expire
- 1D ) ; minimum
- IN NS ns1 (这个ns1本来应该写全,如ns1.magedu.com.,但是上面的宏会自动补全)
- IN MX 10 mx1
- IN MX 20 mx2
- ns1 IN A 192.168.150.128
- mx1 IN A 192.168.150.129
- mx2 IN A 192.168.150.130
- www IN A 192.168.150.128
- web IN CNAME www
- bbs IN A 192.168.150.128
- bbs IN A 192.168.150.129
-
- (3)修改/var/named/magedu.com.zone文件权限
- ls -l /var/named/magedu.com.zone (先查看文件权限)
- (修改文件权限属组为named,其他用户不能拥有任何权限)
- chmod o= /var/named/magedu.com.zone
- chown :named /var/named/magedu.com.zone
- (4)检查语法错误
- named-checkconf (检查主配置文件是否有语法错误)
- named-checkzone magedu.com /var/named/magedu.com.zone (检查magedu.com对应的/var/named/magedu.com.zone配置文件是否有语法错误) 出现ok才为正常
- (5)装载区域 重载配置文件
- rndc status 命令 查看-->number of zones:字段
- rndc reload 或者 systemctl reload named.service (装载区域,重载配置文件)
- 用rndc status 命令 查看-->number of zones:字段会发现+1
- (6)检测
- dig -t A www.magedu.com --->结果会显示 (同样可以测试web.magedu.com bbs.magedu.com等)
- (和你在/var/named/magedu.com.zone文件中配置的一样,会显示www.magedu.com对应的地址就是本机地址)
- ;; ANSWER SECTION:
- www.magedu.com. 3600 IN A 192.168.150.128
-
- ;; AUTHORITY SECTION:
- magedu.com. 3600 IN NS ns1.magedu.com.
-
- ;; ADDITIONAL SECTION:
- ns1.magedu.com. 3600 IN A 192.168.150.128
-
- 基本和上面的正向区域没太大区别
-
- (1)配置/etc/named.rfc1912.zones文件
- vim /etc/named.rfc1912.zones 在最后添加
- zone "ZONE_NAME" IN {
- type master;
- file "ZONE_NAME.zone";
- };
- 示例:
- zone "150.168.192.in-addr.arpa" IN {
- type master;
- file "192.168.150.zone";
- };
- 注意:正向区域 ZONE_NAME为区域,如baidu.com,但是反向区域的ZONE_NAME为“反写的网段地址.in-addr.arpa”
- 反向区域的ZONE_NAME示例:正常网段为192.168.150 ————> 150.168.192.in-addr.arpa
- (2)创建并配置区域数据库文件(反向区域主要配置PTR)
- cd /var/named
- vim 192.168.150.zone (创建文件的同时在文件中创建如下文本)
-
- $TTL 3600
- $ORIGIN 150.168.192.in-addr.arpa. (注意和正向区域区分)
- @ IN SOA ns1.magedu.com. admin.magedu.com. (
- 2021081701 ; serial
- 1H ; refresh
- 10M ; retry
- 1D ; expire
- 1D ) ; minimum
- IN NS ns1.magedu.com.
- 128 IN PTR ns1.magedu.com.
- 129 IN PTR mx1.magedu.com.
- 130 IN PTR mx2.magedu.com.
- 128 IN PTR www.magedu.com.
-
- (3)修改192.168.150.zone文件权限
- ls -l 192.168.150.zone (先查看文件权限)
- (修改文件权限属组为named,其他用户不能拥有任何权限)
- chmod o= 192.168.150.zone
- chown :named 192.168.150.zone
-
- (4)检查语法错误
- named-checkconf (检查主配置文件是否有语法错误)
- named-checkzone 150.168.192.in-addr.arpa /var/named/192.168.150.zone
-
- (5)装载区域 重载配置文件
- rndc status 命令 查看-->number of zones:字段
- rndc reload 或者 systemctl reload named.service (装载区域,重载配置文件)
- 用rndc status 命令 查看-->number of zones:字段会发现+1
-
- (6)检测
- dig -x 192.168.150.128 (同样可以检测配置文件中配置的192.168.150.129 192.168.150.130)
DNS主从服务器
重点:主从的概念是从区域级别来定义的
理解:(1)如一个主的DNS服务器负责baidu.com和magedu.com两个区域的解析,那么从服务器可以选择其中一个区域配置,可以两个区域都配置(只有配置了相应的区域才能实现主从同步,没配置的区域从服务器不管)
(2)也可以从服务器负责baidu.com的主要解析(即为baidu.com的主DNS服务器),主的DNS服务器即配置为baidu.com区域的从服务器
(3)也可以级联复制(即01从服务器同步主DNS服务器,再来一台02从服务器同步01从服务器)
对于主从服务器如何实现负载均衡:(1)对于本地客户端来说,假如说有100台主机,那么50台主机的/etc/resolv.conf文件中配置为主DNS服务器,另外50台配置为从服务器即可
(2)对于外部的客户端递归的请求,那么在主从服务器的上级(如baidu.com的上级com)采用轮询机制即可,即要在上级服务器的区域数据库文件中配置NS为两台(主从两台服务器均要告诉上级服务器)
- 在从服务器中
-
- 基础安装bind部分
- 1.首先也是先用yum安装bind相关的安装包
- yum install -y bind
- 2.安装好后修改主配置文件/etc/name.conf (具体配置可以查看https://blog.csdn.net/qq_40628106/article/details/83749584)
- options{}中 listen-on port 53 { 127.0.0.1; };---改成--->listen-on port 53 { 127.0.0.1; 192.168.150.129; 192.168.150.130; }; 添加上主DNS服务器的地址和自己的地址
- dnssec-enable yes;---改成--->dnssec-enable no; 关闭dnssec功能
- dnssec-validation yes;--改成-->dnssec-validation no;
- 3检查修改后的配置文件是否有语法错误
- named-checkconf 命令
- 4启动服务
- systemctl start named.service 启动后可用systemctl status named.service查看是否启动成功
-
- 配置成为从服务器部分
- (1)定义区域,配置/etc/named.rfc1912.zones文件
- vim /etc/named.rfc1912.zones 在最后添加
- zone "ZONE_NAME" IN {
- type slave;
- file "slaves/ZONE_NAME.zone"; --slaves目录专用于从主DNS服务器同步数据
- masters {MASTER_IP;}; --告诉谁为主DNS服务器,便于同步
- };
- 示例:
- zone "magedu.com" IN {
- type slave;
- file "slaves/magedu.com.zone";
- masters { 192.168.150.129; };
- };
- (2)重载从服务器,注意!!!!一定要在主服务器配置了NS记录的情况后进行重载
- rndc reload 或者 systemctl reload named.service (装载区域,重载配置文件)
- cd /var/named/slaves 在这里目录下即可看到自动生成的magedu.com.zone
- 如果看不到可以看下面的 “从区域解析相关错误”
- (2)测试
- dig -t A www.magedu.com @192.168.150.130
-
-
-
- 在主服务器中
- (1)确保区域数据文件中为每个从服务器配置了NS记录
- vim /var/named/magedu.com.zone
- 添加一条NS记录,并对应NS记录添加一条A记录,示例:(注意,每配置一次从服务器,需要都要加1)
- $TTL 3600
- $ORIGIN magedu.com.
- @ IN SOA ns1.magedu.com. admin.magedu.com. (
- 2021081602 ; serial --序号要加1
- 1H ; refresh
- 10M ; retry
- 1D ; expire
- 1D ) ; minimum
- IN NS ns1
- IN NS ns2 --从服务器对应的NS记录
- IN MX 10 mx1
- IN MX 20 mx2
- ns1 IN A 192.168.150.129
- mx1 IN A 192.168.150.128
- ns2 IN A 192.168.150.130 --从服务器对应的A记录
- www IN A 192.168.150.129
- web IN CNAME www
- bbs IN A 192.168.150.128
- bbs IN A 192.168.150.129
- (2)检查区域文件是否有语法错误,没错误的话重载配置文件即可
- named-checkzone 150.168.192.in-addr.arpa /var/named/192.168.150.zone
- rndc reload 或者 systemctl reload named.service (装载区域,重载配置文件)
- 配置从服务器的反向解析没啥特别的
- (1)在/etc/named.rfc1912.zones文件添加一列 示例:
- zone "150.168.192.in-addr.arpa" IN {
- type slave;
- file "slaves/192.168.150.zone";
- masters { 192.168.150.129; };
- };
- (2)确保主服务器反向区域解析的区域文件上添加一条从服务器的NS记录
- 参考上面的配置反向区域
- (3)主服务器先rndc reload 从服务器再rndc reload即可
- (4)从服务器检查/var/named/slaves目录下是否自动生成了相关文件
- (5)dig测试即可
- 如果配置完从区域,重载从服务器后没看到自动生成的/var/named/slaves/magedu.com.zone文件
- (1)可以首先查看BIND的日志文件 vim /var/log/messages (/var/log/messages这个文件就是BIND的日志文件)
- 窍门:vim中末行模式下 :$ 表示跳转到最后一行
- 示例:例如日志文件中报错 (报错一般为显眼的大红色)
- transfer of 'magedu.com/IN' from 192.168.150.129#53: failed to connect: host unreachable
- host unreachable报错表示主机无法访问,那么我们就可以考虑为什么主DNS服务器的主机无法访问了
- 对于Linux来说无非就是SELinux阻止,或者是防火墙阻止(将这两者关闭即可解决问题)
- 注意:systemctl status named命令也可以看一部份日志信息,但是不全
-
- (2)关闭SELinux
- 查看SELinux状态命令:getenforce (Enforcing 代表SELinux是开启状态)
- 关闭SELinux:sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config (注意此命令执行完后重启才能生效)
- 也可以编辑/etc/selinux/config文件,修改SELINUX参数为下面其一:disabled或permisslve
- 立即生效:getenforce--->setenforce 0
-
- (3) 关闭防火墙
- 查看防火墙状态:systemctl status firewalld
- 暂时关闭防火墙:systemctl stop firewalld
- 永久关闭防火墙:systemctl disable firewalld
- 重启防火墙:systemctl enable firewalld
-
-
-
- (2)如果在从服务器dig测试中报错connection timed out;no servers could be reached
- 首先也是确认从服务器的SELinux和防火墙是否关闭
- 然后确认53号端口是否正常开启
- iptables -L -n |grep 53
- 1.手动开启53号端口
- [root@localhost ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent
- [root@localhost ~]# firewall-cmd --zone=public --add-port=53/udp --permanent
- [root@localhost ~]# firewall-cmd --reload #更新配置
- 2.配置BIND主配置文件,53号端口不仅要加主DNS服务器的ip,也要加自己的IP
- 修改主配置文件/etc/name.conf (具体配置可以查看https://blog.csdn.net/qq_40628106/article/details/83749584)
- options{}中 listen-on port 53 { 127.0.0.1; };---改成--->listen-on port 53 { 127.0.0.1; 192.168.150.129; 192.168.150.130; }; 添加上主DNS服务器的地址,额外添加自己的IP,用于服务启动时开启53号端口
-
- 一般来说都是BIND主配置文件没有添加从服务器自己的IP地址导致53号端口没有打开从而测试时请求超时
- 主服务器端
-
- (1)仅需在区域配置文件中添加一条NS记录即可,NS对于的A记录也要添加
- 示例:(注意,每配置一次从服务器,需要都要加1)
- $TTL 3600
- $ORIGIN magedu.com.
- @ IN SOA ns1.magedu.com. admin.magedu.com. (
- 2021081603 ; serial --序号要加1
- 1H ; refresh
- 10M ; retry
- 1D ; expire
- 1D ) ; minimum
- IN NS ns1
- IN NS ns2
- IN MX 10 mx1
- IN MX 20 mx2
- ns1 IN A 192.168.150.129
- mx1 IN A 192.168.150.128
- ns2 IN A 192.168.150.130
- www IN A 192.168.150.129
- web IN CNAME www
- bbs IN A 192.168.150.128
- bbs IN A 192.168.150.129
-
- ops IN NS ns1.ops --子域对应DNS服务器的NS记录
- ns1.ops IN A 192.168.150.131 --子域DNS服务器的ip地址
- (2)重载区域数据库文件即可
- rndc reload
-
-
- 子域服务器端
-
- 开始也是一样的安装bind,修改主配置文件,启动服务
- yum insatll -y bind*
- vim /etc/named.conf 修改其中
- options{}中 listen-on port 53 { 127.0.0.1; };---改成--->listen-on port 53 { 127.0.0.1; 192.168.150.131; };
- dnssec-enable yes;---改成--->dnssec-enable no; 关闭dnssec功能
- dnssec-validation yes;--改成-->dnssec-validation no;
- 3检查修改后的配置文件是否有语法错误
- named-checkconf 命令
- 4启动服务
- systemctl start named.service 启动后可用systemctl status named.service查看是否启动成功
-
- (1)在/etc/named.rfc1912.zones文件添加一列 示例:
- zone "ops.magedu.com" IN { --ops.magedu.com为magedu.com的子域
- type master;
- file "ops.magedu.com.zone";
- };
- (2)在/var/named目录下创建ops.magedu.com.zone 文件 添加下列内容
- 示例:
- $TTL 3600
- $ORIGIN ops.magedu.com.
- @ IN SOA ns1.ops.magedu.com. admin.ops.magedu.com. (
- 2021081901 ; serial
- 1H ; refresh
- 10M ; retry
- 1D ; expire
- 1D ) ; minimum
- IN NS ns1
- ns1 IN A 192.168.150.131
- www IN A 192.168.150.131
- (3)更改权限
- [root@localhost named]# chmod o= ops.magedu.com.zone
- [root@localhost named]# chown :named ops.magedu.com.zone
- (4)检查区域文件,显示为声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/664742推荐阅读
相关标签
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。