|
|
安装
配置
先把配置文件备份一份
- $ cp /etc/dnsmasq.conf /etc/dnsmasq.conf_bak
复制代码
dnsmasq的配置在配置文件中都有详细的说明,你可以通过阅读配置文件的注释更改自己想要的配置,我只是想做泛解析,所以我的配置如下:
- $ vim /etc/dnsmasq.conf
- # 严格按照resolv-file文件中的顺序从上到下进行DNS解析, 直到第一个成功解析成功为止
- strict-order
- # 监听的IP地址
- listen-address=127.0.0.1
- # 设置缓存大小
- cache-size=10240
- # 泛域名解析,访问任何baidu.com域名都会被解析到6.6.6.6
- address=/baidu.com/6.6.6.6
复制代码
域名解析默认读取/etc/hosts文件到本地域名配置文件(不支持泛域名)
DNS配置默认读取/etc/resolv.conf上游DNS配置文件,如果读取不到`/etc/hosts`的地址解析,就会转发给resolv.conf进行解析地址
DNS配置文件
- $ vim /etc/resolv.conf
- # 这些都是常用的DNS,可以配置很多
- nameserver 127.0.0.1 # 一定要放在第一个
- nameserver 8.8.8.8
- nameserver 8.8.4.4
- nameserver 1.1.1.1
复制代码
启动服务
- $ systemctl enable --now dnsmasq
复制代码
测试
- $ ping baidu.com
- PING baidu.com (6.6.6.6) 56(84) bytes of data.
- ^C
- --- baidu.com ping statistics ---
- 2 packets transmitted, 0 received, 100% packet loss, time 1000ms
- $ ping www.baidu.com
- PING www.baidu.com (6.6.6.6) 56(84) bytes of data.
- ^C
- --- www.baidu.com ping statistics ---
- 2 packets transmitted, 0 received, 100% packet loss, time 999ms
- $ ping pan.baidu.com
- PING pan.baidu.com (6.6.6.6) 56(84) bytes of data.
- ^C
- --- pan.baidu.com ping statistics ---
- 2 packets transmitted, 0 received, 100% packet loss, time 999ms
复制代码
由上可以看到,几乎访问任何baidu.com的域名都会被解析到6.6.6.6,基本上就达到了我们最初的目的。
缓存(FQ有加成)
dnsmasq还有一项非常有用的功能就是可以对已经解析过的域名进行缓存,下次在访问这个域名的时候就可以直接返回IP地址,而不再需要经过DNS查询,这对于扶墙的来说,其实也算是一点优化,默认已经配置好了,我们只需要来演示下缓存的效果
安装dig工具
- $ yum install bind-utils -y
复制代码
演示
- $ dig www.centos.com | grep "Query time"
- ;; Query time: 88 msec
- $ dig www.centos.com | grep "Query time"
- ;; Query time: 0 msec
- $ dig www.centos.com | grep "Query time"
- ;; Query time: 0 msec
- $ dig www.centos.com | grep "Query time"
- ;; Query time: 0 msec
- $ dig www.有图比.com | grep "Query time"
- ;; Query time: 28 msec
- $ dig www.有图比.com | grep "Query time"
- ;; Query time: 0 msec
- $ dig ** | grep "Query time"
- ;; Query time: 71 msec
- $ dig ** | grep "Query time"
- ;; Query time: 0 msec
复制代码
看看上面的对比,查询时间缩小了不少倍,可见缓存已经产生作用。

第一次发技术贴,不知道markdown好难受。 |
|