以前生產環境設備較少,是經過維護master(192.168.1.1)設備的hosts文件實現的。每次新增設備後,須要在master的hosts文件中新增ip和主機名,再將master的hosts文件批量拷貝到生產全部已部署設備和新增設備。設備少時維護比較簡單,隨時設備愈來愈多,維護起來變得很繁瑣,批量拷貝也很是消耗精力。html
爲了減輕維護成本,和提升維護效率,在生產環境搭建一臺dns服務器很是有必要。vim
進過篩選,dnsmasq這個輕量級的dns服務器,具備開源,搭建簡單,維護成本低的優勢,符合生產環境需求。緩存
官方文檔tomcat
http://www.thekelleys.org.uk/dnsmasq/doc.html服務器
下載地址異步
http://www.thekelleys.org.uk/dnsmasq/async
服務器最好專門作dns服務。不要和其餘業務設備共用,避免重啓設備。oop
#dnsmasq須要gcc支持 rpm –qa|grep gcc tar zxvf dnsmasq-2.70.tar.gz cd dnsmasq-2.70 make && make install
3.2配置性能
vim /etc/dnsmasq.conf no-hosts #不加載本地的/etc/hosts文件 local-ttl=3600 #本地緩存時間,一般不要求緩存本地,這樣更改hosts文件後即便生效 cache-size=1000000 #最大緩存條數 dns-forward-max=1000000 listen-address=127.0.0.1,192.168.1.1 #若是想要這臺服務器作解析,就要填上本身的地址,而且填上127.0.0.1的地址 resolv-file=/etc/resolv.dnsmasq.conf #這個文件是能夠自定義的,我就跟隨大流,直接複製了一份resolv.conf改了名稱就用了 all-servers #這條語句的意思就是若是本地沒查詢到,則想咱們的resolv.dnsmasq.conf文件中全部的DNS查詢,誰查到的快就用誰的 log-queries #開啓日誌選項 log-facility=/var/log/dnsmasq/dnsmasq.log log-async=100 #異步log,緩解阻塞,提升性能。默認爲5,最大爲100 conf-dir=/etc/dnsmasq.d #這條應該是最後一句,它的做用其實就是說明該目錄下的全部.conf文件都是要作解析的
#配置上級dns地址,用戶訪問外網使用,生產環境不能訪問外網,該步驟能夠不作 cp /etc/resolv.conf /etc/resolv.dnsmasq.conf vim /etc/resolv.dnsmasq.conf nameserver 114.114.114.114 #建立域名解析記錄。格式爲address=/主機名稱/ip地址 vim /etc/dnsmasq.d/hosts.conf address=/host-a/192.168.1.1 address=/host-b/192.168.1.2 address=/host-c/192.168.1.3 address=/host-d/192.168.1.4
mkdir /var/log/dnsmasq/ service dnsmasq start
chkconfig –level 23456 dnsmasq on
vim /etc/resolv.conf namesever 192.168.1.1 ping host-c #經過ping能夠看到host-c的ip地址
三.維護測試
在/etc/dnsmasq.d/目錄按設備類別新建conf文件,便於維護。
kafka.conf 存放kafka相關設備
vim /etc/dnsmasq.d/kafka.conf address=/kafka-a/192.168.1.5 address=/kafka-b/192.168.1.6 address=/kafka-c/192.168.1.7 address=/kafka-d/192.168.1.8
elastic.conf 存放elastic相關設備
……和kafka配置相似
hadoop.conf 存放hadoop相關設備
……和kafka配置相似
tomcat.conf 存放tomcat相關設備
……和kafka配置相似