Samba4でのDomain Controller作成
amba4とbindは同じマシン上で作動することとする。
DNS関連設定
参照DNSの変更
vi /etc/resolv.conf
127.0.0.1 localhost
#127.0.1.1 hostname.sugio-garden.com hostname
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
AD用の定義ファイルをコピーする。
cp /usr/share/samba/setup/named.conf.dlz /var/lib/samba/private/named.conf
定義ファイルで実行バージョンに合わせて編集する。
# For BIND 9.10.x
database "dlopen ${MODULESDIR}/bind9/dlz_bind9_10.so";
#${BIND9_10} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_10.so";
BIND9へのレコード登録
samba.sugio-garden.comをドメインコントローラ(この場合、ドメイン名はsugio-garden.com)とする。
samba.sugio-garden.com. A 4.2.2.3
_ldap._tcp.ad.sugio-garden.com. SRV 0 0 389 samba.sugio-garden.com.
_kerberos._tcp.sugio-garden.com. SRV 0 0 88 samba.sugio-garden.com.
_ldap._tcp.dc._msdcs.sugio-garden.com. SRV 0 0 389 samba.sugio-garden.com.
_kerberos._tcp.dc._msdcs.sugio-garden.com. SRV 0 0 88 samba.sugio-garden.com.
gc._msdcs.sugio-garden.com. SRV 0 0 3268 samba.sugio-garden.com.
SAMBA4の設定
パッケージのインストール
apt install samba smbclient krb5-user acl rm -f /etc/samba/smb.conf
samba4の設定
samba-tool domain provision --dns-backend=BIND9_DLZ --realm=SUGIO-GARDEN.COM --domain=SUGIO-GARDEN --server-role=dc --function-level=2008_R2 --adminpass=パスワード
個別パラメーターを確認しながら設定する場合には、以下のコマンドを投入する。
samba-tool domain provision --use-rfc2307 --interactive
対話形式の設定を行う。
ドメインコントローラのレベルを変更する。
samba-tool domain level show samba-tool domain level raise --domain-level 2008_R2 --forest-level 2008_R2 samba-tool domain level show Domain and forest function level for domain 'DC=sugio-garden,DC=com'
sambaの設定ファイルの変更
vi /etc/samba/smb.conf
# Global parameters [global]
workgroup = SUGIO-GARDEN
realm = SUGIO-GARDEN.COM
netbios name = samba
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
server services = -dns, -nbt
BINDの設定変更する。
bindのバージョンを確認する。
dig @localhost chaos txt version.bind
SAMBA用の設定ファイルをBINDのバージョンに合わせて変更する。
vi /var/lib/samba/private/named.conf
dlz "AD DNS Zone" {
# For BIND 9.8.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9.so";
# For BIND 9.9.x
database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_9.so";
# For BIND 9.10.x
# database "dlopen /usr/lib/x86_64-linux-gnu/samba/bind9/dlz_bind9_10.so";
};
SAMBA用の設定ファイルを読み込むようにする。
vi /etc/bind/named.conf
include "/var/lib/samba/private/named.conf";
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
再起動を行う。
reboot
動作確認
DNS名前解決チェック
hostコマンドで、LDAPサーバ、Kerberosサーバ、自IPのそれぞれが名前解決できるか確認。
host -t SRV _kerberos._udp.sugio-garden.com host -t A samba.sugio-garden.com host -t SRV _ldap._tcp.sugio-garden.com
smbclient でサーバと接続確認
smbclient -L samba.sugio-garden.com -U%
管理者としてログインできるか確認
smbclient //samba.sugio-garden.com/netlogon -Uadministrator
失敗した場合には
- /etc/samba/smb.conf を削除
- /var/lib/samba/*.tdb を削除
- /var/lib/samba/private/ 以下のファイルを削除
- /var/cache/samba/ 以下のファイル(ディレクトリ含む)を削除
rm /etc/samba/smb.conf rm /var/lib/samba/*.tdb rm -R /var/lib/samba/private/* rm -R /var/cache/samba/
Windowsの参照DNSを変更してドメインに参加する。
SSL対応
Samba4をLDAPSに対応させる。
[global]
workgroup = DOMAIN.COM
realm = DOMAIN.COM
netbios name = ホスト名
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbind, ntp_signd, kcc, dnsupdate
server services = -dns, -nbt
tls enabled = yes
tls keyfile = 秘密鍵
tls certfile = 公開鍵
tls cafile = 証明書