本文由ilanniweb提供友情贊助,首發於爛泥行天下html
想要得到更多的文章,能夠關注個人微信ilanniweb。web
今天咱們來介紹一個比較簡單的DNS服務器dnsmasq。這款軟件,已經被我成功使用到公司的全部虛擬機中,目前公司有虛擬機80臺左右,並且所在的服務器運行正常。如今看來dnsnasq仍是能支持這麼多的機器的,服務器的性能仍是能夠承擔的。vim
dnsmasq是一款小巧且方便地用於配置DNS服務器和DHCP服務器的工具,適用於小型網絡,它提供了DNS解析功能和可選擇的DHCP功能。centos
dnsmasq能夠解決小範圍的dns查詢問題,若是業務是跨機房、跨地區的話不建議使用dnsmasq作爲dns解析服務器。服務器
dnsmasq官網以下:微信
http://www.thekelleys.org.uk/dnsmasq/doc.html網絡
下載dnsmasq地址以下:dom
http://www.thekelleys.org.uk/dnsmasq/工具
經過上圖,咱們能夠看到dnsmasq目前還在持續性更新。性能
dnsmasq的安裝咱們能夠源碼安裝,也能夠直接經過yum和apt-get方式進行安裝,下面對此分別介紹下。
源碼安裝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
yum方式安裝,以下:
yum -y install dnsmasq
dnsmasq -v
apt-get方式安裝,以下:
sudo apt-get -y install dnsmasq
dnsmasq -v
dnsmasq安裝完畢後,如今咱們來配置dnsmasq。
dnsmasq配置選項比較多,咱們能夠根據實際需求來進行配置。下面介紹下,平時最常使用的配置方法。
vim /etc/dnsmasq.conf
resolv-file=/etc/resolv.dnsmasq.conf
strict-order
listen-address=192.168.1.24
address=/ilanni.com/192.168.1.24
server=223.5.5.5
bogus-nxdomain=223.5.5.5
resolve-file定義dnsmasq從哪裏獲取上游DNS服務器的地址, 默認是從/etc/resolv.conf獲取。
在此咱們定義的是從/etc/resolv.dnsmasq.conf文件中得到。
strict-order表示嚴格按照resolv-file文件中的順序從上到下進行DNS解析,直到第一個解析成功爲止。
listen-address定義dnsmasq監聽的地址,默認是監控本機的全部網卡上。
若是想讓局域網內的其餘機器使用dnsmasq解析域名的話,須要添加本機的IP地址。
address自定義域名解析的IP地址,在此已ilanni.com這個域名爲例。注意dnsmasq是支持泛域名解析的,以上配置就是一個典型的泛域名解析實例。
address也能夠過濾某些網站,好比若是不想讓客戶端解析youk.com這個域名的話,咱們這個把該域名解析到一臺不存在的服務器上或者解析到127.0.0.1這個地址。以下:
address=/ilanni.com/127.0.0.1
爲了防止DNS污染,咱們使用bogus-nxdomain定義DNS解析的服務器。
注意:若是在阿里雲服務器上配置dnsmasq,必定要啓用此項。
server這行告訴dnsmasq使用DNS服務器進行解析
咱們也能夠經過server對不通的網站使用不通的DNS服務器進行解析。以下:
server=/google.com/8.8.8.8
以上表示對於google的服務,使用谷歌的DNS解析。
以上配置完畢後,須要重啓dnsmasq服務,重啓完畢後局域網中的其餘機器,就能夠經過該DNS服務器解析公網的域名。
如今咱們切換到客戶端,修改客戶端的dns配置文件。在此已centos6爲例進行講解,以下:
cat /etc/resolv.conf
nslookup ilanni.com
nslookup wwww.ilanni.com
nslookup www.baidu.com
經過上圖,咱們能夠很明顯的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24這臺服務器上,而www.baidu.com已經解析到公網的IP地址。