«前の日記(2013年02月25日) 最新 次の日記(2013年03月06日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2013年03月03日 [長年日記]

[Samba]Samba 4.0でBIND9のDLZ(Dynamic Loadable Zone)機能を用いたDNSサーバ機能を有効化する

何度かやったことはありましたが、備忘録として。

Samba 側の設定

configure、makeなどは特に意識する必要はありません。最後に provision するときに、以下のように --dns-backend=BIND9_DLZ を指定します。

/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 \
--realm=SAMBA40AD2.SAMBA.LOCAL --domain=SAMBA40AD2 \
--adminpass=Password1 --dns-backend=BIND9_DLZ

BIND側の設定

今回は、BIND最新版の BIND-9.9.2-P1 をコンパイルしました。パッケージ付属のものを使う場合は、--with-dlopen オプション付きで configure されたものであることを確認する必要があります。

# /usr/local/bind/sbin/named -V
BIND 9.9.2-P1 built with '--prefix=/usr/local/bind' '--with-dlopen'
using OpenSSL version: OpenSSL 0.9.8o 01 Jun 2010

BIND 9.8 以降では、named.conf の options に以下の記載をいれておく必要があります。

options {
  ...
  tkey-gssapi-keytab "/usr/local/samba/private/dns.keytab";
  ...
}

この dns.keytab ファイルは BIND の実行プロセスから読み取り可能になっている必要があります。

次いで、include などを用いて /usr/local/samba/private/named.conf の内容を挿入する必要があります。

この際、BIND のバージョンが 9.8 か 9.9 かによって、named.conf 内を参照して設定を変更する必要があります。

デフォルトは BIND 9.8 用になっていますので、BIND 9.9 を使用する場合は、BIND 9.8 用設定のコメントと BIND 9.9 用設定のコメントアウトを行う必要があります。

# This DNS configuration is for BIND 9.8.0 or later with dlz_dlopen support.
(中略)
# Uncomment only single database line, depending on your BIND version
#
dlz "AD DNS Zone" {
    # For BIND 9.8.0
#    database "dlopen /usr/local/samba/lib/bind9/dlz_bind9.so";

    # For BIND 9.9.0
    database "dlopen /usr/local/samba/lib/bind9/dlz_bind9_9.so";
};

この設定を忘れると、以下のようなエラーメッセージが syslog に出力されます。

Feb  4 20:11:11 vm1 named[22249]: Loading 'AD DNS Zone' using driver dlopen
Feb  4 20:11:11 vm1 named[22249]: dlz_dlopen: incorrect version 1 should be 2 in '/usr/local/samba/lib/bind9/dlz_bind9.so'
Feb  4 20:11:11 vm1 named[22249]: dlz_dlopen of 'AD DNS Zone' failed

最後に、BIND を /usr/sbin 以外のパスにインストールした場合は、smb.conf で nsupdate command オプションを設定して、nsupdate コマンドの場所を明示的に指定しておく必要があります。

nsupdate commadn = /usr/local/bind/bin/nsupdate

あとは、普通に samba と named を起動すれば、動作しているはずです。以下のように host コマンドなどで SRV レコードや A レコードが参照できていれば、設定は成功です。

host -t A samba40-1.samba40ad2.samba.local.
samba40-1.samba40ad2.samba.local has address 192.168.1.35
# host -t SRV _ldap._tcp.samba40ad2.samba.local.
_ldap._tcp.samba40ad2.samba.local has SRV record 0 100 389 samba40-1.samba40ad2.samba.local.

参考


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com