2 DNS之原始碼安裝

2021-09-21 04:58:35 字數 3862 閱讀 2722

1) 解壓縮

tar -zxvf bind-9.3.p2.tar.gz –c /tmp     (tar -xvf bind-9.3.p2.tar –c /tmp)

cd /tmp/bind-9.3.p2

2) 配置

./configure --prefix=/usr/local/webserver/bind  

其他編譯引數看自己需求

--with-openssl=no 

--prefix:指定安裝目錄

--sysconfdir:設定named.conf配置檔案放置的目錄

--localstatdir:設定 run/named.pid 放置的目錄

--with-libtool:將bind的庫檔案編譯為動態共享庫檔案,這個選項預設是未選擇的。

--enable-threads:如果系統有多個cpu,那麼可以使用這個選項開啟執行緒支援以提高伺服器效能

3) 編譯安裝

make;make install

4) 新建named使用者

useradd -r named (-r是新建系統賬戶)

5) 新增環境變數

vim  ~/.bash_profile

path=$path:$home/bin:/usr/local/webserver/bind/sbin:/usr/local/webserver/bind/bin

source  ~/.bash_profile

6) 建立配置檔案

cd /usr/local/webserver/bind

生成rndc控制命令的key檔案(用於生成rndc使用的認證秘鑰)  用bind自帶的rndc-confgen工具即可

/usr/local/webserver/bind/sbin/rndc-confgen > /usr/local/webserver/bind/etc/rndc.conf

# start of rndc.conf

key "rndc-key」 ;

options ;

# end of rndc.conf #

use with the following in named.conf, adjusting the allow list as needed: 

# key "rndc-key" ; #

# controls keys ;

# };

# end of named.conf

7) 從rndc.conf中提取named.conf用的key

#tail -10 /usr/local/webserver/bind/etc/rndc.conf | head -9 | sed s/#\ //g > /usr/local/webserver/bind/etc/named.conf

最終得到如下資訊:

key "rndc-key" ;

controls keys ;

};8) 配置named.conf加如下**

vi /usr/local/webserver/bind/etc/named.conf(複製時候注意標點符號的中英文輸入法)

新增如下資訊:

options ;                

zone "." in ;

//本地正向解析

zone "localhost" in ;

};//本地反向解析

zone "0.0.127.in-addr.arpa" in ;

};//本地test域解析

zone "test.com" in ;

};9) 配置zone檔案

mkdir /usr/local/webserver/bind/zone && cd /usr/local/webserver/bind/zone

用dig命令直接生成named.root檔案:

dig @a.root-servers.net > named.root

vim  /usr/local/webserver/bind/zone/localhost.zone

$ttl    86400

$origin localhost.

@                       1d in soa       @ root (

42              ; serial (d. adams)

3h              ; refresh

15m             ; retry

1w              ; expiry

1d )            ; minimum

1d in ns        @

1d in a         127.0.0.1

vim  /usr/local/webserver/bind/zone/named.local

$ttl    86400

@       in      soa     localhost. root.localhost. (

1997022700 ; serial

28800      ; refresh

14400      ; retry

3600000    ; expire

86400 )    ; minimum

in      ns      localhost.

1       in      ptr     localhost.

vim  /usr/local/webserver/bind/zone/test.zone

$ttl    1d

@               in soa  test.com.  root.test.com. (

1053891162 ; serial

3h; refresh

15m;retry

1w ; expire

1d ); minimum

in ns         ns.test.com.

in mx    5    test.com.

in a          3.3.3.3

ns                 in a          1.2.3.4

www             in a         220.202.19.82

10) 目錄檔案許可權

/usr/local/webserver/bind/*

【755的許可權】【named使用者和組】

11) 特殊檔案配置許可權

/usr/local/webserver/bind/zone/*   /usr/local/webserver/bind/etc/*

【640的許可權】【named使用者和組】

因為是將秘鑰(也就是密碼)放在named.conf和rndc.conf中,所以要確保無權控制名稱伺服器的使用者都無法讀取這兩個檔案

12)驗證配置檔案和zone檔案(這兩條命令都沒有錯的時候就是ok了)

/usr/local/webserver/bind/sbin/named-checkconf  /usr/local/webserver/bind/etc/named.conf

/usr/local/webserver/bind/sbin/named-checkzone test.com /usr/local/webserver/bind/zone/test.zone

13) 啟動bind

/usr/local/webserver/bind/sbin/named -g(可以檢視錯誤)

/usr/local/webserver/bind/sbin/named -c /usr/local/webserver/bind/etc/named.conf & -u named

14) 驗證網域名稱解析是否成功

dig @127.0.0.1 

test.com

Linux學習之原始碼安裝

步驟 以nginx為例 2.檢視原始碼 我們看到,src目錄下都是.c或者是.h的檔案,是c語言的原始碼 src下的內容為 3.準備安裝環境 我們看到其原始碼是c語言,那麼我們要安裝gcc等工具 我們首先通過yum進行查詢yum grouplist 找到development tools然後檢視這個...

Bullet安裝之 原始碼包編譯安裝

用vcpkg裝了bullet之後,還是找不到標頭檔案之類的,可能需要在vcpkg的什麼環境下使用吧,不太會用,就放棄了,還是用原始碼包自己編譯安裝吧 安裝成功之後,在usr local include和usr local lib中是有相應的檔案的,vcpkg安裝的都在home的vcpkg 目錄裡,不...

lamp之原始碼包安裝mysql

tar xzvf mysql 6.0.11 alpha.tar.gz mv mysql 6.0.11 alpha mysql mysql 1.建立mysql所需的目錄 mkdir p mysql 2.建立mysql使用者組 useradd mysql 3.檢查編譯環境 echo 當為0的時候表示沒有...