m-zhuang

导航

Linux 配置DNS域名解析服务器

1. DNS分布式结构

结构 含义
. 根(全球共13台)
cn. jp. 顶级域
com.cn. com. 就是二级域
baidu.com.cn. baidu. 就是子域(需要购买,全球唯一)

2. 域名解析过程

查询:

本地缓存 ------> dns域名服务器 ------> 根服务器 ------> 顶级域 ------> 二级域 ------> 子域

先查本地的dns缓存,如果没有,到dns域名解析服务器查找,若是还是没有,就到根服务器找,找不到就到顶级域,找不到就去二级域找,找不到再到子域

返回:

查询结果 ------> dns域名服务器 ------> 本地缓存 ------> 用户 ------> ip地址

将返回结果先发送至域名解析服务器,域名解析服务器将结果发送到本地,再发送给用户

迭代:

查询 --- 从根服务器到子域的查询过程

递归:

返回 --- 从dns域名服务器到返回ip地址的过程

3. 解析方式

三种解析方式

正向解析:

从域名解析出ip地址

反向解析:

从ip地址解析出域名

主从服务器解析:

主服务器停止工作,从服务器可以继续承担任务

解析命令:

nslookup 域名/ip地址

可以正向解析也可以反向解析,但需要配置

4. bind 配置服务软件

bind 软件

开源软件

用于内网划分dns

外网地址划分需要注册、付费

内网地址划分不需要注册、免费,方便内部进行访问和使用

服务类型:

根区域 hint

主区域 master

从区域 slave

(1)安装bind软件

# 本地yum源和在线yum源都可以安装
[root@localhost ~]# yum -y install bind

(2)配置文件

① 主区域配置文件

作用:

用于配置服务、配置监听地址

位置:

/etc/named.conf



② 区域配置文件

作用:

指定区域数据文件

位置:

/etc/named.rfc1912.zones

③ 区域数据配置文件

作用:

配置正向及反向解析

位置:

/var/named/named.localhost

5. 配置DNS主服务器

配置主区域文件

# 备份配置文件
[root@localhost ~]# cd /etc
[root@localhost etc]# cp named.conf named.conf.bak20230520

[root@localhost etc]# vim named.conf
	# 将解析服务器主机ip设置为本机的ip地址
	# 允许所有网段的客户机访问

(1)正向解析

① 配置区域文件

# 备份配置文件
[root@localhost ~]# cd /etc
[root@localhost etc]# cp named.rfc1912.zones named.rfc1912.zones.bak 

[root@localhost etc]# vim named.rfc1912.zones
	# 设置域名为 host1.com
	# 类型为master(主区域)
	# 设置区域数据配置文件的文件名

② 配置区域数据配置文件

默认的区域数据配置文件在 /var/named/named.localhost

[root@localhost etc]# cd /var/named
[root@localhost named]# cp -a named.localhost host1.com.zone
[root@localhost named]# vim host1.com.zone 

$TTL 1D
@       IN SOA  host1.com. admin.host1.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      host1.com.
        A       192.168.23.5
www IN  A       192.168.23.10
IN  MX  10      mail.host1.com.
mail IN A       192.168.23.15

        AAAA    ::1

# 重启named服务
[root@localhost named]# systemctl restart named

# 修改DNS域名解析配置文件(192.168.23.5 、23.10 、23.15 主机都要更改)
[root@localhost named]# vim /etc/resolv.conf
	nameserver 192.168.23.5

③ 重启named服务

④ 修改DNS域名解析配置文件(192.168.23.5 、23.10 、23.15 主机都要更改)

⑤ 正向解析检测

(2)反向解析

① 配置区域文件

# 进入区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones
	# 添加反向解析配置
	zone "23.168.192.in-addr.arpa" IN {
        type master;
        file "host1.com.zone.local";
        allow-update { none; };
	};

② 配置区域数据文件

# 创建反向解析区域配置文件
[root@localhost ~]# cd /var/named
[root@localhost named]# cp -a host1.com.zone host1.com.zone.local

# 进入配置反向解析区域配置文件
[root@localhost named]# vim host1.com.zone.local 

$TTL 1D
@       IN SOA  host1.com. admin.host1.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      host1.com.
        A       192.168.23.5
10 IN  PTR      www.host1.com.
15 IN  PTR      mail.host1.com.

        AAAA    ::1

③ 重启named服务

[root@localhost named]# systemctl restart named


④ 修改DNS域名解析配置文件(192.168.23.5 、23.10 、23.15 主机都要更改)

⑤ 反向解析检测

6. 配置DNS从服务器

(1)更改主服务器

# 更改主服务器
[root@localhost ~]# vim /etc/named.rfc1912.zones

	zone "host1.com" IN {
        type master;
        file "host1.com.zone";
        allow-transfer { 192.168.23.20; };
	};


	zone "23.168.192.in-addr.arpa" IN {
        type master;
        file "host1.com.zone.local";
        allow-transfer { 192.168.23.20; }
	};
	
# 重启主服务器named服务
[root@localhost ~]# systemctl restart named


(2)配置从服务器

① 配置主区域配置文件

# 从服务器安装bind软件
[root@localhost ~]# yum -y install bind

# 配置从服务器的主区域配置文件
[root@localhost ~]# vim /etc/named.conf 
	# 监听所有网段的客户机
	# 允许所有网段的客户机访问

② 配置区域配置文件

[root@localhost ~]# vim /etc/named.rfc1912.zones 
	# 添加正向解析和反向解析配置
	zone "host1.com" IN {
       	 type slave;
       	 file "slaves/host1.com.zone";
       	 masters { 192.168.23.5; };
	};


	zone "23.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/host1.com.zone.local";
        masters { 192.168.23.5; };
	};

# 重启named服务
[root@localhost ~]# systemctl restart named



③ 分别配置主、从服务器的DNS配置文件

root@localhost ~]# vim /etc/resolv.conf 
	nameserver 192.168.168.5
	nameserver 192.168.168.20

④ 检验主、从服务器的区域数据配置文件是否同步

[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cd slaves/
[root@localhost slaves]# ls
host1.com.zone  host1.com.zone.local

posted on 2023-05-23 02:37  m_zhuang  阅读(2153)  评论(0编辑  收藏  举报