Dnsmaq介绍:html
Dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。linux
Dnsmasq能够解决小范围的dns查询问题,若是业务是跨机房、跨地区的话不建议使用dnsmasq作为dns解析服务器。bash
Dnsmasq官网:http://www.thekelleys.org.uk/dnsmasq/doc.html
Dnsmasq下载地址:http://www.thekelleys.org.uk/dnsmasq/服务器
1:Dnsmasq安装
网络
Dnsmasq的安装咱们能够源码安装,也能够直接经过yum和apt-get方式进行安装dom
1.1:源码安装tcp
源码安装Dnsmasq,从Dnsmasq官网下载:
>wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz
>yum -y install gcc
>tar -xf dnsmasq-2.75.tar.gz
>cd dnsmasq-2.75
>make install
安装完毕后,查看下Dnsmasq的版本:
>dnsmasq -vide
1.2:yum和apt-get安装 工具
>yum install dnsmasq测试
2:Dnsmasq配置
Dnsmasq的配置文件路径为:/etc/dnsmasq.conf
>vi /etc/dnsmasq.conf
添加如下内容:
resolv-file=/etc/resolv.dnsmasq.conf //dnsmasq 会从这个文件中寻找上游dns服务器 strict-order //表示严格按照resolv-file文件中的顺序从上到下进行DNS解析,直到第一个解析成功为止。 addn-hosts=/etc/dnsmasq.hosts //在这个文件里面添加要自定义的DNS记录 listen-address=127.0.0.1,192.168.1.123 //监听地址,为localhost和dnsmasq服务器IP server=114.114.114.114 //这行告诉dnsmasq使用DNS服务器进行解析,咱们也能够经过server对不通的网站使用不一样的DNS服务器进行解析,或者国内外网站使用不一样DNS进行解析,如:server=/google.com/8.8.8.8 //指派指定域名使用的DNS服务器 server=/cn/114.114.114.114 server=/taobao.com/114.114.114.114 server=/taobaocdn.com/114.114.114.114 //国外指派指定域名使用的DNS服务器 server=/google.com/223.5.5.5 server=/cn/表示全部的cn域名都使用114这个公共DNS,server=/taobao.com/表示全部的taobao.com域名都用114,223.5.5.5 是阿里云的公共DNS,你能够换成其它的。 bogus-nxdomain=114.114.114.114 //为了防止DNS污染,咱们使用bogus-nxdomain定义DNS解析的服务器。注意:若是在阿里云服务器上配置dnsmasq,必定要启用此项。
建立resolv.dnsmasq.conf文件并添加上游dns服务器的地址:
>touch /etc/resolv.dnsmasq.conf
>echo 'nameserver 114.114.114.114' > /etc/resolv.dnsmasq.conf
建立dnsmasq.hosts文件
>cp /etc/hosts /etc/dnsmasq.hosts //复制本机host并重命名为dnsmasq.hosts
可将须要自定义的DNS添加至此文件中,如:
111.111.111.111 abc.com
222.222.222.222 abc.com
注意:每次添加或修改解析后须要重启Dnsmasq服务才能使解析生效
3:启用Dnsmasq
>systemctl start dnsmasq //启动Dnsmasq
>systemctl enable dnsmasq //开机自动启动Dnsmasq
4:设置防火墙
要想使其余主机使用这个服务器做DNS解析,须要开放53端口或者关闭防火墙
开放53端口
> firewall-cmd --zone=public --add-port=53/tcp --permanent
> firewall-cmd --zone=public --add-port=53/udp --permanent
// --zone //做用域
// --add-port=80/tcp //添加端口,格式为:端口/通信协议
// --permanent //永久生效,没有此参数重启后失效
>systemctl restart firewalld.service //重启防火墙
关闭防火墙:
>systemctl stop firewalld.service //中止firewall
>systemctl disable firewalld.service //禁止firewall开机启动
5:测试
将客户端DNS服务器设置为Dnsmasq服务器IP
Ping abc.com结果以下:
可看法析已经生效
---END---
参考:https://www.olinux.org.cn/linux/990.html