背景介紹
公司有一批測試服務器,之間希望通過自定義的域名進行訪問,這樣比較方便,但每個人每台機器都維護一個hosts的話會非常麻煩,於是想搭建一個內部的DNS服務器,對自定義的域名進行解析,同時緩存公網的域名。
首先,向導的DNS服務器肯定是bind9,但所謂殺雞焉用牛刀,並且bind9的配置和后期維護都是比較麻煩的,而內網這種測試環境又經常需要更新配置。
於是,我們采用了dnsmasq,它簡直太簡單了,只需要下面幾步就完成配置了。
1. 安裝dnsmasq
$ sudo apt-get install dnsmasq
2. 添加域名解析記錄
$ sudo vim /etc/hosts
192.168.10.10 hadoop-master.heylinux.com
192.168.10.11 hadoop-node-1.heylinux.com
3. 配置上級DNS服務器地址
$ sudo vim /etc/resolv.conf
nameserver 61.139.2.69
4. 重啟DNS服務
$ sudo /etc/init.d/dnsmasq restart
5. 配置客戶端,填入dnsmasq所在地址
$ sudo vim /etc/resolv.conf
nameserver 192.168.10.5
6. 測試內網DNS
$ ping hadoop-master.heylinux.com
7. 測試反解析
$ dig PTR 10.10.168.192.in-addr.arpa.
dnsmasq默認使用了/etc/hosts和/etc/resolv.conf,這樣DNS本機也可以共享這些配置,但如果想要分開專門進行維護的話,可以在/etc/dnsmasq.conf中指定。
dnsmasq默認還集成了DHCP與TFTP服務器,默認如果不配置的話服務不會啟動。
dnsmasq的優點在於快捷方便並易於維護,如果想實現比如多IP輪詢,根據IP源做智能解析等高級功能,毫無疑問,安心上bind9吧。