zoukankan      html  css  js  c++  java
  • DNS-构建域名解析缓存

    情景提要

    在部署服务器时,很多应用程序需要调用域名解析服务,一般通过配置/etc/resolv.conf来指定DNS服务器的IP。但是如果程序发起的请求量较大,那么服务器就容易被这些DNS服务器禁止访问;同时每次都去访问外部DNS服务器,会导致延时增加,遇到网络不好,还会发生解析不成功。因此,需要配置一个透明的DNS解析缓存服务,达到:

    优化DNS响应速度通过缓存DNS的请求结果,后续相同的DNS请求不再通过访问任何外部网络服务器来获得结果,减少了网络延时

    减少DNS对外部环境依赖在缓存的周期内,相同的DNS请求不再发生网络通信行为,可以减少短暂的外部网络不可用导致的影响。

    NSCD(Name Service Caching Daemon,名称服务器缓存进程)安装配置

    安装
    NSCD不需要对应用程序或者是解析器做任何修改,/etc/resovl.conf也不需要做如何变化,对于系统的影响最小,因此,NSCD成为Linux系统中使用最广泛的域名缓存软件。
    在CentOS7.6上安装比较简单,使用yum安装:

      [root@CentOS7 ~]# yum -y install nscd
    

    查看配置
    nscd会缓存三种服务passwd group hosts,所以它会记录三个库,分别对应源/etc/passwd, /etc/hosts 和 /etc/resolv.conf每个库保存两份缓存,一份是找到记录的,一份是没有找到记录的。每一种缓存都保存有生存时间(TTL)。其作用就是在本当中增加cache ,加快如DNS的解析等的速度。nscd的配置文件时/etc/nscd.conf,核心代码是:

        server-name             nscd                      //nscd将作为该用户运行,而不是作为root。如果每个用户都使用一个单独的缓存(-S参数),将忽略该选项。
        debug-level             0                         //设置希望的调试级别。
        paranoia                no
        enable-cache            hosts           yes       //指定对DNS解析进行缓存
        positive-time-to-live   hosts           3600      //对解析成功的DNS结果进行缓存的时间
        negative-time-to-live   hosts           20        //对解析失败的DNS结果进行缓存的时间。例如网络故障导致的DNS解析失败或者请求的DNS条目没有配置等
        suggested-size          hosts           211       //是NSCD内部的哈希表的大小,如果缓存条目数量远大于默认的的211(比如10倍,就修改此值)
        check-files             hosts           yes       //是否检查/etc/hosts文件的变化
        persistent              hosts           yes       //是否在重启NSCD时保留已经缓存的条目
        shared                  hosts           yes       //是否允许客户端直接查询NSCD的内存镜像以获得结果
        max-db-size             hosts           33554432  //是指DNS的缓存大小(以字节为单位)
    

    启动nscd

      [root@CentOS7 ~]# systemctl restart nscd
    

    查看nscd运行状态

      [root@CentOS7 ~]# systemctl status nscd
    

  • 相关阅读:
    P2043 质因子分解
    CODE[VS] 3164 质因数分解
    借过
    CODE[VS] 1165 字符串的展开 || P1098 字符串的展开
    CODE[VS] 1144 守望者的逃离 || P1095 守望者的逃离
    CODE[VS] 2914 吹空调
    AC日记
    AC日记
    山科日记—回文
    山科日记—编写函数myFloor和myCeil(编程题)
  • 原文地址:https://www.cnblogs.com/hxlinux/p/12977083.html
Copyright © 2011-2022 走看看