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