dnsmasq做dns緩存


   前面更新了個程序,每次拉取數據都會查詢gfs_shadow_master等相關域名,當請求量大時,dns有些抗不住了,程序響應也就變慢了,於是想到了用dnsmasq做本地dns緩存,效果很好。下面直接上部署代碼吧:


yum install -y dnsmasq
cat << END > /etc/dnsmasq.conf
listen-address=127.0.0.1
#strict-order
cache-size=2048
resolv-file=/etc/resolv.dnsmasq.conf
END
echo -e "nameserver 10.1.1.8\nnameserver 10.1.1.9" > /etc/resolv.dnsmasq.conf
chkconfig dnsmasq on
/etc/init.d/dnsmasq restart
sed -i "1inameserver 127.0.0.1"  /etc/resolv.conf


代碼說明下:

   listen-address:表示監聽的地址;

resolv-file:指定後端dns服務器;

strict-order:如果本地沒有結果,則按順序請求resolv-file中的dns server,不加此項則隨機請求後端server;

cache-size:指緩存記錄條數;


另外,緩存是有TTL的,如果dns server更新了某條記錄,需要等待一段時間dnsmasq纔會更新,如果要馬上生效,可執行

/etc/init.d/dnsmasq reload


這些配置滿足了當前的需求,具體其他配置可以參考官網或dnsmasq --help。

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