CenOS7 运维 - DNS域名解析服务 | 正向解析 | 反向解析 | 主从服务器 | 排错思路及方案 | 超详细

CenOS7 运维 - DNS域名解析服务

一、DNS系统的作用 二、域名的结构 根域 顶级域 二级域 子域 主机 三、DNS服务器类型 ►主域名服务器 ►从域名服务器 ►缓存域名服务器 ►转发域名服务器 四、BIND安装使用与配置 ►通过YUM安装 ►配置文件 ①先查看需要修改的配置文件所在路径 ②修改主配置文件 五、正向解析 ①修改区域配置文件,添加正向区域配置 ②配置正向区域数据文件 ③开始验证 ④同局域网Win10访问 六、反向解析 ①修改区域配置文件,添加反向区域配置 ②配置反向区域数据文件 ③开始验证 ④同局域网Win10访问 七、主从服务器 ①修改配置文件 ②添加从服务器DNS地址 ③从服务器宿主机配置 ④开始验证 排错思路 ①从服务器slaves文件夹中没有文件 ②Host IP not found: 3(NXDOMAIN)

一、DNS系统的作用

►正向解析:根据域名查找对应的IP地址
►反向解析:根据IP地址查找对应的域名
DNS系统的分布式数据结构

地球上的每一粒沙子可以用IPV6表示

DNS服务使用TCP和UDP的53端口
►TCP的53端口用于连接DNS服务器
►UDP的53端口用于解析DNS

二、域名的结构

www.exmple.com.cn.
主机名 | 子域 | 二级域名 | 顶级域名 | 根域
►每一级的域名长度限制是63个字符
►域名总长度则不能超过253个字符

cn后面的.一般不会显示,系统会自动进行添加,表示根域

根域

位于域名空间最顶层,一般用一个"."表示根域

顶级域

一般代表一种类型的组织机构或国家地区

二级域

用来标明顶级域内的一个特定的组织,国家顶级域下面的二级域名由国家网络部门统一管理

子域

二级域下所创建的各级域统称为子域,各个组织或用户可以自由申请注册自己的域名

主机

主机位于域名空间最下层,就是一台具体的计算机

委派的操作
如果没有本地DNS服务器帮忙解析的话
从根域到顶级域再到二级域最后再到子域或主机

三、DNS服务器类型

►主域名服务器

负责维护一个区域的所有域名信息,是特定的所有信息的权威信息源,数据可以修改。构建主域名服务器时,需要自行建立所负责区域的地址数据文件

►从域名服务器

当主域名服务器出现故障、关闭或负载过重时,从域名服务器作为备份服务提供域名解析服务。从域名服务器提供的解析结果不是由自己决定的,而是来自主域名服务器。构建从域名服务器时,需要指定主域名服务器的位置,以便服务器能自动同步区域的地址数据库

►缓存域名服务器

只提供域名解析结果缓存功能

►转发域名服务器

负责所有非本地域名的本地查询

四、BIND安装使用与配置

BIND是一个主流的解析软件

►通过YUM安装

yum -y install bind

►配置文件

配置正向解析

①先查看需要修改的配置文件所在路径

执行程序/usr/sbin/named 配置文件/etc/named.conf 解析记录/var/named/ 模板文件[功能:拷贝参考]var/named/named.localhost 区域配置文件/var/named.rfc1912.zones

②修改主配置文件

options{
  @ listen-on port 53 {any 或者 IP地址;};
    #监听53端口
    directory
    #区域数据文件默认存储位置
    dump-file
    #域名缓存数据库文件的位置
    statistics-file
    #状态统计文件的位置
    memstatistics-file
    #内存统计文件的位置
  @ allow-query {IP网段;IP网段;};
    #允许使用本DNS解析服务的网段[可用any]
};


可将listen-on-v6 port 53 { ::1; };注释[IPV6]

五、正向解析

zone "." IN{#正向解析根区域
    type hint #类型为根区域
    file "named.ca"
};

include "/etc/named.rfc1912.zones"

①修改区域配置文件,添加正向区域配置

vim /etc/named.rfc1912.zones
#文件里模板,可复制粘贴后修改
zone "uthome.cn" IN{
    type master; #正向解析"uthome.cn"区域
    file "uthome.cn.zone" #类型为著区域
    allow-update {none;};
    #指定区域数据文件为uthome.cn.zone
};

②配置正向区域数据文件

cd /var/named/
cp -p named.localhost cathomeowo.cn.zone

vim /var/named/cathomeowo.cn.zone
$TTL ID #有效解析记录的生存周期
@       IN SOA cathomeowo.cn. (
#@符号表示当前的DNS区域名
0     ; #serial 更新序列号
1D    ; #retry  刷新时间
1H    ; #refresh重试延时
1W    ; #expire 失效时间
3H)   ; #minimum无效解析记录的生存周期

NS cathomeowo.cn. #记录当前区域的DNS服务器的名称
A  xxxIP       #记录主机IP地址
IN MX 10 mail.xxx.xxx #邮箱交换记录,数字越大越优低
www IN A xxxIP #记录正向解析www.benet.con对应的IP
ftp IN CHAME www #CNAME使用别名,ftp时www的别名
* IN A xxxIP #泛域名解析,"*"代表任意主机名

③开始验证

systemctl start named
systemctl stop firewalld.service
setenforce 0
netstat -anpu | grep named

vim /etc/resolv.conf
修改默认DNS为192.168.222.4
host cathomeowo.cn

④同局域网Win10访问

将DNS地址设置为192.168.222.4

nslookup 域名                             //开始验证

六、反向解析

①修改区域配置文件,添加反向区域配置

vim /etc/named.rfc1912.zones
// 192.168.222.0 反向则是 222.168.192
zone "222.168.192.in-addr.arpa" IN {
        type master;
        file "cathomeowo.cn.local";
        allow-update { none; };
};

②配置反向区域数据文件

cd /var/named/
cp -p cathomeowo.cn.zone cathomeowo.cn.local
$TTL 1D
@       IN SOA  @ cathomeowo.cn. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      cathomeowo.cn.
        A       192.168.222.4
4 IN PTR   www.cathomeowo.cn

# 4是192.168.222.4的意思
# RTP反向指针 功能:反向解析

③开始验证

systemctl restart named
host 192.168.222.4
// 将会反向解析出域名www.cathomeowo.cn

④同局域网Win10访问

通过nslookup IP地址来反向解析出域名

七、主从服务器

从服务器的作用是同步主服务器的解析文件,当客户机只设置主服务器为DNS时,主服务器故障后将无法进行解析

①修改配置文件

allow-transfer 允许转让
allow-updata 允许动态更新

vim /etc/ named. rfc1912. zone
zone "cathomeowo.cn" IN {
        type master;
        file "cathomeowo.cn.zone"; 
        #allow-update { none; };
        allow-transfer { 192.168.222.40; };
        #将allow-updata改为transfer
        #allow-transfer为允许转让
        #{}的值为从服务器的DNS
};


zone "222.168.192.in-addr.arpa" IN {
        type master;
        file "cathomeowo.cn.local";
        #allow-update { none; };
        allow-transfer { 192.168.222.40; };
};

②添加从服务器DNS地址

以客户机的身份设置从服务器DNS

vim /etc/resolv.conf
nameserver 192.168.222.4                  #主服务器
nameserver 192.168.222.40 				  #从服务器

③从服务器宿主机配置

vim /etc/named.conf

listen-on port 53{} 中值为any
allow-query{}中值改为any

vim /etc/named.rfc1912.zones

type {} 中的值改为 slave
allow-updata{}改为masters{}
masters{} 其值为主服务器DNS地址
file {} 中的值"slaves/xxx"

④开始验证

systemctl restart named   #此时会在目录中生成一个slave


►当Win10只使用主DNS时


►此时我们将主DNS关闭后
►因此得出结论从服务器只对主服务器解析文件进行同步

排错思路

①从服务器slaves文件夹中没有文件

►打开named.rfc1912.zones文件

vim /etc/named.rfc1912.zones

zone "exmple.com" IN {
        type slave;
        file "slaves/exmple.com";
        masters { 192.168.1.1; } ;
};
//type 类型为 slave
//file 文件路径为 slaves/xxx

►slaves文件夹属组修改为named

cd /var/named/
chown named:named slaves

②Host IP not found: 3(NXDOMAIN)

►修改本机的DNS地址

进入网卡配置文件 进入resolv.conf添加nameserver
vim /etc/sysconfig/network-scripts/ifcfg-ens33

vim /etc/resolv.conf


►关闭防火墙及SeLinux
CentOS7 服务优化