/etc/sysconfig/osoba

linuxについての忘備録など

bindをソースからインストールして内部DNSサーバーを構築する

bindをCentOS6.3にソースインストールしたログ。

 

OS : CentOS6.3 x86_64

インストールタイプ : minimal

 

まずネットワークを有効化する。

# /etc/sysconfig/network-scripts/ifcfg-eth0

# /etc/init.d/network restart

 

必要となるパッケージをインストールする。

# yum -y install wget (bindをダウンロードするのに必要)

# yum -y install openssl-devel (bindのconfigureで必要)

# yum -y install gcc (configureするのに必要)

# yum -y install perl (configureの内部で必要)

# yum -y install make (configureとmake時に必要)

※ yum -y groupinstall "Development tools"でもいいかもね。

 

bindのソースをダウンロード、展開する。

# cd /usr/local/src

# wget ftp.isc.org/isc/bind9/9.9.2-P1/bind-9.9.2-P1.tar.gz

# tar zxvf bind9-9.9.2-P1.tar.gz

 

configure、make、make installを実行する。

# cd bind9-9.9.2-P1

# ./configure --prefix=/var/named/chroot --enable-threads

# make

# make install

※configureのオプションが知りたい場合は以下を実行。

# ./configure --help

 

bindの実行ユーザーを作成する。

# groupadd -g 25 named
# useradd -u 25 -g named -c Named -d /var/named -s /sbin/nologin named

 

デバイスファイルの作成。

# mkdir /var/named/chroot/dev

# mknod -m 666 /var/named/chroot/dev/null c 1 3
# mknod -m 666 /var/named/chroot/dev/random c 1 8

 

rndcキーの作成。

# /var/named/chroot/sbin/rndc-confgen -a

 

コマンドのスタティックリンクを作成。

# ln -s /var/named/chroot/sbin/rndc /usr/local/sbin/rndc
# ln -s /var/named/chroot/sbin/named-checkconf /usr/local/sbin/named-checkconf
# ln -s /var/named/chroot/sbin/named-checkzone /usr/local/sbin/named-checkzone
# ln -s /var/named/chroot/bin/dig /usr/local/bin/dig

 

ルートサーバーの情報を更新。

# mkdir /var/named/chroot/var/named

# dig @a.root-servers.net . ns > /var/named/chroot/var/named/named.ca

 

named.confを作成。

# vi /var/named/chroot/etc/named.conf

 

zoneファイルを作成。

# mkdir /var/named/chroot/var/named

# vi /var/named/chroot/var/named/example.local.db

# vi /var/named/chroot/var/named/0.168.192.in-addr.arpa.db

 

ディレクトリの所有者を変更。

# chown -R named:named /var/named

 

bindの起動。

# /var/named/chroot/sbin/named -u named -t /var/named/chroot -c /etc/named.conf

 

bindの起動を確認。

# tail /var/log/messages

Mar 15 14:56:27 test1 named[19711]: all zones loaded
Mar 15 14:56:27 test1 named[19711]: running

 

名前が引けるか確認。

# dig @localhost example.local.

...

;; ANSWER SECTION:
example.local.                    86400               IN            A            192.168.0.60

...

 

※サブネットからの問合せを受け付ける場合、以下に追加

# /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

 

(参考)

http://koshikake.blogto.jp/archives/6328895.html

http://www.geocities.jp/yasasikukaitou/bind_install.html

http://centossrv.com/bind-lan.shtml

http://park1.wakwak.com/~ima/centos4_bind0001.html