DNS解析的作用:将域名解析为IP地址
DNS服务器的功能
正向解析:根据注册的域名查找其对应的IP地址
反向解析:根据IP地址查找对应的注册域名,不常用
所有的域名必须以点作为结尾
域名 = 站点名 . 域名后缀
BIND域名服务
BIND(Berkeley Internet Name Daemon)
软件包: bind bind-chroot
系统服务:named
默认端口:TCP/UDP 53
主配置文件:/etc/named.conf 设置本机负责解析的域名
地址库文件:/var/named/ 记录域名与IP地址的对应关系
搭建基本的DNS服务器
服务端:
1.安装软件包
yum -y install bind-chroot bind
bind-9.9.4-29.el7.x86_64 //域名服务包
bind-chroot-9.9.4-29.el7.x86_64 //提供虚拟根支持
2.修改主配置文件
vim /etc/named.conf
options {
directory "/var/named"; #指定地址库文件存放位置
};
zone "yzy.com" IN { #指定本机负责解析的域名
type master; #指定本机为权威服务器
file "yzy.com.zone"; #指定地址库文件名字
};
3.建立地址库文件
cp -p named.localhost tedu.cn.zone
vim /var/named/tedu.cn.zone
yzy.com. NS server #注意域名后面要有 "点"
server A [本服务端IP]
www A [解析www.yzy.com]
ftp A [解析ftp.yzy.com]
4. 重起named服务
systemctl restart named
客户端:
echo nameserver [DNS服务器IP] > /etc/resolv.conf
nslookup www.yzy.com #查看域名解析结果
总结:1.总的思路还是装包配置起服务
2.注意在修改地址库配置文件的时候注意权限问题
3.在填写地址库的时候在写完整域名后面必须有 "点"
多区域DNS服务器
在原有的DNS服务器上再添加一个模块,里面记录新的域名处理的信息,再创建相应的地址库文件。
服务器:
1.修改主配置文件/etc/named.conf
2.建立对应的地址库文件
3. 重起named服务
特殊的解析记录
一、DNS解析记录的轮询
当DNS解析服务器有多个相同的域名解析记录的的时候,默认会轮询访问,也就算说,第一次有客户段请求解析的时候,DNS会返回第一个IP,第二个来的时候会返回第二个,写法如下:
www A 192.168.4.1
www A 192.168.4.10
www A 192.168.4.100
二、泛域名解析
匹配所有站点名 ,写法乳腺癌
* A 1.2.3.4
*作为通配 ,但是在DNS解析的时候,是最后一个适配的
在一定条件下,我们需要创建多个有规律的域名解析,如下:
pc1.yzy.com -------> 192.168.10.1
pc2.yzy.com -------> 192.168.10.2
pc3.yzy.com -------> 192.168.10.3
.......
pc50.yzy.com ------> 192.168.10.50
使用内置函数 $GENERATE造数, 得到连续范围的数字
在配置文件中书写示例如下:
$GENERATE 1-50 pc$ A 192.168.10.$
三、解析记录的别名
[A] CNAME [B]
作用就是站点名是A的时候把B的结果反馈出去
DNS子域授权
父域:www.yzy.com
子域:www.cool.yzy.com
虚拟机A为DNS服务器,负责解析 父域:yzy.com
虚拟机B为DNS服务器,负责解析 子域:cool.yzy.com
虚拟机B搭建DNS服务器
1.安装软件包bind bind-chroot
2.修改主配置文件
3.在/var/named路径下,建立地址库文件
子域授权:在父域的DNS服务器上,指定子域服务器位置
服务器A(父域):
vim /var/named/yzy.com.zone
yzy.com. NS serverA
cool.yzy.com. NS serverB
serverA A [A的IP]
serverB A [B的IP]
…………………………
nslookup www.cool.yzy.com [A的IP]
解析结果会出现下面的话
Non-authoritative answer: #非权威解答
递归解析:由客户端发起请求解析,首选DNS服务器与其他DNS服务交互,最终将答案带回来的过程
是否允许递归解析
options {
directory "/var/named";
recursion no; #禁用递归解析
};
迭代解析:首选DNS服务器与其他DNS服务交互过程
DNS主机名映射文件
作用:只为本机直接提供解析结果
/etc/hosts
用户解析域名 www.haha.com:
1./etc/hosts(优先级最高)
2./etc/resolv.conf
3.寻找DNS服务器
缓存DNS服务器:缓存解析记录,加速解析过程
搭建方式:
1.全局转发式缓存DNS服务器
2.根域迭代缓存DNS服务器(一般不用)
构建缓存服务器
1.装包
2.配置,修改配置文件
vim /etc/named.conf
options {
directory "/var/named";
forwarders { [缓存服务器查找的DNS服务器,一般是网络中的DNS服务器]; };
};
3.起服务
systemctl restart named
注意:在写配置文件的时候forwarders后面有大括号,括号中间每个部分都有空格,结尾要有分号
完整的DNS服务的配置文件书写示例
/etc/named.conf 主配置文件
options {
directory "/var/named"; #指定地址库文件存放位置
};
zone "yzy.com" IN { #指定本机负责解析的域名
type master; #指定本机为权威服务器
file "yzy.com.zone"; #指定地址库文件名字
};
zone "yzy2.com" IN { #指定本机负责解析的第二个域名
type master; #指定本机为权威服务器
file "yzy2.com.zone"; #指定地址库文件名字
};
/var/named/*.zone 相关地址库文件
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
yzy.com. NS serverA
cool.yzy.com. NS serverB
serverA A [A服务器的IP]
serverB A [B服务器的IP] # 子域服务器的IP,用于递归查找
www A [web服务器的IP]
ftp A [ftp服务器的IP]
* A [通用情况下的IP]
$GENERATE 1-50 pc$ A [IP]$[IP] # 这句话中前两个字段代表创建多少范围连续的数字,后面中$代表的就是前面创建的多个数,其中前后的$代表的数都是一样的