|
Dnsmasq 提供 DNS 缓存和 DHCP 服务功能。作为域名解析服务器(DNS),dnsmasq可以通过缓存 DNS 请求来提高对访问过的网址的连接速度。作为DHCP 服务器,dnsmasq 可以用于为局域网电脑分配内网ip地址和提供路由。DNS和DHCP两个功能可以同时或分别单独实现。dnsmasq轻量且易配置,适用于个人用户或少于50台主机的网络。此外它还自带了一个 PXE 服务器。
默认是关闭dhcp功能。
#安装
yum install dnsmasq -y#编辑配置文件/etc/dnsmasq.conf
[root@node dnsmasq.d]# grep -Ev "^$|^[#;]" /etc/dnsmasq.conf
listen-address=10.0.40.246,127.0.0.1
cache-size=10000
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig 默认会从/etc/hosts,/etc/resolv.conf读取文件。
/etc/hosts 会读取到本地域名配置文件(不支持泛域名)
/etc/resolv.conf 会读取上游DNS配置文件,如果读取不到/etc/hosts的地址解析,就会转发给resolv.conf进行解析地址
如果你想使用泛指域名的话,可以在/etc/dnsmasq.d编辑一个配置文件
[root@node dnsmasq.d]# cat /etc/dnsmasq.d/address.conf
address=/xxxlocal.com/10.0.40.247 下面是网上找到的一个例子,仅作参考:
address=/www.taobao.com/127.0.0.1 #正向解析
ptr-record=127.0.0.1.in-addr.arpa,www.taobao.com #反向解析(可选)
address=/baidu.com/127.0.0.1 #泛域名解析 最后可选项:
配置日志轮询
#配置日志轮转,编辑/etc/logrotate.d/dnsmasq
/var/log/dnsmasq.log {
daily
copytruncate
missingok
rotate 30
compress
notifempty
dateext
size 200M
} 重启服务
命令:
systemctl enable dnsmasq
systemctl start dnsmasq
systemctl restart dnsmasq
#查看dnsmasq是否启动正常,查看系统日志:
journalctl -u dnsmasq
测试dns缓存,要测试查询速度,请访问一个 dnsmasq 启动后没有访问过的网站,执行
[root@node ~]# dig archlinux.org | grep "Query time"
;; Query time: 212 msec
[root@node ~]# dig archlinux.org | grep "Query time"
;; Query time: 2 msec 再次运行命令,因为使用了缓存,查询时间应该大大缩短。100倍
参考:
https://wiki.archlinux.org/index.php/Dnsmasq_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
http://www.cnblogs.com/wsl222000/p/5981299.html |
|
|