您的位置:首页 > 运维架构 > Linux

centos7.3安装dnsmasq

2017-10-30 20:25 302 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux dns dnsmasq