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

一、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地址来反向解析出域名

七、主从服务器

从服务器的作用是同步主服务器的解析文件[热备]

①修改配置文件

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关闭后

⑤实现主从实时更新

►进入主服务器主配置文件
正向反向解析中添加also-notify { 从IP; };

vim /etc/named.rfc1912.zones
zone "ut.cn" IN {
    
    
        type master;
        file "xx.xx.zone";
        also-notify {
    
     192.168.222.200; };
        allow-transfer {
    
     192.168.222.200; };
};

►进入主服务器解析配置文件
serial 值大于从服务器的即可

$TTL 1D
@       IN SOA  xx.xx. admin.xx.xx. (
                                        2077    ; serial
                                        #默认为0修改它
                                        #不要大于10位数
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      xx.xx.
        A       192.168.222.150
www IN  A       192.168.222.155

八、分离解析

根据不同的客户都安提供不同的域名解析记录

  • 内网用户提供内网IP地址
  • 外网用户提供外网IP地址

在网关服务器提供DNS分离服务

①修改配置文件

vim /etc/named.rfc1912.zones

view "lan"{
    
    
        match-clients {
    
     192.168.222.0/24; };
        zone "cathomeowo.cn" IN {
    
    
                type master;
                file "cathomeowo.cn.zone.lan";
        };

        zone "." IN {
    
    
           type hint;
           file "named.ca";
        };

};

view "wan"{
    
    
        match-clients {
    
     any; };
        zone "cathomeowo.cn" IN {
    
    
                type master;
                file "cathomeowo.cn.zone.wan";
        };
};

②创建内网外网解析文件

cp -p named.localhost cathomeowo.cn.lan

1D
@       IN SOA  cathomeowo.cn. admin.cathomeowo.cn. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      cathomeowo.cn.
        A       192.168.200.100
www IN  A       192.168.200.200


cp -p named.localhost cathomeowo.cn.wan

TTL 1D
@       IN SOA  cathomeowo.cn. admin.cathomeowo.cn. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      cathomeowo.cn.
        A       12.0.0.1
www IN  A       12.0.0.100

③开始验证

进入内网客户机的Linux中

echo "nameserver 192.168.222.100" >> /etc/resolv.conf




进入外网客户机Win10

nslookup www.cathomeowo.cn

排错思路

①从服务器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 服务优化

猜你喜欢

转载自blog.csdn.net/qq_42427971/article/details/113946616
今日推荐