已经研究过bind的缓存dns服务器,今天研究下了dnsmasq的dns缓存,发现dnsmasq的配置上要简单得多,比bind上复杂的配置要让新手好上手些,毕竟是本地用太麻烦以后不好维护,好了。看操作吧。 系统:CentOS 5.4 ip:192.168.1.166 需要的软件:dnsmasq 1.安装dnsmasq(centos可以直接用yum安装,或者直接在光盘里找) yum -y install Dnsmasq
2.配置 cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak vi /etc/dnsmasq.conf
dnsmasq.conf里的内容: #找到 #resolv-file= #改为 resolv-file=/etc/resolv.dnsmasq.conf 保存退出后 cp /etc/resolv.conf /etc/resolv.dnsmasq.conf vi /etc/resolv.conf 只保留一条记录: nameserver 127.0.0.1 再修改resolv.dnsmasq.conf vi /etc/resolv.dnsmasq.conf 添加 nameserver 8.8.8.8 当然你也可以添加opendns的地址,这个看个人习惯.
3.启动 chkconfig dnsmasq on;service dnsmasq start
4.修改iptables配置 iptables -t nat -A PREROUTING -i eth0 -p upd --dport 53 -j REDIRECT --to-port 53 上面这句是转发eth0接口的域名解析,然后再把53端口开启,不然内网的域名解析都会发不出去. iptables -A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT iptables -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 53 -j ACCEPT service iptables save;service iptables restart
5.验证 好了可以找台Windows电脑,在dns服务器地址里加上192.168.1.166,删除其他的dns这样避免解析不准确性.
ps:最后大家可以去试试双网卡搭建dnsmasq,其中一个ip是内网,另外一个ip是公网的做法.