1. dnsmasq简介
DNSmasq是一个小巧且方便地用于配置DNS和DHCP的工具,它提供了DNS功能和可选择的DHCP功能,它服务那些只在本机和局域网可用的域名,这些域名是不会在全球的DNS服务器中出现的,既不能通过外网访问。本文主要实现:使用dnsmasq通过缓存来加速dns解析,提高上网速度,以及比hosts更强大的域名重定向功能,为在本机测试二级域名提供了很大的方便。
2. dnsmasq安装
1 |
sudo apt-get install dnsmasq |
3. dnsmasq配置
(1)dnsmasq的配置文件为/etc/dnsmasq.conf,编辑该文件,添加:
listen-address=127.0.0.1
cache-size=150
(2)添加新的DNS服务器
1 |
sudo vim /etc/resolv .conf |
最上面添加 nameserver 127.0.0.1
就可以使用127.0.0.1即本地的dnsmasq作为dns服务器了。dnsmasq默认会使用/etc/resolv.conf中的nameserver来作为自己的上游dns服务器,你也可以自己指定dns服务器,
(3)用dnsmasq代替hosts文件
普通hosts文件配置很方便,但是不支持通配符,像*.app.com 192.168.x.x是不可以的,但dnsmasq是支持的,编辑dnsmasq.conf,添加:address=/.tuli.com/192.168.x.x
4. 启动,重启,终止dnsmasq
1 2 3 |
sudo /etc/init .d / dnsmasq start sudo /etc/init .d / dnsmasq stop sudo /etc/init .d / dnsmasq restart |
5. 测试重定向
打开浏览器,输入www.app.com alexzhou.app.com xxx.app.com等,结合nginx做反向代理就可以成功的打开应用了。
6. 测试dns缓存
1 2 3 4 5 6 7 8 9 10 11 12 13 |
dig www.google.com ...... ;; Query time : 205 msec ;; SERVER: 127.0.0.1 #53(127.0.0.1) ;; WHEN: Thu Aug 16 13:39:03 2012 ;; MSG SIZE rcvd: 478 dig www.google.com ...... ;; Query time : 0 msec ;; SERVER: 127.0.0.1 #53(127.0.0.1) ;; WHEN: Thu Aug 16 13:39:07 2012 ;; MSG SIZE rcvd: 46 |
第一次Query time:205毫秒,第二次0毫秒,dns解析速度明显提升。
ps:dig命令是一个用于查询 DNS 域名服务器的工具,它执行 DNS 搜索,显示从受请求的域名服务器返回的信息,在 unix 和 linux 下,建议使用 dig 命令来代替 nslookup。
Leave a reply