Linux下用dnsmasq做DNS服务器
Eave
2015.04.26 16:49
dnsmasq是一个很实用的小工具,解决局域网的需求看来非常合适,特别是网关和防火墙上。
它同时也可以作为一个dns查询服务器,虽然不如bind等完善,但基本功能也够用了
它可以提供如下几个实用的功能:
1、提供dns服务
2、优先使用本地自定义dns
3、提供dhcp服务
它能解决局域网的如下问题:
1、局域网有很多机器希望使用一份一样的hosts定义一批名称对应的ip,你需要经常维护这份列表
2、你希望局域网的人访问某个域名时,拦截下来到指定的ip,做缓存节省带宽或者其它用途都可以
3、禁止某个域名的正常解析
一、启用Linux的ip转发功能
编辑/etc/sysctl.conf文件
查找
net.ipv4.ip_forward = 0
修改为
net.ipv4.ip_forward = 1
使配置生效
sysctl -p
二、安装dnsmasq
yum -y install dnsmasq
三、修改配置文件
vim /etc/dnsmasq.conf
四、修改以下两处配置
# DNS服务器的地址
resolv-file=/etc/resolv.conf
# IP以及与IP相对应的域名
addn-hosts=/etc/hosts
五、删除多余的文件夹
rm -rf /etc/dnsmasq.d
六、设置开机启动dnsmasq
systemctl enable dnsmasq.service
将IP以及与IP相对应的域名写入/etc/hosts,重启dnsmasq服务。
将路由器的DNS地址改为该服务器的IP地址,这样就可以不用改变本地的hosts文件来访问部分域名了。
systemctl start dnsmasq.service