系统:centos6.8_x64
本机IP:172.17.41.243
为了简便直接使用yum安装dnsmasq
1
|
yum install -y dnsmasq
|
安装后编辑配置文件/etc/dnsmasql.cof
1
2
3
4
5
6
7
8
|
cp /etc/dnsmasq.conf /etc/dnsmasq.conf.ori
> /etc/dnsmasq.conf
[root@localhost ~]# cat /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
#listen-address=172.17.41.243
addn-hosts=/etc/sou_hosts
address=/ganmu.com/172.17.41.243
|
简单的进行上述配置即可。
需要注意的是:
1、其中
1
|
listen-address=172.17.41.243
|
如果被注释掉,或为如下形式
1
|
listen-address=172.17.41.243,127.0.0.1
|
则监听所有IP的53端口。此时就算/etc/resolv.conf中未配置任何选项,本机也能ping通
1
|
address=/ganmu.com/172.17.41.243
|
中的ganmu.com网址。
如果启用了下面设置
1
|
listen-address=172.17.41.243
|
即未被注释掉,此时使用ss -tunl命令查看的监听端口是监听所有端口,但是/etc/resolv.conf文件中无论是设置为nameserver 127.0.0.1或者是不设置任何选项,本机都不能ping通/etc/dnsmasq.conf文件中设置都域名。
2、如果想让其他主机通过此主机进行解析,记得要关闭此dnsmasq主机的防火墙,以及selinux
剩下的如果想访问外网,或者想把自己想要的域名解析添加进来,就根据/etc/dnsmasq.conf文件中的配置创建文件
1
2
3
4
5
6
|
cp /etc/resolv.conf /etc/resolv.dnsmasq.conf
[root@localhost ~]# cat /etc/resolv.dnsmasq.conf
nameserver 223.5.5.5
[root@localhost ~]# cat /etc/sou_hosts
172.17.41.243
/etc/init.d/dnsmasq start
|
其中/etc/resolv.dnsmasq.conf中配置的地址的作用是:当dnsmasq查找本机的/etc/hosts和/etc/sou_hosts文件内容后,没有找到域名对应的IP后,就到/etc/resolv.dnsmasq.conf文件中设置的DNS服务器进行解析,解析后返回给dns客户端。
http://blog.51cto.com/ganmu/1960921