服务器方面

修改linux 本地DNS缓存

2017-12-08  本文已影响7人  我是你军哥

DNS的工作原理

DNS提供的服务是用来将域名转换为IP地址的工作。TCP/IP协议详解中给的定义是:它是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换及有关电子邮件的选路信息。属于应用层协议。

DNS工作流程

DNSProcess.png

在浏览器中输入www.qq.com域名,操作系统DNS进程会检查自己的本地dns缓存,如果存在对应ip,直接告诉浏览器,没有缓存进入下一步

DNS缓存 nscd

ubuntu服务器一般默认安装nscd,nscd(Name Service Cache Daemon)是一种能够缓存 passwd、group、hosts 的本地缓存服务,分别对应三个源 /etc/passwd、/etc/hosts、/etc/resolv.conf。其最为明显的作用就是加快 DNS 解析速度,在接口调用频繁的内网环境建议开启。

首先查看nscd服务是否开启

ps -e |grep nscd

nscd 默认配置文件位置 /etc/nscd.conf

# 日志文件
#logfile        /var/log/nscd.log
# 调试级别
debug-level     5
# 等待请求的线程数
threads         6
# 最大线程数
max-threads     128
# 运行用户
server-user     nscd
paranoia        no
# 禁用passwd缓存
enable-cache    passwd      no
# 禁用group缓存
enable-cache    group       no
# 启用hosts缓存
enable-cache    hosts       yes
# 指定缓存命中项的TTL,单位为s
positive-time-to-live   hosts   5
# 指定缓存未命中项的TTL,单位为s
negative-time-to-live   hosts       20
# 散列表大小
suggested-size  hosts       211
# 启用hosts文件的修改情况检查
check-files     hosts       yes
persistent      hosts       yes
shared          hosts       yes
# 最大缓存库大小
max-db-size     hosts       33554432

通过service nscd start开启
查看nscd dns缓存列表
想添加dns缓存,可以修改本地hosts 在/etc/hosts,保存
通过下面命令查询,是否缓存到本地dns列表

nscd -f hosts
上一篇下一篇

猜你喜欢

热点阅读