Bind編譯安裝詳解

Bind編譯安裝詳解

Bind是一款開放源碼的DNS服務器軟件,由美國加州大學Berkeley分校開發和維護的,全名為Berkeley Internet Name Domain它是目前世界上使用最為廣泛的DNS服務器軟件,支持各種unix平臺和windows平臺。現今互聯網上最常使用的DNS服務器軟件,使用BIND作為服務器軟件的DNS服務器約占所有DNS服務器的九成。BIND現在由互聯網系統協會(Internet Systems Consortium)負責開發與維護。

Bind一般可直接yum install安裝,或是用RPM包安裝,但有時我們需要其某些特別的功能是,就需要用到編譯安裝了。本文詳細介紹bind編譯安裝的方法。

1.安裝前準備:

首先,到http://www.isc.org/ 下載bind的源碼安裝包,我下的是bind-9.11.0b1.tar.gz,9.11.0b1版本的,各位可自行下載自己需要的版本。

解壓文件

tar xzvf  bind-9.11.0b1.tar.gz

創建普通用戶用于bind的運行

[root@www bind-9.11.0b1]# groupadd -g 53 -r named

[root@www bind-9.11.0b1]# useradd -u 53 -g 53 -r named

[root@www bind-9.11.0b1]#

 

./configure配置

[root@www bind-9.11.0b1]# ./configure –prefix=/usr/local/bind9 –sysconfdir=/etc/named/ –disable-ipv6 –disable-chroot –enable-threads

一般不會出現什么問題,但如果有相關的模塊沒有安裝,則會在這時候報錯,不過沒關系,缺什么,yum install 安裝相應的 devel包就行了。

configure通過了就繼續make && make install:…

 

    XML statistics (–with-libxml2)

    JSON statistics (–with-libjson)

————————————————————————

For more detail, use –enable-full-report.

========================================================================

[root@www bind-9.11.0b1]# make && make install

mkdir /usr/local/bind9/var

mkdir /usr/local/bind9/var/run

mkdir /etc/named

/bin/sh ./mkinstalldirs /usr/local/bind9/share/man/man1

/usr/bin/install -c isc-config.sh /usr/local/bind9/bin

rm -f /usr/local/bind9/bin/bind9-config

ln /usr/local/bind9/bin/isc-config.sh /usr/local/bind9/bin/bind9-config

/usr/bin/install -c -m 644 ./isc-config.sh.1 /usr/local/bind9/share/man/man1

rm -f /usr/local/bind9/share/man/man1/bind9-config.1

ln /usr/local/bind9/share/man/man1/isc-config.sh.1 /usr/local/bind9/share/man/man1/bind9-config.1

/usr/bin/install -c -m 644 ./bind.keys /etc/named

安裝完成。

成功安裝后,還需要設置一系列參數,讓系統知悉bind安裝在/usr/local/bind9的目錄中。因而,執行以下命令:

vim /etc/profile.d/named.sh

exprot PATH=/usr/local/bind9/bin:/usr/local/bind9/sbin:$PATH  ##加入到PATH變量中

. /etc/profile.d/named.sh  ##重讀配置文件

                           

vim /etc/ld.so.conf.d/named.conf

/usr/local/bind9/lib      ##導出庫文件

                           

ldconfig  -v              ##系統重讀

                           

ln -sv /usr/local/bind9/include /usr/include/named   ##導出頭文件

                           

vim /etc/man.config                                     ##導出幫助文件

在空白行添加:

MANPATH /usr/local/bind9/share/man

至此,bind已編譯安裝完畢,但要使用bind,還需進行配置。                     

配置Bind

##定義配置文件

vim /etc/named/named.conf

        

options {

        directory "/var/named";

};

 

zone "." IN {

        type hint;

        file "named.ca";

};

 

zone "localhost" IN {

        type master;

        file "localhost.zone";

        allow-update { none; };

};

 

zone "0.0.127.in-addr.arpa" IN {

        type master;

        file "named.local";

        allow-update { none; };

};

zone "test.net" IN {

  type master;

  file "test.net.zone";

};

 

                  

##生成幾個區域數據文件

##1.根區域

[root@www named]# dig -t NS . @8.8.8.8 > /var/named/named.ca

 

vim localhost.zone

$TTL    1d

@       IN      SOA     localhost.      admin.localhost. (

                        2017071801

                        1h

                        5m

                        7d

                        1d )

        IN      NS      localhost.

localhost.      IN      A       127.0.0.1

 

vim named.local$TTL    1d

@       IN      SOA     localhost.      admin.localhost. (

                        2017071801

                        1h

                        5m

                        7d

                        1d )

        IN      NS      localhost.

1       IN      PTR     localhost.

 

test.net.zone

$TTL 1D

$ORIGIN test.net.

@       IN      SOA     ns1.test.net. admin.test.net (

                        2016070601

                        1H

                        5M

                        7D

                        1D )

                IN  NS  ns1

                IN  NS  ns2

                IN  MX 10 mx1

                IN  MX 20 mx2

ns1     IN      A       172.16.10.10

ns2     IN      A       172.16.20.20

mx1     IN      A       172.16.10.10

mx2     IN      A       172.16.20.20

www     IN      A       172.16.10.10

web     IN      A       172.16.20.20

ftp     IN      CNAME   www

*       IN      CNAME   www

 

##修改文件權限為640

[root@www named]# chmod 640 ./*

[root@www named]#

[root@www named]# ls -lh

total 24K

drw-r—– 2   25   25 4.0K Jul 17 12:19 data

drw-r—– 2   25   25 4.0K Jul 17 15:07 dynamic

-rw-r—– 1 root root  132 Jul 18 01:21 localhost.zone

-rw-r—– 1 root root 2.1K Jul 18 01:15 named.ca

-rw-r—– 1 root root  126 Jul 18 01:23 named.local

-rw-r—– 1 root   25  333 Jul 10 15:12 test.net.zone

[root@www named]# chown :named ./*

[root@www named]# ls -lh

total 24K

drw-r—– 2   25 named 4.0K Jul 17 12:19 data

drw-r—– 2   25 named 4.0K Jul 17 15:07 dynamic

-rw-r—– 1 root named  132 Jul 18 01:21 localhost.zone

-rw-r—– 1 root named 2.1K Jul 18 01:15 named.ca

-rw-r—– 1 root named  126 Jul 18 01:23 named.local

-rw-r—– 1 root named  333 Jul 10 15:12 test.net.zone

[root@www named]#

[root@www named]# chmod 640 /etc/named/named.conf

[root@www named]# chown :named /etc/named/named.conf

 

OK,啟動bind服務

 [root@www var]# named -u named

檢查服務正常與否:

[root@www named]# ss -ntlup | grep :53

udp    UNCONN     0      0           172.16.10.10:53                    *:*      users:(("named",82889,515),("named",82889,516),("named",82889,517))

udp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("named",82889,512),("named",82889,513),("named",82889,514))

tcp    LISTEN     0      10          172.16.10.10:53                    *:*      users:(("named",82889,22))

tcp    LISTEN     0      10             127.0.0.1:53                    *:*      users:(("named",82889,21))

[root@www named]#

UDP53端口已然在監聽

查詢A記錄:

[root@www named]# dig -t a www.test.net @172.16.10.10

 

; <<>> DiG 9.11.0b1 <<>> -t a www.test.net @172.16.10.10

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55151

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

 

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

; COOKIE: 27ba2f7f1e17a2290a97e22d578bc559a9b4b200c6fe5074 (good)

;; QUESTION SECTION:

;www.test.net.                  IN      A

 

;; ANSWER SECTION:

www.test.net.           86400   IN      A       172.16.10.10

 

;; AUTHORITY SECTION:

test.net.               86400   IN      NS      ns2.test.net.

test.net.               86400   IN      NS      ns1.test.net.

 

;; ADDITIONAL SECTION:

ns1.test.net.           86400   IN      A       172.16.10.10

ns2.test.net.           86400   IN      A       172.16.20.20

 

;; Query time: 0 msec

;; SERVER: 172.16.10.10#53(172.16.10.10)

;; WHEN: Mon Jul 18 01:50:17 CST 2016

;; MSG SIZE  rcvd: 153

@172.16.10.10服務器成功返回 www.test.net A記錄

;; ANSWER SECTION:

www.test.net.           86400   IN      A       172.16.10.10

服務器運作正常!

 

至此,Bind服務器的編譯安裝已全部介紹完畢,是不是很簡單呢?你也償試一下吧!

注:通常我們都會編寫一段腳本,讓其能以系統服務的方式,開機自動運行,這樣就不用每次啟動都手工操作,此腳本網上有很多例子,我這里就不作介紹了,大家可以參考之后自行編寫。

 

以上就是DNS服務器Bind的編譯安裝方法!作為初學者,我對linux的認識還是很膚淺,以上可能有不正確的地方,如有錯漏,希望各位能指正,共同進步。

 

我的QQ153975050  小斌斌

在此感謝馬哥及馬哥團隊的所有人,在linux的道路上引領我一直前進!

                                                            2016-07-18

 

 

 

 

                  

 

 

 

 

 

原創文章,作者:馬哥Net19_小斌斌,如若轉載,請注明出處:http://www.www58058.com/24689

(1)
馬哥Net19_小斌斌馬哥Net19_小斌斌
上一篇 2016-07-22
下一篇 2016-07-22

相關推薦

  • 一年直接在于春

    day01

    2018-03-26
  • 馬哥linux0728課程內容

    課堂學習內容   -ahistory list –.bash_histroy 保存歷史列表到歷史文件 -cclear history list 清空歷史列表 -d deletehistory entru 清除歷史列表某一條命令 -rread .bash_history 讀歷史文件中的命令到歷史列表…

    Linux干貨 2016-08-04
  • httpd 2.2(Apache Web服務器)

    apache (Web服務器) 簡介: Apache是世界使用排名第一的Web服務器軟件。它可以運行在幾乎所有廣泛使用的計算機平臺上,由于其跨平臺和安全性被廣泛使用,是最流行的Web服務器端軟件之一。它快速、可靠并且可通過簡單的API擴充,將Perl/Python等解釋器編譯到服務器中。    Apache HTTP服務器是一個模塊化的服…

    Linux干貨 2016-03-30
  • 計算機基礎第一部分

    ** 第一課:計算機基礎知識** 第一章計算機的組成 計算機是由硬件(Hardwaer)和軟件(Software)來組成兩大類,他是一臺可以自由傳輸數據, 儲存數據,娛樂,工作等等的智能設備。 第一節計算機硬件 主板架構圖 內存====用來存儲臨時數據,弱點喜歡松動一般電腦黑屏都是他松動了,導致電腦不能機 基本上%80以上的電腦不能開機都是他出了問題,服務器…

    Linux干貨 2017-05-19
  • kickstart+http+dhcp+tftp實現centos7的無人值守安裝

    環境:IP: 172.16.0.11 centos 7.2 一. tftp 安裝tftp服務端和客戶端 [root@localhost ~]# yum -y install tftp tftp-server 啟動tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干貨 2017-06-03
  • 用戶和組命令及相關配置文件總結

    用戶和組相關的配置文件 目錄 一、創建用戶、組和權限相關命令… 1 1、useradd 帳號建立… 1 2、usermod 用戶屬性更改… 2 3、Passwd. 2 4、userdel 2 6、chfn. 3 7、Chsh. 3 8、finger. 3 9、groupadd. 3 10、Groupdel 3 11、gro…

    Linux干貨 2016-10-24
欧美性久久久久