bindインストール手順
プライマリのDNSサーバの構築のメモ
ネットワーク構成
キャッシュサーバ兼、内向きのプライマリサーバとして設定します
ゾーン | example.co.jp |
LANのIP | 192.168.1.0/24 |
スレーブDNSサーバ | 192.168.1.101 |
必要なソフト
bind-9.3.2.tar.gz | http://www.isc.org から最新版をダウンロードします。 |
openssl | DNSSEC(鍵付きのゾーン転送)機能を使う場合に必要 ダウンロードサイト http://www.openssl.org |
インストール手順
■sourceの展開
% gzip -dc bind-9.3.2.tar.gz | tar xvf - 適当なディレクトリで展開 % cd bind-9.3.2
■configureの実行
% ./configure --prefix=/usr/local/bind-9.3.2 --sysconfdir=/etc \ --localstatedir=/var
オプション | 説明 |
---|---|
--prefix | 指定しないと/usr/local/sbinや/usr/local/binにインストールされる ここでは既存のBindへの上書きをせず別ディレクトリ(/usr/local/bind-9.3.2)を指定 |
--sysconfdir | named.confやrndc.confの場所を指定する。 デフォルトは${PREFIX}/etc |
--localstatedir | ゾーンファイルの場所を指定する。 デフォルトは${PREFIX}/var |
--with-openssl | opensslの場所を指定する。 |
■makeの実行
% make 2>&1 | tee make.log % su # make install 2>&1 | tee make_install.log
■ユーザ/グループの作成
bind8以降ではrootでのデーモン起動はセキュリティ上、好ましくないのでbind専用のユーザ/グループで起動することを推奨しています。
namedを低い権限で起動することで、もし権限が奪取されても被害がシステムに及ぶのを防ぎます。
ここではユーザ/グループ "named"を作成し、シェルは割り当てずに/bin/false を指定します。
# groupadd named # useradd -g named -d /var/named -s /bin/false
ホームディレクトリ(/var/named)を作成し、オーナーを変更
# chown named:named /var/named/
■ シンボリックリンクの作成
必須ではないですがインストール先のディレクトリ(/usr/local/bind-9.3.2)から/usr/local/bindへのシンボリックリンクを張ります。
# ln -s /usr/local/bind-9.3.2 /usr/local/bind
BIND の設定
ゾーンファイルの作成
■ localhostの正引き(localhost.zone)
; localhost. $TTL 3600 @ in soa localhost. postmaster.localhost. ( 2006100101 ;serial 3600 ;refresh 1800 ;retry 604800 ;expiration 3600 ) ;minimum ; in ns localhost. localhost in a 127.0.0.1
■ localhostの逆引き(localhost.rev)
; 0.0.127.in-addr.arpa $TTL 3600 @ in soa localhost. postmaster.localhost. ( 2006093001 ;serial 3600 ;refresh 1800 ;retry 604800 ;expiration 3600 ) ;minimum in ns localhost. 1 in ptr localhost.
■ example.co.jpの正引き(example.zone)
; example.co.jp. $TTL 3600 @ in soa tpad.example.co.jp. postmaster.example.co.jp. ( 2006093001 ;serial 3600 ;refresh 1800 ;retry 604800 ;expiration 3600 ) ;minimum ; in ns tpad.example.co.jp. ; tpad in a 192.168.1.101 example.co.jp. in mx 10 tpad.example.co.jp.
■ example.co.jpの逆引き(example.rev)
; 1.168.192.in-addr.arpa $TTL 3600 @ in soa tpad.example.co.jp. postmaster.example.co.jp. ( 2006093001 ;serial 3600 ;refresh 1800 ;retry 604800 ;expiration 3600 ) ;minimum ; in ns tpad.example.co.jp. ; 101 in ptr tpad.example.co.jp.
■ ルートキャッシュファイル
ftp://rs.internic.net/domain/ から最新のnamed.rootをダウンロードrndc 関連の設定
以下のコマンドで/etc/rndc.key が生成されます。
# /usr/local/bind/sbin/rndc-confgen -a
■生成されたrndc.key
key "rndc-key" { algorithm hmac-md5; secret "BBfcugsHpbwZ2V/X+QZ94w=="; };
rndc.keyは、rndcがnamedに接続する際に必要な秘密鍵が含まれます。
named.conf にcontrolsステートメントを記述します。
"key-name"は任意の名称ですが、上記で作成したrndc.key のkeyステートメント内の名称と合わせる必要があります。
(デフォルトでは「rndc-key」です)
controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "key-name"; }; };
named.confの作成
■ /etc/named.conf
acl local { 192.168.1.0/24; 127.0.0.1; }; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; options { directory "/var/named"; recursion yes; pid-file "/var/named/named.pid"; /* query-source address * port 53;*/ allow-transfer { local; }; allow-query { local; }; allow-recursion { local; }; }; zone "." { type hint; file "named.root"; }; zone "localhost" { type master; file "localhost.zone"; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; }; zone "example.co.jp" { type master; file "example.zone"; }; zone "1.168.192.in-addr.arpa" { type master; file "example.rev"; };
起動と動作確認
namedの起動
# /usr/local/bind/sbin/named -u named
ログにエラーが出力されてないことを確認
# tail /var/adm/messages
動作確認
ゾーン登録したエントリーが引けることをdigコマンドで確認
# dig @127.0.0.1 tpad.example.co.jp ; <<>> DiG 9.3.2-P1 <<>> @127.0.0.1 tpad.example.co.jp ; (1 server found) ;; global options: printcmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55491 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;tpad.example.co.jp. IN A ;; ANSWER SECTION: tpad.example.co.jp. 3600 IN A 192.168.1.101 ;; AUTHORITY SECTION: example.co.jp. 3600 IN NS tpad.example.co.jp. ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Sun Oct 8 21:32:09 2006 ;; MSG SIZE rcvd: 66
以下、rndcコマンドの確認です。
# /usr/local/bind/sbin/rndc status number of zones: 4 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/1000 tcp clients: 0/100 server is up and running
起動スクリプト修正
OS起動時にnamedが起動するように/etc/rc2.d/S72inetsvcを修正します。
変更前) if [ -f /etc/named.conf ] && [ -f /usr/sbin/in.named ]; then echo 'starting internet domain name server.' /usr/sbin/in.named & 変更後) if [ -f /etc/named.conf ] && [ -f /usr/local/bind/sbin/named ]; then echo 'starting internet domain name server.' /usr/local/bind/sbin/named &
1/2
|
次ページ |