馬上註冊  |  找回密碼

SAY討論區

查看: 402|回復: 2
打印 上一主題 下一主題

【FreeBSD】BIND 9 的 Master / Slave 實作 ( 搭配 View ) [複製鏈接]

好友
0
帖子
124731
積分
124889
最後登錄
2019-2-28
在線時間
0 小時
跳轉到指定樓層
樓主
發表於 2012-5-12 02:16:02 |只看該作者 |倒序瀏覽
BIND 9 之後提供一個很好用的功能 View,我們可以依據不同的 IP 查詢來回應不同的結果,通常針對 Internet & Intranet 的環境更是適合

以下是我實作的環境,我中間的 DNS Server 目前隻綁一個 Private,至於回應外部的 Public IP 則是透過防火牆 NAT mode 轉進來



要實作 View 隻要在 named.conf 裡動一點手腳即可,設定如下

acl lan { 10.1.1.0/24; };//首先先定義出內網的 IP 範圍

view internal {
  match-clients { lan; 127.0.0.1; };//當來自於 lan 或 127.0.0.1 的查詢時,BIND 就回應 bojack.intranet 裡的記錄
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type master;
      file /etc/namedb/master/bojack.intranet;
  };
};

view external {
  match-clients { any; };//除瞭 lan 或 127.0.0.1 的查詢時,BIND 就回應 bojack.internet 裡的記錄
  recursion no;
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type master;
      file /etc/namedb/master/bojack.internet;
  };
};

最後重啟 BIND 就可以啟用 View 的功能瞭!

接下來這篇是接續【FreeBSD】BIND 9 的 View 實作的筆記,我們原本已經有一臺 DNS 瞭,但如果它掛瞭帶來的衝擊影響其實蠻大的

因此通常在 DNS 的部份我們會放二臺 DNS,一臺是 Master 主要的,另一臺 Slave 就是定時去抄寫 Master 的紀錄



首先我們在 Slave DNS 的部份要設定二個 IP,10.1.1.5 是用來查詢 Master DNS 裡 Intranet 的紀錄,而 10.1.1.6 是用來查詢 Master DNS 裡 Internet 的紀錄

如果 Slave DNS 不綁定二個 IP 的話,就隻能查到 Intranet 或 Internet 其中一個 View 的紀錄瞭

這臺是 Master DNS ( 10.1.1.4 ) 的 /etc/named/named.conf

acl lan { 10.1.1.0/24; };

view internal {
  match-clients { !10.1.1.6; lan; 127.0.0.1; };
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type master;
      file /etc/namedb/master/bojack.intranet;
      allow-transfer { 10.1.1.5; };
  };
};

view external {
  match-clients { any; };
  recursion no;
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type master;
      file /etc/namedb/master/bojack.internet;
      allow-transfer { 10.1.1.6; };
  };
};

這臺是 Slave DNS ( 10.1.1.5 & 10.1.1.6 ) 的 /etc/named/named.conf

acl lan { 10.1.1.0/24; };

view internal {
  match-clients { lan; 127.0.0.1; };
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type slave;
      file /etc/namedb/master/bojack.intranet;
      masters { 10.1.1.4; };
      transfer-source 10.1.1.5;
  };
};

view external {
  match-clients { any; };
  recursion no;
  zone . IN {
      type hint;
      file /etc/namedb/named.root;
  };
  zone bojack.net IN {
      type slave;
      file /etc/namedb/master/bojack.internet;
      masters { 10.1.1.4; };
      transfer-source 10.1.1.6;
  };
};

接下來隻要重啟二臺 DNS 就可以有 Master & Slave 的備援功能瞭!
分享分享0 收藏收藏0 讚好讚好0 Unlike!Unlike!0 分享 傳送 邀請

好友
0
帖子
125286
積分
125321
最後登錄
2019-2-28
在線時間
0 小時
No.1回覆者
發表於 2012-5-16 05:01:52 |只看該作者
我等你喲

好友
0
帖子
124967
積分
124976
最後登錄
2019-2-28
在線時間
0 小時
跟尾2
發表於 2012-5-16 05:01:52 |只看該作者
哈哈,有意思~頂頂 ,繼續頂頂。繼續頂哦  
您需要登錄後才可以回帖 登錄 | 馬上註冊 |

Archiver|手機版|SAY討論區

GMT+8, 2026-5-25 01:45 , Processed in 0.630320 second(s), 8 queries .

Powered by go2tutor.comDiscuz! X2

© 2026 Community Networks Limited

回頂部