Linux下如何用dnsmasq做dns cache server配置

181次阅读
没有评论

共计 2411 个字符,预计需要花费 7 分钟才能阅读完成。

这篇文章主要介绍“Linux 下如何用 dnsmasq 做 dns cache server 配置”的相关知识,丸趣 TV 小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux 下如何用 dnsmasq 做 dns cache server 配置”文章能帮助大家解决问题。

安装过程比较简单

yum -y install dnsmasq* 
wget http://www.keepalived.org/software/keepalived-1.2.9.tar.gz
tar zxvf keepalived-1.2.9.tar.gz
cd keepalived-1.2.9
./configure --prefix=/usr/local/keepalived
make   make install
mkdir /etc/keepalived
cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/sbin/keepalived /usr/sbin/
chkconfig --add keepalived
chkconfig --level 35 keepalived on

keepalived 的配置很简单,只需要配置一个 vip 可以在两台 server 之间飘来飘去就可以实现主备了

! configuration file for keepalived
 
global_defs {
 notification_email {
 xxx@xxx.com
 }
 notification_email_from xxx@xxx.com
 smtp_server 127.0.0.1
 smtp_connect_timeout 30
 router_id lvs_devel
 
vrrp_instance dnscache {
 state master //  另一台配置 backup
 interface eth1 //  在哪个接口上进行服务器状态检测
 virtual_router_id 51
 priority 180 // backup 机器上配置 100
 advert_int 1 //  检查间隔,单位为秒
 authentication {
 auth_type pass
 auth_pass 1234
 }
 
 virtual_ipaddress { // vip 设置,指定到内网网卡  
 192.168.100.99/24 dev eth1
 }
}

dnsmasq 的配置也很简单

resolv-file=/etc/resolv.dnsmasq.conf
cache-size=1000
conf-dir=/etc/dnsmasq.d

将 dns 地址写入到 /etc/resolv.dnsmasq.conf 文件中

echo nameserver 8.8.8.8 /etc/resolv.dnsmasq.conf

本机和局域网其它全部的服务器 dns 解析都用它

echo nameserver 192.168.100.99 /etc/resolv.conf

最后找一台局域网 server 验证一下,如果能解析就说明正常了.

nslookup www.google.cn 192.168.100.99

此方案只适合小型企业,规模少的情况下使用,解析量大的时候还是用 bind 最好。

下面是其它网友的补充:

复制代码   代码如下:

sudo pacman -s –needed dnsmasq
cd /etc

[admin@huangye etc]$ sudo cp -v dnsmasq.conf{,.orig}
`dnsmasq.conf – `dnsmasq.conf.orig

[admin@huangye etc]$ sudo vim dnsmasq.conf

相比来说,dnsmasq 的配置简单多了:

复制代码   代码如下:

resolv-file=/etc/dnsmasq.resolv.conf
addn-hosts=/etc/dnsmasq.hosts
local=/localnet/
no-dhcp-interface=eth0
conf-dir=/etc/dnsmasq.d

复制代码   代码如下:

[admin@huangye etc]$ sudo cp -v resolv.conf dnsmasq.resolv.conf
password:
`resolv.conf – `dnsmasq.resolv.conf
sudo mkdir /etc/dnsmasq.d
sudo touch /etc/dnsmasq.hosts

sudo /etc/rc.d/dnsmasq start

最后,别忘记加入 rc.conf daemons, 注意要在 network 后面。

dnsmasq 可从额外的 hosts 文件读取条目,如可以这样添加正向解析:

echo ip 地址 域名 /etc/dnsmasq.hosts

另外,重启 dnsmasq 可以用 sighup(可以在修改 hosts 文件后,让配置生效)

 killall -s sighup dnsmasq

查看服务状态:

 netstat -tunl
tcp  0  0 0.0.0.0:53  0.0.0.0:*  listen
udp  0  0 0.0.0.0:53  0.0.0.0:*

关于“Linux 下如何用 dnsmasq 做 dns cache server 配置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注丸趣 TV 行业资讯频道,丸趣 TV 小编每天都会为大家更新不同的知识点。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-14发表,共计2411字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)