BIND9私有DNS伺服器小環境搭建實驗
BIND9私有DNS伺服器小環境搭建實驗
2013.8.22
Author: db.
1. 伺服器基本配置
1) 主根伺服器 192.168.56.101
2) 從根伺服器 192.168.56.102
3) COM伺服器 192.168.56.103
4) 解析伺服器 192.168.56.104
2. 編譯及安裝BIND9
1) # tar xvf bind-9.6.1.tar.gz
# cd bind-9.6.1
# ./configure --prefix=/usr/local/named --enable-threads
//開啟多執行緒處理能力
# make && make install
2) 從rndc.conf檔案中提取named.conf用的key
# cd /usr/local/named
# sbin/rndc-confgen > etc/rndc.conf
#cd etc/
# tail -10 rndc.conf | head -9 | sed s/#\//g > named.conf
# cat named.conf
key "rndc-key" { algorithm hmac-md5; secret "wk7NzsvLaCobiCFxHB2LXQ=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; };
以上環境安裝設定在每臺伺服器上是一樣的。
3. 配置主根伺服器 在IP為192.168.56.101的伺服器上
1) 開啟named.conf, 新增如下內容
# vi named.conf
key "rndc-key" { algorithm hmac-md5; secret "wk7NzsvLaCobiCFxHB2LXQ=="; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; options { directory "/var/named/"; pid-file "/var/named/named.pid"; recursion no; }; zone "." IN { type master; file "db.root"; allow-transfer {192.168.56.102;}; };
其中: recursion no; 關閉遞迴查詢。
allow-transfer {192.168.56.102;}; 允許區域傳送,且僅對給出的IP地址的伺服器
有效。 這裡192.168.56.102是我們的從根伺服器
2) 建立區配置檔案
# cd /var
# mkdir named
# cd named
# touch db.root
# vi db.root
$TTL 86400
@ IN SOA @ root (
12169
1m
1m
1m
1m )
. IN NS root.ns.
root.ns. IN A 192.168.56.101
com. IN NS ns.com.
ns.com. IN A 192.168.56.103
其中: com. IN NS ns.com. 這裡必須要授權出去, 否則遞迴解析時,將找不到類似
My.com 所對應的地址
3) 啟動BIND 並測試
# cd /usr/local/named
# sbin/named -g &
# dig @192.168.56.101 . NS
[email protected]:/var/named# dig @192.168.56.101 . NS
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.101 . NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10193
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 86400 IN NS root.ns.
;; ADDITIONAL SECTION:
root.ns. 86400 IN A 192.168.56.101
;; Query time: 19 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Wed Aug 21 07:15:38 2013
;; MSG SIZE rcvd: 64
# dig @192.168.56.101 com. NS
[email protected]:/var/named# dig @192.168.56.101 com. NS
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.101 com. NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20443
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN NS
;; AUTHORITY SECTION:
com. 86400 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86400 IN A 192.168.56.103
;; Query time: 17 msec
;; SERVER: 192.168.56.101#53(192.168.56.101)
;; WHEN: Wed Aug 21 07:18:16 2013
;; MSG SIZE rcvd: 65
4. 配置從根伺服器 在IP為192.168.56.102上
1) 開啟named.conf, 新增如下內容
# vi named.conf
key "rndc-key" {
algorithm hmac-md5;
secret "JaHjteR5sZxVrMWWcOne9g==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
transfer-format many-answers;
recursion no;
};
zone "." IN {
type slave;
file "db.root";
masters { 192.168.56.101; };
};
其中: recursion no; 關閉遞迴查詢。
masters {192.168.56.101;}; 指明主伺服器地址,這樣就可以根據SOA中指定
的重新整理時間去與主根同步
2) 建立區配置檔案
# cd /var
# mkdir named
從伺服器不需要手動建立 區域檔案。因為從伺服器會自動向主伺服器更新。
3) 啟動BIND 並測試
# cd /usr/local/named
# sbin/named -g &
等待一段時間,確定已經獲取到了區檔案
# ls /var/named/
db.root
# dig @192.168.56.102 . NS
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.102 . NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18918
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 86400 IN NS root.ns.
;; ADDITIONAL SECTION:
root.ns. 86400 IN A 192.168.56.101
;; Query time: 12 msec
;; SERVER: 192.168.56.102#53(192.168.56.102)
;; WHEN: Wed Aug 21 07:27:18 2013
;; MSG SIZE rcvd: 64
# dig @192.168.56.102 com. NS
[email protected]:/usr/local/named/etc# dig @192.168.56.102 com. NS
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.102 com. NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17412
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN NS
;; AUTHORITY SECTION:
com. 86400 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86400 IN A 192.168.56.103
;; Query time: 19 msec
;; SERVER: 192.168.56.102#53(192.168.56.102)
;; WHEN: Wed Aug 21 07:35:10 2013
;; MSG SIZE rcvd: 65
5. 配置COM伺服器 在伺服器192.168.56.103上
1) 開啟named.conf, 新增如下內容
# vi named.conf
key "rndc-key" {
algorithm hmac-md5;
secret "kMOStrdGYC5WmE1obk7LJg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
allow-query {any;};
recursion no;
};
zone "." IN {
type hint;
file "db.root";
};
zone "com." IN {
type master;
file "db.com";
};
其中: recursion no; 關閉遞迴查詢。
2) 建立區配置檔案
# cd /var
# mkdir named
# cd named
# touch db.root
# vi db.root
$TTL 86000
@ IN SOA @ root (
1
1m
1m
1m
1m
)
. IN NS root.ns.
root.ns. IN A 192.168.56.101
com. IN NS ns.com.
ns.com. IN A 192.168.56.103
其中: com. IN NS ns.com. 這裡必須要授權出去, 否則遞迴解析時,將找不到類似
My.com 所對應的地址
該檔案和主伺服器上的db.root一樣
# vi db.com
$TTL 86400
@ IN SOA @ root (
2
1m
1m
1m
1m
)
com. IN NS ns.com.
ns.com. IN A 192.168.56.103
my.com. IN A 192.168.56.201
3) 啟動BIND 並測試
# cd /usr/local/named
# sbin/named -g &
# dig @192.168.56.103 com. NS
[email protected]:/usr/local/named/etc# dig @192.168.56.103 com. NS
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.103 com. NS
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19097
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN NS
;; ANSWER SECTION:
com. 86400 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86400 IN A 192.168.56.103
;; Query time: 21 msec
;; SERVER: 192.168.56.103#53(192.168.56.103)
;; WHEN: Wed Aug 21 07:45:15 2013
;; MSG SIZE rcvd: 65
# dig @192.168.56.103 my.com. A
[email protected]:/usr/local/named/etc# dig @192.168.56.103 my.com. A
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.103 my.com. A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23466
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;my.com. IN A
;; ANSWER SECTION:
my.com. 86400 IN A 192.168.56.201
;; AUTHORITY SECTION:
com. 86400 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86400 IN A 192.168.56.103
;; Query time: 17 msec
;; SERVER: 192.168.56.103#53(192.168.56.103)
;; WHEN: Wed Aug 21 07:46:41 2013
;; MSG SIZE rcvd: 84
6. 配置解析伺服器 在伺服器 192.168.56.104上
1) 開啟named.conf, 新增如下內容
# vi named.conf
key "rndc-key" {
algorithm hmac-md5;
secret "kMOStrdGYC5WmE1obk7LJg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/var/named";
pid-file "/var/run/named/named.pid";
allow-query {any;};
recursion yes;
allow-recursion {any;};
};
zone "." IN {
type hint;
file "db.root";
};
其中: recursion yes; 開啟遞迴查詢。
allow-recursion {any;}; 也是開啟遞迴查詢的另一個方法,具體區別再次不表。
2) 建立區配置檔案
# cd /var
# mkdir named
# cd named
# touch db.root
# vi db.root
$TTL 8600
@ IN SOA @ root (
1
1m
1m
1m
1m
)
. IN NS root.ns.
root.ns. IN A 192.168.56.101
其中: 這裡只需給出根 的NS 和A 記錄即可
3) 啟動BIND 並測試
# cd /usr/local/named
# sbin/named -g &
Dig 預設是傳送遞迴查詢
# dig @192.168.56.104 com. SOA
[email protected]:/usr/local/named/etc# dig @192.168.56.104 com. SOA
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.104 com. SOA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 44824
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;com. IN SOA
;; ANSWER SECTION:
com. 86358 IN SOA com. root.com. 2 60 60 60 60
;; AUTHORITY SECTION:
com. 86354 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86354 IN A 192.168.56.103
;; Query time: 16 msec
;; SERVER: 192.168.56.104#53(192.168.56.104)
;; WHEN: Wed Aug 21 07:52:46 2013
;; MSG SIZE rcvd: 106
可以看出 ;; flags: qr rd ra; 此處沒有aa, 表明是非 權威查詢
# dig @192.168.56.104 my.com. A
[email protected]:/usr/local/named/etc# dig @192.168.56.104 my.com. A
; <<>> DiG 9.9.2-P1 <<>> @192.168.56.104 my.com. A
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21228
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;my.com. IN A
;; ANSWER SECTION:
my.com. 86286 IN A 192.168.56.201
;; AUTHORITY SECTION:
com. 86259 IN NS ns.com.
;; ADDITIONAL SECTION:
ns.com. 86259 IN A 192.168.56.103
;; Query time: 15 msec
;; SERVER: 192.168.56.104#53(192.168.56.104)
;; WHEN: Wed Aug 21 07:54:21 2013
;; MSG SIZE rcvd: 84
後面在寫篇講 在BIND9 上開啟 DNSSEC的文章。
相關推薦
BIND9私有DNS伺服器小環境搭建實驗
BIND9私有DNS伺服器小環境搭建實驗 2013.8.22 Author: db. 1. 伺服器基本配置 1) 主根伺服器 192.168.56.101 2) 從根伺服器 192.168.56.102 3) COM伺服器 192.168.56.10
BIM開發------BIMServer伺服器(環境搭建)
1 前言 BIMServer版本:1.5.88 相關外掛版本:見2下載檔案部分 最近在學習一下BIMServer,首先第一步就是對BIMServer環境的安裝。 主要是兩種安裝和配置方法,一種是通過jar包直接進行執行來安裝,一種是通過war包,將其放置在tomcat目錄
Redis主從配置和哨兵監控配置——伺服器端環境搭建
一:介紹 公司用到的redis框架,主要分為cluster的快取叢集和sentinel中的哨兵主從。這種的選用方式一般需要更具業務場景來做區分,兩種框架的配置圖為:右圖為哨兵主從框架和cliuster的叢集框架。sentienl的叢集框架,適用於redis的key值都屬於熱
Ubuntu採用bind9配置DNS伺服器
Ubuntu採用bind9配置DNS伺服器 最近公司專案需要用到dns伺服器,就搭建了dns伺服器。 1. BIND9 的安裝與配置1.1 bind簡介BIND (Berkeley Inter
主從DNS伺服器叢集的搭建,同步,更新及加密,DDNS的搭建
主從DNS伺服器叢集的搭建 前面的內容已經講到如何搭建DNS伺服器了,現在要給主DNS伺服器配置其他從屬DNS伺服器來分擔壓力 主伺服器: vim /etc/named.conf還原配置 vim /etc/named.rfc1912.zones 修改引數如下:當主DNS有更新時
Hadoop 伺服器基礎環境搭建
虛擬機器linux使用的是centos7作業系統 1. 安裝sz rz工具,用於以後用rz sz上傳下載檔案 yum install -y lrzsz 2. 安裝系統常用軟體 yum install -y openssh-server vim gcc gcc-c++
【Hadoop基礎教程】1、Hadoop之伺服器基礎環境搭建
本blog以K-Master伺服器基礎環境配置為例分別演示使用者配置、sudo許可權配置、網路配置、關閉防火牆、安裝JDK工具等。使用者需參照以下步驟完成KVMSlave1~KVMSlave3伺服器的基礎環境配置。 開發環境 硬體環境:Centos
WebRTC伺服器——Licode 環境搭建
WebRTC伺服器——Licode 環境搭建 系統配置 阿里雲伺服器 Ubuntu 14.04.5 LTS Docker 環境搭建 在一臺空的機器上搭建docker環境,先要安裝docker,執行下面的命令即可: apt-get update apt-get install docker.io
Linux伺服器基礎環境搭建
1.想要安裝golang,sudo apt-get,提示命令找不到2.聽一個人說要安裝yum,於是在網上找到,wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz,提示wget:命令找不到3.無意中看到yum -
CentOS6.8伺服器LAMP環境搭建(一) 安裝Apache2.4.25
一、系統環境 系統平臺:CentOS 6.8 64位Apache版本: httpd-2.4.25.tar.gzMySQL版本: mysql-5.7.18.tar.gzPHP版本: php-7.1.4.tar.gz phpMyAdmin版本:phpMyAdmin-4.7.0-all-languages.tar
hadoop伺服器基礎環境搭建之Hadoop伺服器配置教程
虛擬機器以及Linux系統安裝在之前的兩篇分享中已經詳細的介紹了方法,並且每一步的都配圖了。如果有朋友還是看不懂,那我也愛莫能助了。本篇主要就hadoop伺服器作業系統配置進行詳細說明,hadoop安裝會在下一篇文章中詳細的介紹。 hadoop安裝包用的是大快DKHadoo
阿里雲伺服器部署環境搭建
我們遇上了雲的時代,系統運維比以前任何一個時代都簡單直接。 將自己最近阿里雲伺服器環境部署的步驟記錄下來,分享給大家,也是自己做個記錄 OS資訊: Linux version 2.6.32-696.3.2.el6.x86_64 ([email
CentOS7上基於BIND9部署DNS伺服器
最近在做GTM方面的測試,就考慮使用Linux下部署的DNS伺服器作為測試平臺。以前零星的用過一段時間BIND,感覺功能挺強大的,鑑於BIND是開源的,就在CentOS上部署一下進行測試。以下是我安裝BIND9的詳細步驟。我的CentOS版本資訊如下:(192.168.55.
快取DNS伺服器和主DNS伺服器的快速搭建詳解
一、設定配置內容 假設我們已經在網上註冊了wangej.com域名,得到的IP網路是172.16.12.0/24 ns伺服器是:172.16.12.1 www伺服器:172.16.12.1,另外一個地址:172.16.12.3 mail伺服器:172.16.12.2 ftp主機在www伺服器上,即ftp為ww
阿里雲伺服器javaweb環境搭建筆記
rpm -qa |grep java檢視是否安裝javagetconf LONG_BIT檢視作業系統位數mkdir /usr/www/java到java目錄下安裝jdk:tar zxvf jdk-8u121-linux-i586.tar.gzcat /etc/profilev
郵件伺服器james環境搭建
nano /usr/local/james-2.3.2/apps/james/SAR-INF/config.xml <!--將兩個true改為false,autodetct設為true會自動偵測你的主機名,設成false會用你指定的server name; autodetectIP設為true會為你
Hadoop 通過bind9配置DNS伺服器替代hosts的IP對映(ubuntu版)
最開始搭建hadoop叢集時,我是用hosts的ip對映實現的各個主機名與IP之間的對映關係。 但是,hosts的ip對映的缺點是,當我們在叢集裡面增加一個機器時,所有機器都要更新他們的hosts檔案,這樣就顯得很繁瑣。 通過查詢資料,可以使用bind9配置DNS來替代原先
linux下用bind9做DNS伺服器
我用的是ubuntu server 7.10,很簡單,安裝時就裝了bind9,因此DNS伺服器預設就建立起來了。如果不做額外配置,則可以作為一個DNS快取伺服器使用。安裝bind9: sudo apt-get insta
CentOS 7 伺服器基本環境搭建
JDKSSH 登入伺服器cd /usr mkdir java cp /opt/jdk-8u161-linux-x64.tar.gz /usr/java/ tar -zxvf jdk-8u161-linux-x64.tar.gz #建立短連結 ln -s /usr/java/j
【Linux】伺服器執行環境搭建
前言 Linux伺服器對於我們開發者想必都不陌生,在現在大資料雲服務時代開發者或多或少都需要知道部分Linux的知識,本文詳細介紹在Linux系統的執行環境搭建(採用centos7),包括JDK、Mysql、Tomcat。 採用工具 這裡我使用VMwa