场景介绍:由于之前使用的阿里云的privatezone,如果主机都在阿里云还挺方便的,不过最近要搞迁移到IDC机房,所以还是需要本地的一个DNS解析服务器。
Dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。
它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了。
它可以提供如下几个实用的功能:
1 提供dns服务
2 优先使用本地自定义dns
3 提供dhcp服务
解决一下问题
1 局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表,可以使用saltstack同步所以minion的hosts。
2 你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3 禁止某个域名的正常解析
dnsmasq安装、配置、域名解析、域名屏蔽等内容
主机定为:192.168.23.4
1.安装dnsmasq:
yum install dnsmasq -y
2.修改系统配置文件
echo 'nameserver 127.0.0.1' > /etc/resolv.conf
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf
echo 'nameserver 202.106.0.20' > /etc/resolv.dnsmasq.conf
cp /etc/hosts /etc/dnsmasq.hosts
3.dnsmasq配置
dnsmasq的配置文件为/etc/dnsmasq.conf,编辑该文件,添加内容如下:
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak #先做个备份
echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf
echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf
4.添加开机启动并启动服务
chkconfig dnsmasq on
/etc/init.d/dnsmasq restart
验证服务器已启动
netstat -tunlp|grep 53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 10246/dnsmasq
udp 0 0 0.0.0.0:53 0.0.0.0:* 10246/dnsmasq
确认服务启动后,就可以将客户端PC的DNS服务器指向dnsmasq服务器(注意iptables),可以正常访问网络页面为正常!
5.测试
把dnsmasq服务器的dns指向公网的DNS
再把其他内网的主机的dns指向这个我们刚搭建的dnsmasq