1. 程式人生 > >Cent OS 7配置Dnsmasq

Cent OS 7配置Dnsmasq

DNS Dnsmasq

Dnsmaq介紹:

Dnsmasq是一款小巧且方便地用於配置DNS服務器和DHCP服務器的工具,適用於小型網絡,它提供了DNS解析功能和可選擇的DHCP功能。

Dnsmasq可以解決小範圍的dns查詢問題,如果業務是跨機房、跨地區的話不建議使用dnsmasq做為dns解析服務器。

Dnsmasq官網:http://www.thekelleys.org.uk/dnsmasq/doc.html
Dnsmasq下載地址:http://www.thekelleys.org.uk/dnsmasq/

1:Dnsmasq安裝

Dnsmasq的安裝我們可以源碼安裝,也可以直接通過yum和apt-get方式進行安裝

1.1:源碼安裝

源碼安裝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 -v

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

Cent OS 7配置Dnsmasq