DNS服务

一.DNS服务基础

• DNS服务器的功能
– 正向解析:根据注册的域名查找其对应的IP地址
– 反向解析:根据IP地址查找对应的注册域名

• BIND服务器端程序
– 主要执行程序:/usr/sbin/named
– 系统服务:named
– 默认端口:TCP/UDP 53
– 运行时的虚拟根环境:/var/named/chroot/

• 主配置文件:/etc/named.conf #设置本机负责解析的域名
• 地址库文件:/var/named/ #完全合格的域名与IP地址的对应关系

虚拟机svr7中构建DNS服务:

1.安装软件包 bind bind-chroot

bind-9.9.4-29.el7.x86_64     //域名服务包
bind-chroot-9.9.4-29.el7.x86_64    //提供虚拟根支持(牢笼政策)

2.修改主配置文件

[root@svr7 ~]# cp /etc/named.conf /etc/named.bak   //备份默认配置
[root@svr7 ~]# vim /etc/named.conf         //建立新配置
options {
directory “/var/named”;   #地址库文件存放位置
};
zone “tedu.cn” IN {      #指定负责解析域名
  type master;       #指定为权威主服务器
 file “tedu.cn.zone”;    #指定地址库文件名称
}; 
zone “qq.com” IN {   
 type master;
 file “qq.com.zone”;
 };

3.建立相应的地址库文件 
 
[root@svr7 ~]# cd /var/named    //进地址库目录
[root@svr7 named]# cp -p named.localhost tedu.cn.zone qq.com.zone
        ##-p:保持源文件权限不变进行复制
[root@svr7 named]# ls -l tedu.cn.zone
-rw-r----- 1 root named 237 4月 23 17:37 tedu.cn.zone

[root@svr7 named]# vim tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.1
ftp A 192.168.4.2

[root@svr7 named]# vim qq.com.zone
qq.com. NS svr7
svr7 A 192.168.4.7
www A 1.1.1.1
ftp A 2.2.2.2

4.重启named服务

[root@svr7 ~]# systemctl restart named

虚拟机pc207验证:

1.指定DNS服务器位置
  /etc/resolv.conf #指定DNS服务器地址配置文件
[root@pc207 ~]# echo nameserver 192.168.4.7 > /etc/resolv.conf
[root@pc207 ~]# cat /etc/resolv.conf

2.测试DNS解析命令
[root@pc207 ~]# nslookup www.tedu.cn
[root@pc207 ~]# ftp www.qq.cn

###################################################
特殊的解析记录
1.基于域名的负载均衡

[root@svr7 /]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7 A 192.168.4.7
www A 192.168.4.11
www A 192.168.4.12
www A 192.168.4.13
ftp A 192.168.4.2
[root@svr7 /]# systemctl restart named

2.泛域名解析

[root@svr7 /]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7   A 192.168.4.7
www   A 192.168.4.11
ftp    A 192.168.4.2
tedu.cn.   A 10.20.30.40
 ‘*’     A 1.2.3.4   -->引号中为星号**
[root@svr7 /]# systemctl restart named

虚拟机pc207客户端测试:
[root@pc207 /]# nslookup qwer.tedu.cn
[root@pc207/]# nslookup tedu.cn
3.有规律的泛域名解析

      pc1.tedu.cn ------> 192.168.10.1
      pc2.tedu.cn ------> 192.168.10.2
      pc3.tedu.cn ------> 192.168.10.3
              .......
      pc50.tedu.cn ------> 192.168.10.50

内置函数: $GENERATE 起始-结束 #制造连续范围的数字

[root@svr7 ~]# vim /var/named/tedu.cn.zone

$ G E N E R A T E 1 − 50 p c GENERATE 1-50 pc GENERATE1−50pc $ A 192.168.10.$
[root@svr7 ~]# systemctl restart named

4.解析记录的别名

[root@svr7 ~]# vim /var/named/tedu.cn.zone
tedu.cn. NS svr7
svr7   A 192.168.4.7
www   A 192.168.4.11
ftp    A 192.168.4.2
tedu.cn.   A 10.20.30.40
tts CNAME ftp
[root@svr7 ~]# systemctl restart named

虚拟机pc207客户端测试:
[root@pc207 ~]# nslookup tts.tedu.cn
Server: 192.168.4.7
Address: 192.168.4.7#53
tts.tedu.cn canonical name = ftp.tedu.cn.
Name: ftp.tedu.cn
Address: 192.168.4.2

5.DNS子域授权

 虚拟机svr7负责解析qq.com域名
 虚拟机pc207负责解析bj.qq.com域名

[root@svr7 ~]# vim /var/named/qq.com.zone
qq.com. NS svr7
bj.qq.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 192.168.4.10
ftp A 2.2.2.2
[root@svr7 ~]# systemctl restart named

[root@pc207 /]# nslookup www.bj.qq.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非权威解答
Name: www.bj.qq.com
Address: 50.60.70.80

6.缓存DNS

虚拟机svr7:真DNS服务器
虚拟机pc207上操作,搭建缓存DNS服务器
虚拟机C:客户端

虚拟机pc207上:
[root@pc207 /]# vim /etc/named.conf
options {
directory “/var/named”;
forwarders { 192.168.4.7; }; #转发给192.168.4.7
};
[root@pc207 /]# systemctl restart named

虚拟机C:做测试:
[root@C ~]# nslookup ftp.tedu.cn 192.168.4.207
Server: 192.168.4.207
Address: 192.168.4.207#53
Non-authoritative answer:
Name: ftp.tedu.cn
Address: 192.168.4.2

↓↓↓↓↓↓

最近刚申请了个微信公众号,上面也会分享一些运维知识,大家点点发财手关注一波,感谢大家。 【原创公众号】:非著名运维 【福利】:公众号回复 “资料” 送运维自学资料大礼包哦!
DNS服务

如果你觉得这篇文章还不错,就请动动你的发财手为本文留个言点个在看,或者转发一下吧,因为这将是我持续输出更多优质文章的最强动力

上一篇:DNS域名解析服务及正向解析实验


下一篇:Flask Python Error: No module named sqlalchemy.sql.default_comparator