Linux系统管理实战-DNS

发布时间 2023-08-09 17:01:50作者: Boldcc

DNS

域名解析

DNS(domain name system)
解析方式
1.本地解析
/etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

2.使用DNS服务器      domain name server/service/system
      了解 : 解析方式先后顺序 nsswitch.conf

客户端设置(指定)DNS:
#vim /etc/resolv.conf

域名空间
. 根域
---------------------------------------------------------------------------------------------------
​ (职能) com gov org edu (国家) cn us uk hk 顶级域名 (一级域名)
​ | |
​ qianfeng tigerfive 二级域名
​ | |
​ ftp www 主机名称

ftp.qianfeng.com
   ftp是主机名称
   qianfeng.com    域名  

FQDN
​ Fully Qualified Domain Name 完全合格域名,比如:www.baidu.com.

查询方式
1.递归查询 直接把结果给客户端
2.迭代查询 如果知道结果,把结果告诉客户端,如果不知道结果会把查询转发到下一台DNS服务器

缓存dns服务器

域名服务器的权威性:
权威名称服务器
有区域配置文件
非权威名称服务器
cache only

dns解析过程
www.qianfeng.com
client拿到域名之后,首先访问/etc/hosts 文件
/etc/resolv.conf 里边记录dns 202.106.0.20

com
qianfeng

DNS服务器知识点:
SOA 记录:起始授权记录
NS 记录:指定管理某一个域的服务器是谁子域授权
A 记录:正向解析 把域名解析成ip
PTR 记录:反向解析 (自己作实验) 为保证mail服务器的安全性
MX 记录:指定邮件服务器 会添加A记录
CNAME:别名
泛域名解析

负载均衡
主从
主DNS master
有自己的区域配置文件
从DNS slave
没有自己的区域配置文件,他的区域配置文件是从主DNS缓存过来的
只缓存
也是一台dns,没有自己的区域配置文件
转发
有自己的区域配置文件,如果收到自己解析不了的请求会转发到其他DNS

全球13 台DNS 根服务器分布:
    美国VeriSign 公司 2 台
    网络管理组织IANA(Internet Assigned Number Authority) 1 台
    欧洲网络管理组织RIPE-NCC(Resource IP Europeens Network Coordination Centre)1 台
    美国PSINet 公司 1 台
    美国ISI(Information Sciences Institute) 1 台
    美国ISC(Internet Software Consortium) 1 台
    美国马里兰大学(University of Maryland) 1 台
    美国太空总署(NASA) 1 台
    美国国防部 1 台
    美国陆军研究所 1 台
    挪威NORDUnet 1 台
    日本WIDE(Widely Integrated Distributed Environments)研究计划 1 台

配置DNS - 正向解析

正向解析:由域名到IP
反向解析:由IP到域名

环境准备:
DNS服务端: 192.168.10.11
客户端:	192.168.10.10
1 安装软件
    # yum install bind -y

2 修改主配置文件
    # vim /etc/named.conf
        options {
           listen-on port 53 { any; };
           allow-query     { any; };
        };
       zone "mynet.com" IN {               #正向解析"mynet.com"
        type master;                         #类型为主区域
        file "mynet.com.zone";        #指定区域数据文件为  mynet.com.zone  ,
                                                #数据配置文件 默认在 /var/named/ 目录下。文件>记录了 主机名和ip地址的映射关系 
        allow-update { none; };
};

3 编写区配置文件
    # cd /var/named/
    # cp -p named.localhost  mynet.com.zone  
 $TTL 1D                                                               #有效解析记录的生存周期
@       IN SOA  mynet.com.  admin.mynet.com. (                        # @ 表示变量,代表当前DNS 区域名
                                                                      #  mynet.com.  域名是要完整合格域名 "." 不可以少
                                                                     #  admin.mynet.com  管理员邮箱
                                                                                                                                           
                                        0       ; serial             # 更新序列号,可以是 10位数 以内的整数。主从服务器不可以一样
                                        1D      ; refresh            # 刷新时间,重新下载地址数据的间隔
                                        1H      ; retry              # 重试延时,下载失败后的重试间隔
                                        1W      ; expire             # 失效时间,超过该时间仍无法下载则放弃
                                        3H )    ; minimum            # 无效解析记录的生存周期
                                        
              NS         mynet.com.                      # NS 用于记录当前区域的 DNS 名称, 使用完整合格域名
              A          192.168.23.11                   # 记录 主机的 IP 地址, 也就是 服务器IP 地址     
www  	IN    A          192.168.23.10                     # 设置正向解析 www.mynet.com  对应的 IP
mail    IN    A          192.168.23.11                     # 设置正向解析 mail.mynet.com  对应的 IP
ftp     IN    CNAME      www                               # CNAME 使用别名 ,设置 ftp 是www 的别名
*       IN    A          192.168.23.12                     # 泛域名解析,"*" 代表任意主机名 ,代表除了上面设置的主机名,其他主机名


    
    
    资源记录:
    NS - 用来指定操作的DNS服务器主机名称,NS记录是不允许用主机IP地址来表示的
    SOA - 标记权威记录的开始
    A - IPV4正向解析记录
    AAAA - IPV6正向解析记录
    MX - 邮件服务器主机记录
    CNAME - 别名
    PTR - 反向解析记录

    主机名       A            IPv4 的 IP 位址
    主机名       AAAA     IPv6 的 IP 位址
    IP位址       PTR        主机名+域名
    别名          CNAME   主机名
    
    例:
        www IN A 122.128.109.86
        news IN AAAA CDCD:910A:2222:5498:8475:1FF1:3900:2027
        86     IN PTR www.qf.net.
        ftp    IN CNAME www
    
4 检查文件是否有语法错误
    # named-checkconf
    # named-checkzone  .com   /var/named/.com.zone
    
5 启动服务
    # systemctl start named
6 客户端验证
 # vim  /etc/resolv.conf
   nameserver 192.168.10.11             #指定dns服务器
 # host www.qf.com
www.qf.com has address 192.168.23.10

配置文件详细解析

1、软件安装  
    # yum install bind  -y
        bind:服务器端软件
  -----------------------------------------------
        bind-chroot:牢笼软件
        主: /var/named/chroot/etc/named.conf
         zone:  /var/named/chroot/var/named/
         
2、配置文件    
   主配置文件:/etc/named.conf
   区配置文件在:/var/named/
    
 配置文件模板所在位置:
    /usr/share/doc/bind-9.8.2/sample

3、使用的协议及端口
    tcp 53:主要用于主从同步,需要的是可靠的数据传输
    udp 53:主要用于客户端查询域名
    
4、配置文件简介
    # grep -v ^\/ /etc/named.conf  | grep -v ^$
    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; };         #允许哪些客户端进行查询,可写成any,172.16.0.0/16等形式	             
	    recursion yes;                                  #允许递归查询
	    dnssec-enable yes;                          #启用dns安全策略
	    dnssec-validation yes;                    #启用dns的valid安全策略
	    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";             #包含的密钥文件

排错

c/s架构
client    server
b/s架构
browser   server

1.防火墙/selinux
  硬件防火墙/云安全
  端口转发   地址转发   统计服务流量
  
   安全和性能成反比

   100G网卡
   100000M      
     (OPA)          


2.配置
        权限
        配置文件
                空格
                 .   "   '  `  
                顶格
3.网络能否通

4.服务状态

5.看错误日志
        启动服务的时候
          #systemctl  status   服务名称   -l
          #journalctl -xeu 服务名称
        看/var/log/messages和服务本身的独立日志
                
6.问问题
    干什么
    
7.配置