当前位置: 首页 > news >正文

Linux中通过缓存DNS的解析来提高上网的响应速度!


这几天好不容易细心了一下,发现在用Firefox浏览网页的时候,一开始总会看到左下角有一行提示:

“正在解析主机 xxx ...”

看上去是等待DNS服务器对域名的解析,闲来无事,
于是 决定做个DNS Cache来提高上网速度!

找了找,发现有一个软件符合要求:


[xport@ubuntu ~] $ apt-cache search "dns" | fgrep "cach"
dnsmasq - A small caching DNS proxy and DHCP server



去翻翻资料,设定的步骤如下:

1. 安装dnsmasq:

# 安装dnsmasq的软件包

[xport@ubuntu ~] $ sudo apt-get install "dnsmasq"


2.设定dnsmasq接管本机的DNS解析请求:

# 修改dnsmasq的配置文件

[xport@ubuntu ~] $ sudo gedit /etc/dnsmasq.conf

# 找到下面的内容,并进行修改
# If you want dnsmasq to listen for DHCP and DNS requests only on
# specified interfaces (and the loopback) give the name of the
# interface (eg eth0) here.
# Repeat the line for more than one interface.
# interface=
# Or you can specify which interface _not_ to listen on
# except-interface=
# Or which to listen on by address (remember to include 127.0.0.1 if
# you use this.)
listen-address=127.0.0.1 # 把这一行前面的注释去掉


3.修改dhclient的配置:

# 修改dnsmasq的配置文件

[xport@ubuntu ~] $ sudo gedit /etc/dhcp3/dhclient.conf

# 找到下面的内容,并进行修改
prepend domain-name-servers 127.0.0.1;
# 把这一行前面的注释去掉
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name,
netbios-name-servers, netbios-scope;


4.修改resolv.conf的配置:

[xport@ubuntu ~] $ sudo gedit /etc/resolv.conf

# 注意:我的resolv.conf文件的内容不会因为ADSL拨号而被改写
# 因为dnsmasq会接管本机的DNS解析请求,所以把127.0.0.1的地址放在最前面
nameserver 127.0.0.1
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
search lan


5. 重新开启dnsmasq的服务:

[xport@ubuntu ~] $ sudo /etc/init.d/dnsmasq restart


6. 看看DNS的解析需要的时间,前后2次的数据对比:

[xport@ubuntu ~] $ dig baidu.com #首次执行
... 省略输出信息若干 ...
;; Query time: 8 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 19 20:43:32 2007
;; MSG SIZE rcvd: 229

[xport@ubuntu ~] $ dig baidu.com #再次运行
... 省略输出信息若干 ...
;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Mon Feb 19 20:45:27 2007
;; MSG SIZE rcvd: 59


好了,打完收工~~~!

相关文章:

  • 在linux安装java环境变量配置,在linux安装java环境变量配置
  • linux centos7服务器时间,centos7.2_x64搭建ntp时间服务器
  • 利用ubint安装Linux到u盘,Ubuntu12.04安装到U盘里
  • 大年三神
  • rtl8723BS网卡linux,关于 RTL8723BS 与此同时开启 STA/AP 模式
  • 我为什么选用转码的方式调整码率
  • yunos运行linux程序,YunOS开放平台
  • linux xtrabackup备份恢复,xtrabackup 备份和恢复docker容器内的mysql
  • Free Mind 06年2月 SourceForge 推荐项目
  • linux异常断电检查,linux断电后,出现fsck失败的解决方法
  • 【FreeMind】简介信息
  • 深度Linux怎样关闭休眠,linux内核是如何支持深度睡眠(deep sleep)方式的?
  • Freemind中文汉化版0.8.0b4
  • linux sendmail 实现 outlook 功能,利用sendmail简单实现域内、域间邮件收发(linux5.4)...
  • c语言程序设计国外,有没有了解,国外大学C语言 一般用啥IDE
  • [译]前端离线指南(上)
  • gops —— Go 程序诊断分析工具
  • JAVA_NIO系列——Channel和Buffer详解
  • Javascript 原型链
  • Javascript编码规范
  • JavaScript新鲜事·第5期
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • js算法-归并排序(merge_sort)
  • node入门
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • windows下mongoDB的环境配置
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 欢迎参加第二届中国游戏开发者大会
  • 记一次和乔布斯合作最难忘的经历
  • 深入浅出webpack学习(1)--核心概念
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • 用mpvue开发微信小程序
  • 怎么把视频里的音乐提取出来
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 阿里云服务器购买完整流程
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #NOIP 2014#Day.2 T3 解方程
  • #QT(智能家居界面-界面切换)
  • #stm32驱动外设模块总结w5500模块
  • $L^p$ 调和函数恒为零
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (145)光线追踪距离场柔和阴影
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (SpringBoot)第二章:Spring创建和使用
  • (zt)最盛行的警世狂言(爆笑)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (十一)图像的罗伯特梯度锐化
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转) 深度模型优化性能 调参
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)创业的注意事项