简单说明:
DNS提供域名解析服务,可以将域名解析为IP地址(正向解析),或者将IP地址解析为域名(反向解析)
域名解析所需软件包:bind、bind-chroot
域名解析配置文件: /etc/named.conf
域名解析的地址库文件: /var/named
域名解析的服务名:named
一、单区域解析
单区域域名解析:即只解析单个域名
1、装包
[root@server1 ~]# yum -y install bind bind-chroot
2、修改主配置文件(修改为如图所示的样子,其他行可以全部删除)
vim /etc/namd.conf
3、修改地址库文件
[root@server1 ~]# cp -p /var/named/named.localhost /var/named/xh.dns
[root@server1 ~]# vim /var/named/xh.dns
xh.com.代表要解析的站点名, NS 代表域名服务器,server1是我的主机名
server1是我的主机名, A代表正向解析, 后面ip地址是本机ip地址
www是站点名,后面ip地址是站点IP地址
4、重启服务并测试解析效果(到此单区域解析配置完成)
[root@server1 ~]# systemctl restart named
[root@server1 ~]# nslookup www.xh.com
二、多区域解析
多区域域名解析:解析多个域名
1、装包
[root@server1 ~]# yum -y install bind bind-chroot
2、修改主配置文件(修改为如图所示的样子,其他行可以全部删除)
vim /etc/namd.conf
3、修改地址库文件
[root@server1 ~]# cp -p /var/named/named.localhost /var/named/aa.dns
[root@server1 ~]# vim /var/named/aa.dns
4、重启服务并测试解析效果(到此多区域解析配置完成)
[root@server1 ~]# systemctl restart named
[root@server1 ~]# nslookup www.aa.com
三、轮询解析
轮询解析:同一站点对应多台服务器(多个IP)
1、装包
[root@server1 ~]# yum -y install bind bind-chroot
2、修改主配置文件(修改为如图所示的样子,其他行可以全部删除)
vim /etc/namd.conf
3、配置地址库文件(一个www站点对应多台服务器)
4、重启服务并测试解析效果(到此轮询解析配置完成)
[root@server1 ~]# systemctl restart named
[root@server1 ~]# nslookup www.xh.com
四、别名解析
别名解析:某个站点使用创建的别名,两者的解析结果一致
1、装包
[root@server1 ~]# yum -y install bind bind-chroot
2、修改主配置文件(修改为如图所示的样子,其他行可以全部删除)
vim /etc/namd.conf
3、配置地址库文件(CNAME表示别名解析)
[root@server1 ~]# vim /var/named/xh.dns
4、重启服务并测试解析效果
[root@server1 ~]# systemctl restart named
站点名与站点名别名解析结果一致。
五、泛域名解析
泛域名解析:利用通配符*实现所有子域名指向同一个网站空间
1、装包
[root@server1 ~]# yum -y install bind bind-chroot
2、修改主配置文件(修改为如图所示的样子,其他行可以全部删除)
vim /etc/namd.conf
3、配置地址库文件(利用通配符*号实现泛域名解析)
[root@server1 ~]# vim /var/named/xh.dns
4、重启服务并测试解析效果
[root@server1 ~]# systemctl restart named
六、子域授权解析
子域授权解析:将大的父域划分为小的子域,父域能解析子域的域名。返回非权威解析。两台服务器域名关系一定要是父子关系。
配置子域服务器(是server2而不是server1)
1、子域服务器装包
[root@server2 ~]# yum -y install bind bind-chroot
2、子域服务器配置文件(server1 有一个域名是xh.com,这里的xn.xh.com是xh.com的子域名)
3、配置地址库文件
[root@server2 ~]# cp -p /var/named/named.localhost /var/named/xn.xh.dns
[root@server2 ~]# vim /var/named/xn.xh.dns
4、重启并测试解析效果
[root@server2 ~]# systemctl restart named
[root@server2 ~]# nslookup www.xn.xh.com
5、在父域配置子域授权(在server1上做,修改server1的地址库文件)
[root@server1 ~]# vim /var/named/xh.dns
[root@server1 ~]# systemctl restart named
[root@server1 ~]# nslookup www.xn.xh.com
返回非权威解析,且解析结果与子域服务器一样
七、缓存解析
缓存DNS解析: 需要配置的只是主DNS服务器,缓存DNS著需要将请求转发给主DNS就行,不作其他配置
利用server3 作为缓存服务器
1、装包
[root@server3 ~]# yum -y install bind bind-chroot
2、配置主配置文件(只需要保留图中部分即可,也不需要配置地址库文件,只需要将请求转发给server1,即192.168.10.131)
[root@server3 ~]# vim /etc/named.conf
3、重启并测试配置效果
[root@server3 ~]# systemctl restart named
[root@server3 ~]# nslookup ftp.xh.com
八、主从架构
DNS主从架构:主服务器配置主配置文件与地址库文件,从服务器配置主配置文件,不需要地址库文件
使用server4 作为从服务器
1、装包
[root@server4 ~]# yum -y install bind bind-chroot bind-utils
2、配置从服务器(修改主配置文件)
[root@server4 ~]# vim /etc/named.conf
3、配置主服务器(配置主配置文件及地址库文件)
配置主配置文件
配置地址库文件(添加了最后两行,即添加了从服务器信息)
4、主从服务器都重启
[root@server1 ~]# systemctl restart named
[root@server4 slaves]# systemctl restart named
尽管从服务器并未配置地址库文件,但是还是能解析域名
最后
DNS分离解析:当服务器收到请求时,能够为不同的客户提供不同的解析结果。