爛泥:dnsmasq搭建簡易DNS服務器


本文由ilanniweb提供友情贊助,首發於爛泥行天下

想要獲得更多的文章,可以關注我的微信ilanniweb。

今天我們來介紹一個比較簡單的DNS服務器dnsmasq。這款軟件,已經被我成功使用到公司的所有虛擬機中,目前公司有虛擬機80台左右,而且所在的服務器運行正常。現在看來dnsnasq還是能支持這么多的機器的,服務器的性能還是可以承擔的。

一、dnsmasq簡介

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

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

dnsmasq官網如下:

http://www.thekelleys.org.uk/dnsmasq/doc.html

clip_image001

下載dnsmasq地址如下:

http://www.thekelleys.org.uk/dnsmasq/

clip_image002

通過上圖,我們可以看到dnsmasq目前還在持續性更新。

二、安裝dnsmasq

dnsmasq的安裝我們可以源碼安裝,也可以直接通過yum和apt-get方式進行安裝,下面對此分別介紹下。

2.1 源碼安裝

源碼安裝dnsmasq,從dnsmasq官網下載,如下:

wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.75.tar.gz

clip_image003

yum -y install gcc

clip_image004

tar -xf dnsmasq-2.75.tar.gz

cd dnsmasq-2.75

make install

clip_image005

clip_image006

安裝完畢后,查看下dnsmasq的版本。如下:

dnsmasq -v

clip_image007

2.2 yum和apt-get方式安裝

yum方式安裝,如下:

yum -y install dnsmasq

clip_image008

dnsmasq -v

clip_image009

apt-get方式安裝,如下:

sudo apt-get -y install dnsmasq

clip_image010

dnsmasq -v

clip_image011

dnsmasq安裝完畢后,現在我們來配置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

clip_image012

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

clip_image013

nslookup ilanni.com

nslookup wwww.ilanni.com

nslookup www.baidu.com

clip_image014

通過上圖,我們可以很明顯的看出www.ilanni.com、ilanni.com都解析到了192.168.1.24這台服務器上,而www.baidu.com已經解析到公網的IP地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM