Linux 操作系统“named”服务

named 服务说明

命名服务 named 执行 DNS(动态名称服务)服务器守护进程。
它将主机名转换为 IP 地址,反之亦然。
有几种不同类型的 DNS 服务器,例如主服务器、从服务器和缓存服务器等。
其数据存储在目录 /var/named 中。

域名系统 (DNS) 是分层的分布式数据库。
它存储用于将 Internet 主机名映射到 IP 地址(反之亦然)的信息、邮件路由信息以及 Internet 应用程序使用的其他数据。

存储在 DNS 中的数据由域名标识,这些域名根据组织或者管理边界组织成树。
树的每个节点(称为域)都有一个标签。
节点的域名是节点到根节点路径上所有标签的串联。
这以书面形式表示为从右到左列出并用点分隔的一串标签。
标签只需要在其父域内是唯一的。

出于管理目的,名称空间被划分为称为区域的区域,每个区域从一个节点开始,向下延伸到叶节点或者其他区域开始的节点。
每个区域的数据都存储在名称服务器中,该服务器使用 DNS 协议回答有关区域的查询

客户端通过调用解析器库在 DNS 中查找信息,解析器库将查询发送到一个或者多个名称服务器并解释响应。
BIND 9 软件发行版包含名称服务器和解析器库。
此服务通常不在服务器上使用,因为大多数服务器并未指定为 DNS 服务器。
一个组织通常只实施少量的 DNS 服务器。
对于 DNS 客户端使用,只需配置 /etc/resolve.conf,DNS 客户端不需要此守护程序。

配置named

命名服务named很复杂,无法在此处详细描述。
/etc/named.conf 是named 的配置文件。
语句用大括号括起来并以分号结束。
语句中的子句也以分号结尾。
下面是一个名为.conf 文件的示例。

# cat /etc/named.conf 
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference bananaal (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html
options {
	listen-on port 53 { 127.0.0.1; };
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
	statistics-file "/var/named/data/named_stats.txt";
	memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { localhost; };
	/* 
	 - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
	 - If you are building a RECURSIVE (caching) DNS server, you need to enable 
	   recursion. 
	 - If your recursive DNS server has a public IP address, you MUST enable access 
	   control to limit queries to your legitimate users. Failing to do so will
	   cause your server to become part of large scale DNS amplification 
	   attacks. Implementing BCP38 within your network would greatly
	   reduce such attack surface 
	*/
	recursion yes;
	dnssec-enable yes;
	dnssec-validation yes;
	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";
	managed-keys-directory "/var/named/dynamic";
	pid-file "/run/named/named.pid";
	session-keyfile "/run/named/session.key";
};
logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};
zone "." IN {
	type hint;
	file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
更多: zhilu jiaocheng

服务控制

该服务由 init.d 脚本 /etc/init.d/named 处理。
其用法如下:

# /sbin/service named
Usage: /etc/init.d/named {start|stop|status|restart|condrestart|reload|probe}

启动named服务如下:

# /sbin/service named start
Starting named:                                            [  OK  ]

停止named服务如下:

# /sbin/service named stop
Stopping named:                                            [  OK  ]

检查服务是启动还是停止:

# /sbin/service named status

像这样重新启动服务:

# /sbin/service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

如果服务已启动,则重新启动它;否则什么都不做。

# /sbin/service named condrestart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

重新加载named服务:

# /sbin/service named reload
Reloading named:                                           [  OK  ]

使用 /usr/sbin/rndc 命令探测服务状态

# service named probe
start

查询named服务的运行级别信息:

# /sbin/chkconfig --list named
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off
日期:2020-09-17 00:14:36 来源:oir作者:oir