Liunx配置DNS服务器

    技术2023-10-17  75

    配置DNS服务器

    1.DNS服务器简介2.DNS服务器安装3.BIND配置文件详解4.DNS服务器操作5.options全局配置段

    1.DNS服务器简介

    主机名、域名及域名系统

    TCP/IP应用在网络层都是基于IP协议的,但不论是32位二进制,还是4组十进制,IP地址都难以记忆,所以用户很少使用IP地址来访问主机,一般采用更容易记忆的字符串来指代IP地址,这种特殊用途的字符串被称为域名,域名属于互联网上的基础服务,基于域名可以提供WWW、EMAIL、FTP等应用服务.

    域名系统层次结构

    子域名是个相对的概念,是相对父域名来说的,父域名的下一级就是子域名

    FQDN(完全合格域名) 域名服务器类型

    本地域名服务器 ==> 主DNS根域名服务器 ==> 从DNS授权域名服务器 ==> 转发服务器

    授权制 DNS域名解析的过程 递归查询: 迭代查询:

    www.google.com域名的完整解析过程:

    1.客户机向本地DNS发送解析www.google.com请求。 2.当本地DNS收到请求后,就先查询本地的缓存。如果有查询的DNS信息记录,则直接返回查询的结 果。如果没有该记录,本地DNS就把解析www.google.com请求发给根域名服务器。 3.根域名服务器收到请求后,根据完全正式域名FQDN,判断该域名属于com域,查询所有的com域DNS 服务器的信息,并返回给本地DNS 4.本地DNS 收到回应后,先保存返回的结果,再选择一台com域的域名服务器,向其提交解析域名www.google.com的请求。 5.com域名服务器接收到该查询请求后,判断该域名属于google.com域,通过查询本地的记录,列出管理google域的域名服务器信息,然后将查询结果返回给本地DNS 。 6.本地DNS收到回应后,先缓存返回的结果,再向google.com域的服务器发出请求解析域名www.google.com的数据包。 7.域名服务器google.com收到请求后,查询DNS记录中的www主机的信息,并将结果返回给本地DNS 。 8.本地DNS将返回的查询结果保存到缓存,并且将结果返回给客户机。

    DNS的查询模式

    按照DNS搜索区域的类型,DNS的区域分为:

    正向搜索:是DNS服务器实现的主要功能,它根据域名解析出对应的IP地址;反向搜索:是根据IP地址解析出对应的域名

    2.DNS服务器安装

    DNS服务器安装:

    获得bind软件包

    Bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain,它是一款非常常用的DNS开源服务器,全球有90%的DNS用BIND实现,支持Linux平台和windows平台。

    bind软件包的安装方式有两种:

    利用rpm格式的安装包直接安装利用源代码编译安装

    3.BIND配置文件详解

    认识BIND的配置文件:

    样本文件的位置及名称作用全局配置文件:/etc/named.conf样本:named.caching-nameserver.conf设置一般的name参数,指向该服务器使用的域数据库的信息源区域配置文件:/etc/named.rfc1912.zones用于定义各解析区域特征的文件正向解析数据库文件样本:/var/named/localdomain.zone将域名映射为IP地址的文件反向解析数据库文件样本:/var/named/named.local将IP地址映射为域名的文件根域地址数据库文件:/var/named/named.ca记录了Internet中13台根域服务器的IP地址等相关信息

    注意:这些文件的权限一定要设置成 root:named

    4.DNS服务器操作

    启动/停止/重启/重载/查询DNS服务:

    service named start|stop|restart|reload|status

    5.options全局配置段

    (1) listen-on port 53: 设置named服务绑定的IP和监听的端口。默认监听服务器上所有IP地址的53号端口。 (2) directory “/var/named”: 定义区域配置文件所在的路径 (3)dump-file “/var/named/data/cache_dump.db”: 指定域名缓存文件。 (4)statistics-file “/var/named/data/named_stats.txt”: 统计信息文件。如果没有指定,默认为named.stats (5) memstatistics-file “/var/named/data/named_mem_stats.txt”: 服务器输出的内存使用统计文件。如果没有指定,默认为named.memstats (6) allow-query { localhost ; }:指定允许查询该DNS服务器的客户端IP地址或网络 {}中可指定允许查询的IP地址或网络地址列表,地址间用分号分隔。若不配置该项,则默认所有主机均可以查询。 可使用地址匹配符来表达允许的主机。

    any匹配所有IP地址,none不匹配任何IP地址localhost匹配本地主机localnets匹配本地网络。 比如:若仅允许127.0.0.1和192.164.164.0/24网段的主机查询该DNS服务器,则配置命令为: allow-query{127.0.0.1;192.164.164.0/24;}; (7) recursion yes | no: 是否允许为客户机进行递归查询。如果客户端提交的FQDN本服务器没有,那么服务器会帮助客户端去查询 (8) allow-transfer { 192.168.0.13; }: 指定允许传输的辅助DNS的IP地址 (9) dnssec-enable yes: DNS加密 (10) dnssec-validation yes: DNS加密高级算法 (11) dnssec-lookaside auto: DNS加密的相关内容 (12) bindkeys-file "/etc/named.iscdlv.key": 加密用的密钥key (13) managed-keys-directory "/var/named/dynamic": (14) include “/etc/named.rfc1912.zones”: 定义将指定的区域配置文件包含进当前文件

    Logging配置段——为域名服务器配置日志选项

    channel default_debug { file “data/named.run”; severity dynamic; };

    channel短语对应于输出方式、格式选项和分类级别写入工作目录下的named.run 文件;按照服务器当前的debug 级别记录日志

    知识准备

    DNS服务及域名空间DNS域名解析的过程DNS服务器的类型与hosts文件
    Processed: 0.010, SQL: 9