Help us understand the problem. What is going on with this article?

BIND9.11をインストールする(ソースからコンパイル) for CentOS7.3

More than 1 year has passed since last update.

DNSサーバーの代表格BIND。最近は脆弱性問題がしばしば出ることから常に最新版での運用が推奨される製品。この記事では、BINDをソースからコンパイルしてインストールする方法を記載しています。
(ソースからのビルドのため、常に最新版での運用が可能となります)
2017年5月現在のBINDは、「9-11-1-p1」が最新版です。

ダウンロード先

https://www.isc.org/downloads/

検証環境バージョン

ソフトウェア バージョン
BIND 9-11-1-p1
OS CentOS 7.3

事前インストール

OpenSSLが事前に必要です。以下を参考に事前にインストールをしておきます。
OpenSSL(1.0.x)をインストールする(ソースからコンパイル)for CentOS 7.2

インストール

cd /usr/local/src
wget --trust-server-name https://www.isc.org/downloads/file/bind-9-11-1/?version=tar-gz
mv index.html?version=tar-gz bind-9-11-1-p1.tar.gz
tar xvzf bind-9.11.1-p1.tar.gz
cd bind-9-11-1-P1
./configure \
--enable-threads \
--with-openssl=/usr/local/ssl
make
make install

初期設定

事前準備

bind起動用のユーザーを作成します。

useradd named
mkdir -p /var/named
chown named:named -R /var/named/
mkdir -p /run/named
chown named:named -R /run/named

キーの生成を行う

#/etc/rndc.keyのファイルを作成
/usr/local/sbin/rndc-confgen -a

#rndc.confを作成
rndc-confgen -r /var/log/messages > /etc/rndc.conf

vi /etc/rndc.conf
- key "rndc-key"以下をコピー -
touch /etc/named.conf
vi /etc/named.conf

rndcのキーをコピーする

vi /etc/rndc.key
key "rndc-key" {
        algorithm hmac-md5;
        secret "XXXXXXXXXXXXXXXXXXXXXX==";
};

コピーしたキーをrdnc.confに張り付ける

vi /etc/rndc.conf
# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "XXXXXXXXXXXXXXXXXXXXXX==";
};

ヒントファイルを取得する

cd /var/named
wget https://www.internic.net/domain/named.root

named.comfを配置する

vi /etc/named.conf
options {
    directory "/var/named";
    allow-recursion{ 192.168.0.0/16; localhost; };
    version "unknow";
};

key "rndc-key" {
      algorithm hmac-md5;
      //rdnc.keyのキーをここに入れる
      secret "XXXXXXXXXXXXXXXXXXXXXX==";
};

controls {
      inet 127.0.0.1 port 953
              allow { 127.0.0.1; } keys { "rndc-key"; };
};

zone "." IN {
    type hint;
    file "named.root";
};

zone "localhost" IN {
    type master;
    file "named.localhost";
};

zone "0.0.127.in-addr.arpa" IN {
    type master;
    file "named.loopback";
};

Zoneファイルを用意する

mkdir -p /var/named
vi /var/named/named.localhost

localhost正引き

named.localhost
$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
vi /var/named/named.loopback

localhost逆引き

$TTL 1D
@   IN SOA  @ rname.invalid. (
                    0   ; serial
                    1D  ; refresh
                    1H  ; retry
                    1W  ; expire
                    3H )    ; minimum
    NS  @
    A   127.0.0.1
    AAAA    ::1
    PTR localhost.

起動スクリプトを配置

vi /usr/lib/systemd/system/named.service
[Unit]
Description=Berkeley Internet Name Domain (DNS)

[Service]
Type=forking
PIDFile=/run/named/named.pid

ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/local/sbin/named-checkconf -z /etc/named.conf; else echo "Checking of zone files is disabled"; fi'
ExecStart=/usr/local/sbin/named -u named $OPTIONS

ExecReload=/bin/sh -c '/usr/local/sbin/rndc reload > /dev/null 2>&1 || /bin/kill -HUP $MAINPID'

ExecStop=/bin/sh -c '/usr/local/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'

PrivateTmp=true

[Install]
WantedBy=multi-user.target

サービスを起動し、自動起動を設定

systemctl start bind
systemctl enable bind
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away