dnspod-sr內網輕量級DNS首選方案

dnspod-sr介紹
dnspod-sr 是一個運行在 Linux 平臺上的高性能的遞歸 DNS 服務器軟件,強烈公司內網或者服務器內網使用dnspod-sr,具有高性能、高負載、易擴展的優點,非 BIND、powerdns 等軟件能夠比擬。
dnspod-sr特性html

  •     高性能,比全部流行的開源 DNS 軟件性能高出2倍以上前端

  •     安全,能抵禦通常攻擊linux

  •     穩定,有效下降解析失敗率git

  •     主動刷新緩存,響應速度更快github

  •     易於擴展,很是容易部署緩存

  •     防污染,可以正確解析被污染域名安全

dnspod-sr安裝bash

方法一:下載源碼(推薦)
# git clone https://github.com/DNSPod/dnspod-sr.git
# cd dnspod-sr服務器

方法二:下載壓縮包網絡

# wget https://github.com/DNSPod/dnspod-sr/zipball/master

編譯源碼
# cd src
# make
不須要make install

運行
# ./dnspod-sr

備註:切記必定要在相對路徑下執行

dnspod-sr配置
若是你僅僅須要一個dns轉發器,那麼什麼都不須要配置,直接可使用。可是若是你想解析本身的域名。修改dnspod-sr上層目錄的root.z

增長NS記錄

ttlsa.com.           172800  IN      NS       ns1.ttlsa.com.
ttlsa.com.           172800  IN      NS       ns2.ttlsa.com.

增長A記錄

ns1.ttlsa.com.           172800  IN      A       173.255.219.122
ns2.ttlsa.com.           172800  IN      A       173.255.219.122

備註:通過測試發現它不支持CNAME、官方文檔幾乎是空白.無奈.root.z的最後一行必定要一個空行,不然最後一條記錄解析不到。

驗證dns配置
驗證A記錄配置

# dig  @127.0.0.1 ns1.ttlsa.com

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> @127.0.0.1 ns1.ttlsa.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7843
;; flags: qr ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ns1.ttlsa.com.                 IN      A

;; ANSWER SECTION:
ns1.ttlsa.com.          604800  IN      A       173.255.219.122

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Dec 22 04:29:35 2013
;; MSG SIZE  rcvd: 47

驗證NS記錄配置

# dig  ns @127.0.0.1 ttlsa.com    

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> ns @127.0.0.1 ttlsa.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39842
;; flags: qr ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ttlsa.com.                     IN      NS

;; ANSWER SECTION:
ttlsa.com.              604800  IN      NS      ns1.ttlsa.com.
ttlsa.com.              604800  IN      NS      ns2.ttlsa.com.

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Dec 22 04:30:17 2013
;; MSG SIZE  rcvd: 75

指定NS服務器
須要修改配置文件:sr.conf默認配置文件爲當前目錄下的 sr.conf,也能夠在命令行參數中指定

# ./dnspod-sr /path/of/sr.conf

若是須要爲特定域名指定DNS服務器,以 xfer 開頭,以下:

    xfer:
    googleusercontent.com.:8.8.8.8
    google.com.:8.8.8.8
    youtube.com.:8.8.8.8
    s-static.ak.facebook.com.edgekey.net.:8.8.8.8
    :

最後一行以`:`結束。以上的幾個域名解析請求都會中轉到8.8.8.8上.

配置日誌文件目錄(可選)

    log_path:
    ./log/

dnspod-sr性能

dnspod-sr 依託於 DNSPod 多年運營和優化 DNS 服務的經驗,針對國內複雜的網絡狀況,對遞歸 DNS 進行了一系列的優化,比較其餘開源軟件,性能獲得大幅提高。
測試環境
千兆網卡,4核 CPU,4G 內存,Linux 64位系統。
性能測試

  •     dnspod-sr: 15萬 qps

  •     BIND 9.9: 7萬 qps

  •     unbound 4.7: 8萬 qps

測試如圖:

  • dnspod-sr_benchmark

  • dnspod-sr_benchmark

集羣式部署
DNSPOD-SR說明文檔裏面提到支持集羣,也沒看出怎麼支持集羣,若是你想實現集羣,同步root.z文件,前端能夠用lvs、haproxy、keepalived等等來實現集羣,方法不少,不在多說了。

最後
在內網使用dnspod-sr值得推薦,配置簡單,集羣搭建也簡單。相比bind等等要簡單不少,可是功能也簡單。可是內網下足夠用了。dnspod-sr的wiki基本上空白,官方文檔沒本文詳細。官方文檔只包含了安裝,並未提到如何配置。
參考文章
DNSPOD-SR Wiki: https://github.com/DNSPod/dnspod-sr/wiki

網站:運維生存時間   網址:http://www.ttlsa.com/linux/dnspod-sr-little-dns/

相關文章
相關標籤/搜索