最新dnsmasq安裝部署詳解(centos6)

介紹Dnsmasq

Dnsmasq是一個很實用的小工具,解決局域網的需求看來非常合適,特別是網關和防火牆上。

它同時也可以作爲一個dns查詢服務器,雖然不如bind等完善,但基本功能也夠用了。


它可以提供如下幾個實用的功能:

1 提供dns服務

2 優先使用本地自定義dns

3 提供dhcp服務


能有效解決區域網問題如下:

1 局域網有很多機器希望使用一份一樣的hosts定義一批名稱對應的ip,你需要經常維護這份列表

2 你希望局域網的人訪問某個域名時,攔截下來到指定的ip,做緩存節省帶寬或者其它用途都可以

3 禁止某個域名的正常解析


本文主要講述dnsmasq 安裝、配置、域名解析、域名屏蔽等內容


1.安裝dnsmasq:

yum install dnsmasq -y


喜歡編譯安裝的,可以訪問下面的連接下載源碼文件!

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


2.修改系統配置文件


echo 'nameserver 127.0.0.1' > /etc/resolv.conf


cp /etc/resolv.conf /etc/resolv.dnsmasq.conf

echo 'nameserver 8.8.8.8' > /etc/resolv.dnsmasq.conf

echo 'nameserver 202.106.0.20' > /etc/resolv.dnsmasq.conf


cp /etc/hosts /etc/dnsmasq.hosts


3.dnsmasq配置

dnsmasq的配置文件爲/etc/dnsmasq.conf,編輯該文件,添加內容如下:

cp /etc/dnsmasq.conf /etc/dnsmasq.conf.bak #先做個備份


echo 'resolv-file=/etc/resolv.dnsmasq.conf' >> /etc/dnsmasq.conf

echo 'addn-hosts=/etc/dnsmasq.hosts' >> /etc/dnsmasq.conf


4.添加開機啓動並啓動服務

chkconfig dnsmasq on

/etc/init.d/dnsmasq restart


驗證服務器已啓動!@

[root@master ~]# netstat -tunlp|grep 53

tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 10246/dnsmasq

udp 0 0 0.0.0.0:53 0.0.0.0:* 10246/dnsmasq


確認服務啓動後,就可以將客戶端PC的DNS服務器指向dnsmsq服務器(注意iptables),可以正常訪問網絡頁面爲正常!


5.測試

[root@cn-ptmind ~]# dig www.ptmind.com

中間省略。。。。。

;; Query time: 50 msec #首次查詢域名使用50Mms!!!!

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Tue Oct 8 12:51:50 2013

;; MSG SIZE rcvd: 48


[root@cn-ptmind ~]# dig www.ptmind.com

中間省略。。。。。

;; Query time: 0 msec #再次查詢域名使用0Mms,說明已經緩存!!!!!!!!

;; SERVER: 127.0.0.1#53(127.0.0.1)

;; WHEN: Tue Oct 8 12:51:53 2013

;; MSG SIZE rcvd: 48


6.域名解析、域名解析

只需要在配置文件下面添加一條address即可!

root@cn-ptmind ~]# vi /etc/dnsmasq.conf


resolv-file=/etc/resolv.dnsmasq.conf

addn-hosts=/etc/dnsmasq.hosts


address=/kkk.ptmind.com/118.126.32.53 #隨便寫一條不存在的域名,指向我們的一個頁面!

重啓服務後在客戶端瀏覽器訪問,發現打開頁面是指定頁面。


通過此方法可以實現泛域名解析、屏蔽等,這是hosts不可能實現的。

例如輸入*.domain.name->127.0.0.1則將會把所有domain.name下的域名都指向127.0.0.1,從而實現過濾功能。

小提示:

例如過濾時輸入*.it168.com->127.0.0.1,那麼不管我們訪問wireless.it168.com還是safe.it168.com都將被過濾掉而無法順利顯示相應頁面。

而編輯HOSTS時我們則需要針對wireless.it168.com和safe.it168.com兩個地址添加兩個不同的條目才能實現過濾規則。


如同我們配置本地hosts文件屏蔽廣告一樣,也可以在這裏配置

域名解析屏蔽廣告----當然你要把dns服務器地址設成它而非直接ISP的。

比起本地hosts來

1. 配置一次,內網所有機器各種系統都生效

2. 可以實現泛域名解析,這用hosts是不可能的


【ps: addn-hosts=/etc/dnsmasq.hosts的優先級大於address=/domain.name/127.0.0.1】

這樣*.domain.name都會解析到127.0.0.1

需要新的就多加一行address=....格式一樣


#參考內容

http://i.sohu.com/p/=v2=ba5A9mcsmz94lMM3h29odS5jb20=/blog/view/204438336.htm

http://blog.sina.com.cn/s/blog_6912b72c0100qbcv.html

http://mmdev.iteye.com/blog/1707550

http://linux008.blog.51cto.com/2837805/551372


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章