dnsmasq缓存时间
❶ 如何清除dns缓存
DNS 缓存是一个临时数据库,用于存储有关以前的 DNS 查找的信息。换句话说,每当你访问网站时,你的操作系统和网络浏览器都会保留该域和相应 IP 地址的记录。这消除了对远程 DNS 服务器重复查询的需要,并允许你的 OS 或浏览器快速解析网站的 URL。
但是在某些情况下,例如:对网络问题进行故障排除,或者在更改 DNS 解析器之后,你将需要刷新 DNS 缓存。这将清除缓存的 DNS 条目,并根据新配置的 DNS 设置执行后续查找以解析域。
本指南提供有关如何在不同的操作系统和 Web 浏览器上刷新 DNS 缓存的说明。
在 Windows 上清除/刷新 DNS 缓存
对于所有 Windows 版本,清除 DNS 缓存的过程都是相同的。你需要使用管理员权限打开命令提示符并运行 ipconfig /flushdns。
Windows 10 和 Windows 8
要在 Windows 10 和 Windows 8 中清除 DNS 缓存,请执行以下步骤:
在 Windows 搜索栏中键入 cmd 。
右键单击 “命令提示符”,然后右击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。
在命令行上,键入以下行,然后按回车:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
Windows 7
要在 Windows 7 中清除 DNS 缓存,请执行以下步骤:
单击开始按钮。
在开始菜单搜索文本框中键入 cmd。
右键单击 “命令提示符”,然后单击 “以管理员身份运行”。这将打开 “命令提示符” 窗口。
在命令行上,键入以下行,然后按回车:
ipconfig /flushdns
成功后,系统将返回以下消息:
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
在 linux 上清除/刷新 DNS 缓存
在 Linux 上,除非已安装并运行诸如 Systemd-Resolved,DNSMasq 或 Nscd 之类的缓存服务,否则没有操作系统级 DNS 缓存。根据 Linux 发行版和所使用的缓存服务,清除 DNS 缓存的过程有所不同。
系统化解决
大多数现代 Linux 发行版,例如 Ubuntu 18.04,都使用 systemd 解析的服务来缓存 DNS 条目。
要查找服务是否正在运行,请运行:
$ sudo systemctl is-active systemd-resolved.service
如果该服务正在运行,则将打印命令 active,否则将看到 inactive。
要清除系统解析的 DNS 缓存,你需要键入以下命令。
$ sudo systemd-resolve --flush-caches
成功后,该命令不会返回任何消息。
Dnsmasq
Dnsmasq 是轻量级的 DHCP 和 DNS 缓存名称服务器。
如果你的系统使用 DNSMasq 作为缓存服务器,则要清除 DNS 缓存,需要重新启动 Dnsmasq 服务:
$ sudo systemctl restart dnsmasq.service
也可以使用以下命令
$ sudo service dnsmasq restart
NSCD
NSCD 是一个缓存守护程序,它是大多数基于 RedHat 的发行版的首选 DNS 缓存系统。
如果系统使用 NSCD 来清除 DNS 缓存,则需要重新启动 NSCD 服务:
$ sudo systemctl restart nscd.service
或者
$ sudo service nscd restart
在 MacOS 上清除/刷新 DNS 缓存
根据你所运行的版本,在 MacOS 中刷新缓存的命令略有不同。该命令必须以具有系统管理员特权的用户(sudo 用户)身份运行。
要清除 MacOS 中的 DNS 缓存,请执行以下步骤:
打开查找器。
转到应用程序>实用程序>终端。这将打开终端窗口。
在命令行中,输入以下行,然后按回车:
$ sudo killall -HUP mDNSResponder
输入你的 sudo 密码,然后再次按回车。成功后,系统不会返回任何消息。
对于早期版本的 MacOS,刷新缓存的命令不同。
MacOS 版本 10.11 和 10.9
$ sudo dscacheutil -flushcache
$ sudo killall -HUP mDNSResponder
MacOS 版本 10.10
$ sudo discoveryutil mdnsf
❷ 如何搭建一个公共DNS服务器
一、服务器环境
必须为centos6.x的 环境 centos7.x不能按照本教程 centos5.x未测试
二、安装并启动DNSMASQ
yum install -y dnsmasqservice dnsmasq start
三、dnsmasq配置
1、Dnsmasq的配置文件路径为:/etc/dnsmasq.conf
# ll -d /etc/dnsmasq.conf -rw-r--r-- 1 root root 21237 Feb 23 00:17 /etc/dnsmasq.conf
2、编辑/etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf //dnsmasq 会从这个文件中寻找上游dns服务器strict-order //去掉前面的#addn-hosts=/etc/dnsmasq.hosts //在这个目里面添加记录listen-address=127.0.0.1,192.168.1.123//监听地址 如果想对所有计算机服务,则为0.0.0.0
3、修改/etc/resolv.conf
echo 'nameserver 127.0.0.1' > /etc/resolv.conf
4、创建resolv.dnsmasq.conf文件并添加上游dns服务器的地址
touch /etc/resolv.dnsmasq.confecho 'nameserver 119.29.29.29' > /etc/resolv.dnsmasq.conf
5、创建dnsmasq.hosts文件
cp /etc/hosts /etc/dnsmasq.hostsecho 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
提示:resolv.dnsmasq.conf中设置的是真正的Nameserver,可以用电信、联通等公共的DNS。
三、DNSmasq启动
1、设置Dnsmasq开机启动并启动Dnsmasq服务:
chkconfig dnsmasq on/etc/init.d/dnsmasq restart
2、netstat -tunlp|grep 53 查看Dnsmasq是否正常启动:
# netstat -tlunp|grep 53tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 2491/dnsmasq tcp 0 0 :::53 :::* LISTEN 2491/dnsmasq udp 0 0 0.0.0.0:53 0.0.0.0:* 2491/dnsmasq udp 0 0 :::53 :::* 2491/dnsmasq
3、dig smallxu.me,第一次是没有缓存,所以时间是400多
4、第二次再次测试,因为已经有了缓存,所以查询时间已经变成了2.
为了防止故意进行DNS劫持,这里不贴出
四、DNSMASQ的配置
1、本地DNS使用
这里我们本地DNS可以使用服务器中配置的IP,这样我们本机就使用到自己的DNS,备用DNS可以用一个第三方公用DNS。
2、屏蔽网站/广告
vi /etc/dnsmasq.conf
如果我们需要屏蔽某个网站或者广告,可以修改上面的文件
address=/itbulu.com/127.0.0.1address=/smallxu.me/127.0.0.1
比如我希望无法打开这两个网站,就在配置文件中添加指定的IP或者其他劫持的IP,比如我们打开某个网站被指定到其他的服务器或者网站中,就这样被劫持的。同样的,我们也可以将广告目录屏蔽。
添加后 smallxu.me和itbulu.com将会被解析到127.0.0.1
第五、Dnsmasq配置和使用总结
Dnsmasq实际功能不仅仅局限在上面的搭建我们本地需要的DNS服务器功能,如果真就这么简单的用法,那我们也没有必要用一台服务器配置。使用点第三方公共DNS还是没有问题的,有点广告也无妨。
❸ 如何清除linux下DNS缓存
如果系统下有nscd,那么就直接
sudo /etc/init.d/nscd restart
❹ OPENWRT的dnsmasq服务挂了,请问如何才能连接路由器恢复DHCP服务
以下只供参考:
[root@main ~]# cat /etc/dnsmasq.conf
#不读取任何服务器 默认 /etc/resolv.conf 可以使用resolv-file自定义
#使用resolv-file时候也不能使用no-resolv参数
#no-resolv
#server=222.85.85.85
#server=222.88.88.88
#server=8.8.8.8
bogus-priv
#不转发不包含.的查询 因为这些一般都是内网查询
domain-needed
#为早期windows系统设置的兼容选项,避免客户端接收不到公共DNS而弹出新建宽带连接
filterwin2k
#指定DNS服务器
resolv-file=/etc/dnsmasq.resolv.conf
#查询时按文件中的顺序选择dns
strict-order
#添加本地hosts文件
addn-hosts=/etc/dnsmasq.hosts.conf
#不读取hosts文件 默认/etc/hosts 可以使用addn-hosts自定义
#如果不加no-hosts还是会读取/etc/hosts
no-hosts
#注:addn-hosts=/etc/dnsmasq.hosts的优先级大于address=/domain.name/127.0.0.1
#设置缓存条目 如果不缓存使用no-negcache
cache-size=102400
#丢弃并记录域名服务器返回的私有IP地址,防止探测内网的机器
#由于目前部分地址还是使用私有的 所以暂时不起用
#stop-dns-rebind
#允许客户端缓存的时间单位为秒
local-ttl=60
#
neg-ttl=3600
#
max-cache-ttl=600
# 配置日志
log-facility=ar/log/dnsmasq.log
#记录DNS查询
log-queries
# 引入其他配置文件
# Include a another lot of configuration options.
#conf-file=/etc/dnsmasq.more.conf
conf-dir=/etc/dnsmasq.d
[root@main ~]#
❺ 怎么在vps上安装dnsmasq
一、Dnsmasq安装1、执行以下命令在VPS上安装Dnsmasq:
yum install dnsmasq -y
service dnsmasq start
二、Dnsmasq配置
1、Dnsmasq的配置文件是放在 /etc/dnsmasq.conf 中。
2、打开编辑,配置:resolv-file=/etc/resolv.dnsmasq.conf,表示dnsmasq 会从这个指定的文件中寻找上游dns服务器。同时取消 strict-order 前面的注册#号。
3、检查一下no-hosts前面是不是已经有了#号,默认的情况下是有的,dnsmasq 会首先寻找本地的 hosts 文件再去寻找缓存下来的域名, 最后去上游dns 服务器寻找。
4、设置:listen-address=127.0.0.1,表示这个 dnsmasq 本机自己使用有效。注意:如果你想让本机所在的局域网的其它电脑也能够使用上Dnsmasq,应该把本机的局域网IP加上去:listen-address=192.168.1.123,127.0.0.1。注意:如果想允许所有的用户使用你的DNS解析服务器,把listen-address去掉即可。
5、修改好了dnsmasq.conf 后,就可以将它重新上传覆盖原文件了。
6、另外我们还需要修改/etc/resolv.conf这个文件,执行以下命令:
❻ ubuntu访问网络时,DNS解析的过程是咋样的,为什么使用了dnsmasq等工具后,能加速DNS解析呢
DNS客户端在用户输入一个域名的时候,会检查其是否符合DNS命名规则:以点结尾。例如:www.**.com.,但是我们在浏览器输入的时候是不需要输入一个点的是因为浏览器已经帮我们自动加上去了。当如果不满足这个条件的时候,客户端会自动在你输入的域名后面加入后缀,而这个后缀可以通过计算机——>属性可以查看并且设置。然后满足了这个规则之后,客户端会先检查本地的缓存也就是caching,而dnsmasq会提供缓存的作用,所以如果你的缓存中存储了对应的域名和IP地址那么DNS客户端相应用户进行网址查询的速度会更加快捷也是这个原因。
❼ 如何清空linux的DNS缓存
Linux下DNS缓存实现通常有两种方式:
一种是用DNS缓存程序NSCD负责管理DNS缓存。
一种实现DNS缓存则是用Bind来架设Caching Name Server来实现。
清除NSCD
#/etc/init.d/nscdrestart
或者:#servicenscdrestart
或者:#servicenscdreload
如果nscd无法执行,先安装nscd,命令如下:
#apt-getinstallnscd
如果是清除BIND服务器上的CACHE,用这个命令:
#rndcflush
如果你的DNS服务器是用dnsmasq实现的,用下面这个命令:
#/etc/init.d/dnsmasqrestart
❽ 如何刷新dnsmasq服务的缓存
如何清空linux的DNS查询缓存一、Linux下清空DNS缓存Linux下DNS缓存实现通常有两种方式:一种是用DNS缓存程序NSCD(nameservicecachedaemon)负责管理DNS缓存。一种实现DNS缓存则是用Bind来架设CachingNameServer来实现。如果是清除NSCD
❾ 如何清空linux中dns缓存
Linux下DNS缓存实现通常有两种方式:
一种是用DNS缓存程序NSCD(name
service
cache
daemon)负责管理DNS缓存。
一种实现DNS缓存则是用Bind来架设Caching
Name
Server来实现。
如果是清除NSCD上的Cache,可重新启动NSCD服务来达成清除DNS
Cache的效果。用这个命令:
#
service
nscd
restart
或是
#/etc/init.d/nscd
restart
如果是清除BIND服务器上的CACHE,用这个命令:
#
rndc
flush
如果你的DNS服务器是用dnsmasq实现的,用下面这个命令:
$
sudo
/etc/init.d/dnsmasq
restart
注:DNSmasq是一个轻巧的,容易使用的DNS服务工具,它可以应用在内部网和Internet连接的时候的IP地址NAT转换,也可以用做小型网络的DNS服务。