![見出し画像](https://assets.st-note.com/production/uploads/images/110270502/rectangle_large_type_2_f9a7665ccece8ed4cf7c467cf3c9442b.png?width=1200)
395.2 Samba4のAD互換ドメインコントローラ
主題395:Sambaのドメイン統合
395.2 Samba4のAD互換ドメインコントローラ
LinuC300の試験範囲である主題390~397まであるうちの「主題395:Sambaのドメイン統合」から「395.2 Samba4のAD互換ドメインコントローラ」についてのまとめ
重要度:3
説明:
ADドメインコントローラとして Samba4 を設定できること。主要な知識範囲:
- ADドメインコントローラ として Samba4 を設定およびテストする
- smbclient を使用して ADの稼働を確認する
- Samba がDNS、Kerberos、NTP、LDAP などの ADサービスと統合する方法について理解する重要なファイル、用語、ユーティリティ:
- smb.conf
- server role
- samba-tool domainと、そのサブコマンド
- samba
(補足)
補足1:OSとインストール方法の選択について
RHEL系のOS(RockyLinux、AlmaLinux、CentOSなど)の場合、パッケージ版Samba4ではドメインコントローラーの構築ができません。 RHEL系のOSでSambaのドメインコントローラーを構築するためにはSamba4をソースからインストールする必要があります。様々な事情でパッケージ版のSamba4でドメインコントローラーを構築したい場合はUbuntuを選択すると良いようです。
~RockyLinux+Samba3(ソースインストール)~
そもそもsamba-toolコマンドがない。
Samba3はNTドメインには対応しているが、ActiveDirectoryドメインには対応していないのでSamba4を選択することになる。
[root@rocky9-samba31 ~]#
[root@rocky9-samba31 ~]# samba-tool
bash: samba-tool: コマンドが見つかりません
[root@rocky9-samba31 ~]#
~RockyLinux9+Samba4(パッケージ版)~
samba-toolコマンドはあるがprovisionサブコマンドがない。
[root@rocky9-samba41 ~]#
[root@rocky9-samba41 ~]# samba-tool --version
4.17.5
[root@rocky9-samba41 ~]#
[root@rocky9-samba41 ~]# samba-tool domain --help
Usage: samba-tool domain <subcommand>
Domain management.
Options:
-h, --help show this help message and exit
Available subcommands:
info - Print basic info about a domain and the DC passed as parameter.
join - Join domain as either member or backup domain controller.
leave - Cause a domain member to leave the joined domain.
For more help on a specific subcommand, please type: samba-tool domain <subcommand> (-h|--help)
[root@rocky9-samba41 ~]#
~RockyLinux9+Samba4(ソースインストール)~
samba-tool domain provisionコマンドが使える。
(別記事 Appendix (準備)Samba4をソースからインストールする:RockyLinux9 参照)
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool --version
4.18.4
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain --help
samba-tool domain: missing subcommand
Usage: samba-tool domain <subcommand>
Domain management.
Options:
-h, --help show this help message and exit
--color=always|never|auto
use colour if available (default: auto)
Available subcommands:
backup - Create or restore a backup of the domain.
classicupgrade - Upgrade from Samba classic (NT4-like) database to Samba AD DC database.
dcpromo - Promote an existing domain member or NT4 PDC to an AD DC.
demote - Demote ourselves from the role of Domain Controller.
exportkeytab - Dump Kerberos keys of the domain into a keytab.
functionalprep - Domain functional level preparation
info - Print basic info about a domain and the DC passed as parameter.
join - Join domain as either member or backup domain controller.
leave - Cause a domain member to leave the joined domain.
level - Raise domain and forest function levels.
passwordsettings - Manage password policy settings.
provision - Provision a domain. <--- ★これを使いたい
schemaupgrade - Domain schema upgrading
tombstones - Domain tombstone and recycled object management.
trust - Domain and forest trust management.
For more help on a specific subcommand, please type: samba-tool domain <subcommand> (-h|--help)
[root@rocky9-samba42 ~]#
補足2:LXDホストの設定変更
本記事の執筆環境であるLXDコンテナでSambaのドメインコントローラーを構築する際には、当該コンテナに対してsecurity.privileged=trueの設定を追加して特権コンテナとして動作するようにしてください。
※この設定をするとコンテナのrootユーザー=ホストのrootユーザーになってしまうので本番環境での利用は避けたほうが良いでしょう※
ubuntu@jammy:~$
ubuntu@jammy:~$ lxc config set rocky9-samba42 security.privileged=true
ubuntu@jammy:~$
これがないとsamba-tool domain provisionの途中で以下のようなエラーが出てしまいます。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain provision --domain=example --realm=EXAMPLE.LOCAL --adminpass=Password123! --use-rfc2307
:
ERROR(runtime): uncaught exception - (3221225506, '{Access Denied} A process has requested access to an object but has not been granted those access rights.')
:
[root@rocky9-samba42 ~]#
上記エラーがあってもsmb.confは生成されますが、sambaサービスが起動しません。
補足3:時刻同期について
~NTPサーバーを使って時刻同期をする~
ドメインコントローラーの認証で使われるKerberosでは時刻のズレが許されないため外部のNTPサーバーを参照して時刻同期をしておく必要があります。
RockyLinux9であればchronyというパッケージで実現できます(下記操作例を参照)。 ただし、本記事の執筆環境であるLXDコンテナの場合、コンテナの時刻はLXDホストと同期をしているので、コンテナ自身が外部NTPサーバーを参照して時刻同期をする必要はありません。
また、コンテナからの時刻同期が制限されているので上記解説にあるchronyをインストールして設定をしても時刻同期はできません。
(参考)
LXCコンテナの中から、chronydでホストの時刻を補正・配信する - kWatanabe の 技術帖
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# dnf install -y chrony
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# vi /etc/chrony.conf
:
#pool 2.rocky.pool.ntp.org iburst <--- ★コメントアウト
pool ntp.nict.jp iburst <--- ★国内のNTPサーバーを指定
:
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl restart chronyd
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; preset: enabled)
Active: active (running) since Fri 2023-07-07 12:21:20 JST; 4s ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Process: 27421 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 27423 (chronyd)
Tasks: 1 (limit: 23172)
Memory: 948.0K
CPU: 43ms
CGroup: /system.slice/chronyd.service
mq27423 /usr/sbin/chronyd -F 2
7月 07 12:21:20 rocky9-samba42 systemd[1]: Starting NTP client/server...
7月 07 12:21:20 rocky9-samba42 chronyd[27423]: chronyd version 4.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PR>
7月 07 12:21:20 rocky9-samba42 chronyd[27423]: Frequency -12.252 +/- 0.208 ppm read from /var/lib/chrony/dri>
7月 07 12:21:20 rocky9-samba42 chronyd[27423]: Using right/UTC timezone to obtain leap second data
7月 07 12:21:20 rocky9-samba42 chronyd[27423]: Loaded seccomp filter (level 2)
7月 07 12:21:20 rocky9-samba42 systemd[1]: Started NTP client/server.
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- ntp-b3.nict.go.jp 1 6 17 12 -407us[ -407us] +/- 2647us
^- ntp-b2.nict.go.jp 1 6 17 12 -741us[ -741us] +/- 2997us
^* ntp-k1.nict.jp 1 6 17 13 +60us[ +629us] +/- 7766us
^- ntp-a3.nict.go.jp 1 6 17 12 -144us[ -144us] +/- 2773us
[root@rocky9-samba42 ~]#
ADドメインコントローラ として Samba4 を設定およびテストする
(補足)
Sambaでファイルサーバーを構築したり、Samba3でNTドメインに参加したり、NTドメインのドメインコントローラーを構築する際にはsmb(smb+nmb)とwinbindというサービスをそれぞれ操作をしていましたが、Samba4でADドメインのドメインコントローラーを構築する際に使うサービスはsambaになります。
ドメインコントローラー1号機:DC1
~(DC1)既存の設定ファイルを退避~
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# mv /usr/local/samba/etc/smb.conf /usr/local/samba/etc/smb.conf.orig
[root@rocky9-samba42 ~]#
~(DC1)ドメインコントローラー初期設定~
samba-tool domain provisionコマンドで初期設定をすると、smb.confが生成されるので、必要に応じてインターフェースの制限や上位DNS(dns forwarder)の設定を編集してください。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool domain provision \
--domain=example \
--realm=EXAMPLE.LOCAL \
--adminpass=Password123! \
--use-rfc2307
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
bind interfaces only = yes
interfaces = 127.0.0.1 eth1
dns forwarder = 8.8.8.8
netbios name = ROCKY9-SAMBA42
realm = EXAMPLE.LOCAL
server role = active directory domain controller
workgroup = EXAMPLE
idmap_ldb:use rfc2307 = yes
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[netlogon]
path = /usr/local/samba/var/locks/sysvol/example.local/scripts
read only = No
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
Load smb config files from /usr/local/samba/etc/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)
Server role: ROLE_ACTIVE_DIRECTORY_DC
# Global parameters
[global]
bind interfaces only = Yes
dns forwarder = 8.8.8.8
interfaces = 127.0.0.1 eth1
passdb backend = samba_dsdb
realm = EXAMPLE.LOCAL
server role = active directory domain controller
workgroup = EXAMPLE
rpc_server:tcpip = no
rpc_daemon:spoolssd = embedded
rpc_server:spoolss = embedded
rpc_server:winreg = embedded
rpc_server:ntsvcs = embedded
rpc_server:eventlog = embedded
rpc_server:srvsvc = embedded
rpc_server:svcctl = embedded
rpc_server:default = external
winbindd:use external pipes = true
idmap_ldb:use rfc2307 = yes
idmap config * : backend = tdb
map archive = No
vfs objects = dfs_samba4 acl_xattr
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[netlogon]
path = /usr/local/samba/var/locks/sysvol/example.local/scripts
read only = No
[root@rocky9-samba42 ~]#
~(DC1)起動する~
※起動するサービスはsambaです。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl start samba
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# systemctl status samba
● samba.service - Samba AD Daemon
● samba.service - Samba AD Daemon
Loaded: loaded (/etc/systemd/system/samba.service; disabled; preset: disabled)
Drop-In: /run/systemd/system/service.d
mqzzz-lxc-service.conf
Active: active (running) since Fri 2023-07-07 11:53:39 JST; 52min ago
Docs: man:samba(8)
man:samba(7)
man:smb.conf(5)
Main PID: 149 (samba)
Status: "samba: ready to serve connections..."
Tasks: 59 (limit: 24385)
Memory: 179.1M
CGroup: /system.slice/samba.service
tq149 /usr/local/samba/sbin/samba --foreground --no-process-group
tq150 /usr/local/samba/sbin/samba --foreground --no-process-group
tq151 /usr/local/samba/sbin/samba --foreground --no-process-group
tq152 /usr/local/samba/sbin/samba --foreground --no-process-group
tq153 /usr/local/samba/sbin/samba --foreground --no-process-group
tq154 /usr/local/samba/sbin/samba --foreground --no-process-group
tq155 /usr/local/samba/sbin/samba --foreground --no-process-group
tq156 /usr/local/samba/sbin/smbd -D "--option=server role check:inhibit=yes" --foreground
tq157 /usr/local/samba/sbin/samba --foreground --no-process-group
tq158 /usr/local/samba/sbin/samba --foreground --no-process-group
tq159 /usr/local/samba/sbin/samba --foreground --no-process-group
tq160 /usr/local/samba/sbin/samba --foreground --no-process-group
tq161 /usr/local/samba/sbin/samba --foreground --no-process-group
tq162 /usr/local/samba/sbin/samba --foreground --no-process-group
tq163 /usr/local/samba/sbin/samba --foreground --no-process-group
tq164 /usr/local/samba/sbin/samba --foreground --no-process-group
[root@rocky9-samba42 ~]#
~(DC1)確認をする~
samba-tool processesコマンドを使うと、Sambaのドメインコントローラーで使われているプロセスのPIDがわかる。
また、pstreeコマンドを使うとsambaというプロセス(PID507)からSambaのドメインコントローラーで使われている様々なプロセスが関連していることがわかる。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool processes
Service: PID
--------------------------------------
cldap_server 529
dnssrv 553
dnsupdate 550
dreplsrv 533
kccsrv 545
kdc_server 531
kdc_server(worker 3) 552
kdc_server(worker 0) 536
kdc_server(worker 1) 542
kdc_server(worker 2) 547
ldap_server 526
ldap_server(worker 1) 566
ldap_server(worker 2) 568
ldap_server(worker 0) 564
ldap_server(worker 3) 570
nbt_server 516
notify-daemon 560
rpc_server 511
rpc_server(worker 2) 524
rpc_server(worker 0) 518
rpc_server(worker 1) 522
rpc_server(worker 3) 527
samba 507 <--★
winbind_server 548
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pstree -p -A
systemd(1)-+-NetworkManager(79)-+-dhclient(97)
| |-dhclient(98)
| |-{NetworkManager}(84)
| `-{NetworkManager}(86)
|-agetty(94)
|-crond(95)
|-dbus-broker-lau(83)---dbus-broker(85)
|-rsyslogd(77)-+-{rsyslogd}(81)
| `-{rsyslogd}(82)
★--> |-samba(507)-+-tfork(509)(508)---sfs[master](509)---tfork(514)(513)---smbd(514)-+-smbd-cleanupd(5+
| | `-smbd-notifyd(56+
| |-tfork(511)(510)---rpc[master](511)-+-tfork(518)(515)---rpc(0)(518)
| | |-tfork(522)(519)---rpc(1)(522)
| | |-tfork(524)(523)---rpc(2)(524)
| | `-tfork(527)(525)---rpc(3)(527)
| |-tfork(516)(512)---nbt[master](516)
| |-tfork(520)(517)---wrepl[master](520)
| |-tfork(526)(521)---ldap[master](526)-+-tfork(564)(563)---ldap(0)(564)
| | |-tfork(566)(565)---ldap(1)(566)
| | |-tfork(568)(567)---ldap(2)(568)
| | `-tfork(570)(569)---ldap(3)(570)
| |-tfork(529)(528)---cldap[master](529)
| |-tfork(531)(530)---kdc[master](531)-+-tfork(536)(535)---kdc(0)(536)
| | |-tfork(542)(538)---kdc(1)(542)
| | |-tfork(547)(544)---kdc(2)(547)
| | `-tfork(552)(549)---kdc(3)(552)
| |-tfork(533)(532)---drepl[master](533)
| |-tfork(537)(534)---winbindd[master(537)---tfork(548)(543)---winbindd(548)-+-wb-idmap+
| | `-wb[EXAMP+
| |-tfork(540)(539)---ntp_signd[maste(540)
| |-tfork(545)(541)---kcc[master](545)
| |-tfork(550)(546)---dnsupdate[maste(550)
| `-tfork(553)(551)---dns[master](553)
|-systemd-journal(67)
`-systemd-logind(78)
[root@rocky9-samba43 ~]#
~(DC1)ActiveDirectory特有のSRVレコードを検索する
問い合わせをするDNSサーバーはSambaのドメインコントローラーを指定する。 以下は自分自身がドメインコントローラーなので127.0.0.1としている。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# cat /etc/resolv.conf
nameserver 127.0.0.1
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# host -t SRV _ldap._tcp.dc._msdcs.EXAMPLE.LOCAL
_ldap._tcp.dc._msdcs.EXAMPLE.LOCAL has SRV record 0 100 389 rocky9-samba42.example.local.
[root@rocky9-samba43 ~]#
ドメインコントローラー2号機:DC2
~(DC2)Sambaサーバーが参照するDNSを変更する~
DC1のアドレスにする。
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/resolv.conf
nameserver 192.168.56.42
[root@rocky9-samba43 ~]#
~(DC2)Kerberos認証の設定ファイルを編集する~
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/krb5.conf
# To opt out of the system crypto-policies configuration of krb5, remove the
# symlink at /etc/krb5.conf.d/crypto-policies which will not be recreated.
includedir /etc/krb5.conf.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
spake_preauth_groups = edwards25519
dns_canonicalize_hostname = fallback
qualify_shortname = ""
default_realm = EXAMPLE.LOCAL <--- ★ドメイン名を指定する
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
EXAMPLE.LOCAL = {
kdc = 192.168.56.42 <--- ★PDCのIPアドレスを指定する
}
[domain_realm]
.example.local = EXAMPLE.LOCAL <--- ★ドメイン名を指定する
example.local = EXAMPLE.LOCAL <--- ★ドメイン名を指定する
[root@rocky9-samba43 ~]#
~(DC2)設定ファイルを退避する~
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# mv /usr/local/samba/etc/smb.conf /usr/local/samba/etc/smb.conf.orig
[root@rocky9-samba43 ~]#
~(DC2)ドメイン情報を確認する~
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool domain info 192.168.56.42
Forest : example.local
Domain : example.local
Netbios domain : EXAMPLE
DC name : rocky9-samba42.example.local
DC netbios name : ROCKY9-SAMBA42
Server site : Default-First-Site-Name
Client site : Default-First-Site-Name
[root@rocky9-samba43 ~]#
~(DC2)ActiveDirectoryドメインに参加する~
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool domain join example.local DC -U Administrator
Password for [WORKGROUP\Administrator]: ********
:
Adding CN=ROCKY9-SAMBA43,OU=Domain Controllers,DC=example,DC=local
Adding CN=ROCKY9-SAMBA43,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
Adding CN=NTDS Settings,CN=ROCKY9-SAMBA43,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
Adding SPNs to CN=ROCKY9-SAMBA43,OU=Domain Controllers,DC=example,DC=local
:
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# cat /usr/local/samba/etc/smb.conf
# Global parameters
[global]
netbios name = ROCKY9-SAMBA43
realm = EXAMPLE.LOCAL
server role = active directory domain controller
workgroup = EXAMPLE
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
[netlogon]
path = /usr/local/samba/var/locks/sysvol/example.local/scripts
read only = No
[root@rocky9-samba43 ~]#
![](https://assets.st-note.com/img/1689779717753-0kIAnC869n.png?width=1200)
~(DC2)Sambaサーバーが参照するDNSを変更する~
自分自身を参照するように設定する。
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/resolv.conf
nameserver 127.0.0.1
[root@rocky9-samba43 ~]#
~(DC2)sambaを起動する~
※起動するサービスはsambaです。
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# systemctl start samba
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# systemctl status samba
● samba.service - Samba AD Daemon
Loaded: loaded (/etc/systemd/system/samba.service; disabled; preset: disabled)
Drop-In: /run/systemd/system/service.d
mqzzz-lxc-service.conf
Active: active (running) since Fri 2023-07-07 15:06:58 JST; 3s ago
Docs: man:samba(8)
man:samba(7)
man:smb.conf(5)
Main PID: 211 (samba)
Status: "samba: ready to serve connections..."
Tasks: 65 (limit: 24385)
Memory: 235.0M
CGroup: /system.slice/samba.service
tq211 /usr/local/samba/sbin/samba --foreground --no-process-group
tq212 /usr/local/samba/sbin/samba --foreground --no-process-group
tq213 /usr/local/samba/sbin/samba --foreground --no-process-group
tq214 /usr/local/samba/sbin/samba --foreground --no-process-group
tq215 /usr/local/samba/sbin/samba --foreground --no-process-group
tq216 /usr/local/samba/sbin/samba --foreground --no-process-group
tq217 /usr/local/samba/sbin/smbd -D "--option=server role check:inhibit=yes" --foreground
tq218 /usr/local/samba/sbin/samba --foreground --no-process-group
tq219 /usr/local/samba/sbin/samba --foreground --no-process-group
tq220 /usr/local/samba/sbin/samba --foreground --no-process-group
tq221 /usr/local/samba/sbin/samba --foreground --no-process-group
tq222 /usr/local/samba/sbin/samba --foreground --no-process-group
tq223 /usr/local/samba/sbin/samba --foreground --no-process-group
tq224 /usr/local/samba/sbin/samba --foreground --no-process-group
tq225 /usr/local/samba/sbin/samba --foreground --no-process-group
tq226 /usr/local/samba/sbin/samba --foreground --no-process-group
tq227 /usr/local/samba/sbin/samba --foreground --no-process-group
tq228 /usr/local/samba/sbin/samba --foreground --no-process-group
tq229 /usr/local/samba/sbin/samba --foreground --no-process-group
tq230 /usr/local/samba/sbin/samba --foreground --no-process-group
tq231 /usr/local/samba/sbin/samba --foreground --no-process-group
tq232 /usr/local/samba/sbin/samba --foreground --no-process-group
tq233 /usr/local/samba/sbin/samba --foreground --no-process-group
tq234 /usr/local/samba/sbin/samba --foreground --no-process-group
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool processes
Service: PID
--------------------------------------
cldap_server 225
dnssrv 245
dnsupdate 243
dreplsrv 229
kccsrv 238
kdc_server 227
kdc_server(worker 3) 250
kdc_server(worker 0) 235
kdc_server(worker 1) 241
kdc_server(worker 2) 246
ldap_server 223
ldap_server(worker 1) 311
ldap_server(worker 2) 314
ldap_server(worker 0) 309
ldap_server(worker 3) 316
nbt_server 219
notify-daemon 264
rpc_server 216
rpc_server(worker 2) 257
rpc_server(worker 0) 251
rpc_server(worker 1) 255
rpc_server(worker 3) 260
samba 211 <--★
winbind_server 247
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# pstree -pA
systemd(1)-+-NetworkManager(79)-+-dhclient(103)
| |-dhclient(104)
| |-{NetworkManager}(85)
| `-{NetworkManager}(86)
|-agetty(94)
|-crond(95)
|-dbus-broker-lau(82)---dbus-broker(84)
|-rsyslogd(77)-+-{rsyslogd}(81)
| `-{rsyslogd}(83)
★--> |-samba(211)-+-tfork(213)(212)---s3fs[master](213)---tfork(217)(215)---smbd(217)-+-smbd-cleanupd(2+
| | `-smbd-notifyd(26+
| |-tfork(216)(214)---rpc[master](216)-+-tfork(251)(249)---rpc(0)(251)
| | |-tfork(255)(252)---rpc(1)(255)
| | |-tfork(257)(256)---rpc(2)(257)
| | `-tfork(260)(258)---rpc(3)(260)
| |-tfork(219)(218)---nbt[master](219)
| |-tfork(221)(220)---wrepl[master](221)
| |-tfork(223)(222)---ldap[master](223)-+-tfork(309)(308)---ldap(0)(309)
| | |-tfork(311)(310)---ldap(1)(311)
| | |-tfork(314)(312)---ldap(2)(314)
| | `-tfork(316)(315)---ldap(3)(316)
| |-tfork(225)(224)---cldap[master](225)
| |-tfork(227)(226)---kdc[master](227)-+-tfork(235)(233)---kdc(0)(235)
| | |-tfork(241)(237)---kdc(1)(241)
| | |-tfork(246)(242)---kdc(2)(246)
| | `-tfork(250)(248)---kdc(3)(250)
| |-tfork(229)(228)---drepl[master](229)
| |-tfork(231)(230)---winbindd[master(231)---tfork(247)(240)---winbindd(247)-+-wb-idmap+
| | `-wb[EXAMP+
| |-tfork(234)(232)---ntp_signd[maste(234)
| |-tfork(238)(236)---kcc[master](238)
| |-tfork(243)(239)---dnsupdate[maste(243)
| `-tfork(245)(244)---dns[master](245)
|-systemd-journal(67)
`-systemd-logind(78)
[root@rocky9-samba43 ~]#
~(DC2)動作確認をする~
以下の操作例ではsmb.confで設定していた共有リソース[sysvol]と[netlogon]が参照できるか確認をしている。
★ 共有リソース [sysvol] を確認 ★
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# smbclient //localhost/sysvol -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]:
. D 0 Fri Jul 7 15:02:24 2023
.. D 0 Fri Jul 7 15:06:59 2023
example.local D 0 Fri Jul 7 15:02:24 2023
21014912 blocks of size 1024. 19809792 blocks available
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# ls -la /usr/local/samba/var/locks/sysvol
合計 3
drwxr-xr-x 3 root root 3 7月 7 15:02 .
drwxr-xr-x 4 root root 9 7月 7 15:06 ..
drwxr-xr-x 3 root root 3 7月 7 15:02 example.local
[root@rocky9-samba43 ~]#
★ 共有リソース [netlogon] を確認 ★
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# smbclient //localhost/netlogon -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]:
. D 0 Fri Jul 7 15:02:24 2023
.. D 0 Fri Jul 7 15:02:24 2023
21014912 blocks of size 1024. 19809792 blocks available
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# ls -l /usr/local/samba/var/locks/sysvol/example.local/scripts
合計 0
[root@rocky9-samba43 ~]#
~DRSの状態を確認する~
ディレクトリ複製サービス(Directory Replication Services : DRS)でディレクトリ情報が複製されているか確認できる。
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# samba-tool drs showrepl
Default-First-Site-Name\ROCKY9-SAMBA43
DSA Options: 0x00000001
DSA object GUID: 26b542dd-af55-4f0a-9080-3a6d1cb4d84c
DSA invocationId: 84c719e2-fd21-45f1-bbee-bf2470cfb4fa
==== INBOUND NEIGHBORS ====
CN=Schema,CN=Configuration,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
0 consecutive failure(s).
Last success @ Thu Jul 20 00:50:27 2023 JST
DC=DomainDnsZones,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
0 consecutive failure(s).
Last success @ Thu Jul 20 00:50:27 2023 JST
DC=ForestDnsZones,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
0 consecutive failure(s).
Last success @ Thu Jul 20 00:50:27 2023 JST
DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ Thu Jul 20 00:50:27 2023 JST was successful
0 consecutive failure(s).
Last success @ Thu Jul 20 00:50:27 2023 JST
CN=Configuration,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ Thu Jul 20 00:50:28 2023 JST was successful
0 consecutive failure(s).
Last success @ Thu Jul 20 00:50:28 2023 JST
==== OUTBOUND NEIGHBORS ====
CN=Schema,CN=Configuration,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=DomainDnsZones,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=ForestDnsZones,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
CN=Configuration,DC=example,DC=local
Default-First-Site-Name\ROCKY9-SAMBA42 via RPC
DSA object GUID: 8c1e9ce3-0b12-4714-a547-d5bfa3a6914b
Last attempt @ NTTIME(0) was successful
0 consecutive failure(s).
Last success @ NTTIME(0)
==== KCC CONNECTION OBJECTS ====
Connection --
Connection name: 1afae228-f025-4bc9-a8a1-8ecb3d0c7c74
Enabled : TRUE
Server DNS name : rocky9-samba42.example.local
Server DN name : CN=NTDS Settings,CN=ROCKY9-SAMBA42,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=example,DC=local
TransportType: RPC
options: 0x00000001
Warning: No NC replicated for Connection!
[root@rocky9-samba43 ~]#
ユーザー管理
ユーザー管理はsamba-tool、pdbedit、wbinfo、getentコマンドでできる。
また、ドメインに参加しているWindowsPCにEXAMPLE\AdministratorでログインすればWindowsPCの「ActiveDirectoryユーザーとコンピューター(ADUC)」というツールからでも管理できる。
~コマンド~
samba-tool user add
ユーザー追加する。samba-tool user delete
ユーザー削除する。samba-tool user password
パスワード変更する。samba-tool user list
ユーザー一覧を表示する。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user
samba-tool user: missing subcommand
Usage: samba-tool user <subcommand>
User management.
Options:
-h, --help show this help message and exit
--color=always|never|auto
use colour if available (default: auto)
Available subcommands:
add - Add a new user.
addunixattrs - Add RFC2307 attributes to a user.
create - Add a new user.
delete - Delete a user.
disable - Disable a user.
edit - Modify User AD object.
enable - Enable a user.
getgroups - Get the direct group memberships of a user account.
getpassword - Get the password fields of a user/computer account.
list - List all users.
move - Move a user to an organizational unit/container.
password - Change password for a user account (the one provided in authentication).
rename - Rename a user and related attributes.
sensitive - Set/unset or show UF_NOT_DELEGATED for an account.
setexpiry - Set the expiration of a user account.
setpassword - Set or reset the password of a user account.
setprimarygroup - Set the primary group a user account.
show - Display a user AD object.
syncpasswords - Sync the password of user accounts.
unlock - Unlock a user account.
For more help on a specific subcommand, please type: samba-tool user <subcommand> (-h|--help)
[root@rocky9-samba42 ~]#
samba-tool group add
グループを追加する。samba-tool group delete
グループを削除する。samba-tool group list
グループ一覧を表示する。samba-tool group addmembers
グループにユーザーを追加する。samba-tool group removemembers
グループからユーザーを削除する。samba-tool group listmembers
グループに所属しているユーザー一覧を表示する。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool group
samba-tool group: missing subcommand
Usage: samba-tool group <subcommand>
Group management.
Options:
-h, --help show this help message and exit
--color=always|never|auto
use colour if available (default: auto)
Available subcommands:
add - Creates a new AD group.
addmembers - Add members to an AD group.
addunixattrs - Add RFC2307 attributes to a group.
create - Creates a new AD group.
delete - Deletes an AD group.
edit - Modify Group AD object.
list - List all groups.
listmembers - List all members of an AD group.
move - Move a group to an organizational unit/container.
removemembers - Remove members from an AD group.
rename - Rename a group and related attributes.
show - Display a group AD object.
stats - Summary statistics about group memberships.
For more help on a specific subcommand, please type: samba-tool group <subcommand> (-h|--help)
[root@rocky9-samba42 ~]#
~コマンド例~
★ samba-tool user add でユーザーを追加する ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user add winuser01
New Password: ********
Retype Password: ********
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
User 'winuser01' added successfully
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user list
ldb_wrap open of secrets.ldb
krbtgt
Administrator
Guest
winuser01 <--- ★追加された
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user show winuser01
ldb_wrap open of secrets.ldb
dn: CN=winuser01,CN=Users,DC=example,DC=local
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: winuser01
instanceType: 4
whenCreated: 20230717134346.0Z
uSNCreated: 4078
name: winuser01
objectGUID: 37b459dd-db93-4b81-9ce4-43a7e2e6bed3
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
primaryGroupID: 513
objectSid: S-1-5-21-1945139037-3003495288-3791116124-1104
accountExpires: 9223372036854775807
sAMAccountName: winuser01
sAMAccountType: 805306368
userPrincipalName: winuser01@example.local
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=example,DC=local
userAccountControl: 512
pwdLastSet: 133340750680000000
lastLogon: 133340751002137110
logonCount: 1
lastLogonTimestamp: 133340751002137110
whenChanged: 20230717134500.0Z
uSNChanged: 4082
distinguishedName: CN=winuser01,CN=Users,DC=example,DC=local
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pdbedit -v winuser01
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface eth1 ip=192.168.56.42 bcast=192.168.56.255 netmask=255.255.255.0
ldb_wrap open of idmap.ldb
Unix username: winuser01
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1945139037-3003495288-3791116124-1104
Primary Group SID: S-1-5-21-1945139037-3003495288-3791116124-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 月, 17 7月 2023 22:45:00 JST
Logoff time: 0
Kickoff time: 木, 14 9月 30828 11:48:05 JST
Password last set: 月, 17 7月 2023 22:44:28 JST
Password can change: 月, 17 7月 2023 22:44:28 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@rocky9-samba42 ~]#
★ pdbeditでユーザーを追加する ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# pdbedit -a winuser02
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface eth1 ip=192.168.56.42 bcast=192.168.56.255 netmask=255.255.255.0
ldb_wrap open of idmap.ldb
new password: ********
retype new password: ********
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
descriptor_prepare_commit: changes: num_registrations=0
descriptor_prepare_commit: changes: num_registered=0
descriptor_prepare_commit: changes: num_toplevel=0
descriptor_prepare_commit: changes: num_processed=0
descriptor_prepare_commit: objects: num_processed=0
descriptor_prepare_commit: objects: num_skipped=0
Unix username: winuser02
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1945139037-3003495288-3791116124-1105
Primary Group SID: S-1-5-21-1945139037-3003495288-3791116124-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: 木, 14 9月 30828 11:48:05 JST
Password last set: 月, 17 7月 2023 22:46:31 JST
Password can change: 月, 17 7月 2023 22:46:31 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool user list
ldb_wrap open of secrets.ldb
krbtgt
Administrator
Guest
winuser01
winuser02 <--- ★追加された
[root@rocky9-samba42 ~]#
![](https://assets.st-note.com/img/1689602242573-WMvORtPabY.png?width=1200)
winbindでも確認可能
/etc/nsswitch.confにwinbindを追加する。
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# vi /etc/nsswitch.conf
:
passwd: sss files systemd winbind <--- ★winbindを追加する
:
group: sss files systemd winbind <--- ★winbindを追加する
:
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# wbinfo -t
checking the trust secret for domain EXAMPLE via RPC calls succeeded
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# wbinfo -u
EXAMPLE\administrator
EXAMPLE\guest
EXAMPLE\krbtgt
EXAMPLE\winuser01
EXAMPLE\winuser02
[root@rocky9-samba42 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# vi /etc/nsswitch.conf
:
passwd: sss files systemd winbind <--- ★winbindを追加する
:
group: sss files systemd winbind <--- ★winbindを追加する
:
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# wbinfo -t
checking the trust secret for domain EXAMPLE via RPC calls succeeded
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# wbinfo -u
EXAMPLE\administrator
EXAMPLE\guest
EXAMPLE\krbtgt
EXAMPLE\winuser01
EXAMPLE\winuser02
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# getent passwd 'EXAMPLE\winuser01'
[root@rocky9-samba43 ~]#
[root@rocky9-samba43 ~]# id winuser01
id: `winuser01': no such user
[root@rocky9-samba43 ~]#
smbclient を使用して ADの稼働を確認する
smbclientはftpクライアントに似たファイル転送ツールで、以下の操作ではsmb.confで設定していた共有リソース[sysvol]と[netlogon]が参照できるか確認をしている。
★ 共有リソース [sysvol] を確認 ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
:
[sysvol]
path = /usr/local/samba/var/locks/sysvol
read only = No
:
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# ls -l /usr/local/samba/var/locks/sysvol
合計 2
drwxrwx---+ 4 root 3000000 4 7月 7 11:45 example.local
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/sysvol -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]: ********
. D 0 Sun Jul 16 23:16:46 2023
.. D 0 Mon Jul 17 23:23:48 2023
example.local D 0 Sun Jul 16 23:16:45 2023
22239360 blocks of size 1024. 21032320 blocks available
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/sysvol -U winuser01 -c 'ls'
Password for [EXAMPLE\winuser01]: ********
. D 0 Sun Jul 16 23:16:46 2023
.. D 0 Mon Jul 17 23:23:48 2023
example.local D 0 Sun Jul 16 23:16:45 2023
43836928 blocks of size 1024. 42648064 blocks available
[root@rocky9-samba42 ~]#
★ 共有リソース [netlogon] を確認 ★
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# testparm -s
:
[netlogon]
path = /usr/local/samba/var/locks/sysvol/example.local/scripts
read only = No
:
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# ls -l /usr/local/samba/var/locks/sysvol/example.local/scripts
合計 0
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/netlogon -U Administrator -c 'ls'
Password for [EXAMPLE\Administrator]: ********
. D 0 Sun Jul 16 23:16:38 2023
.. D 0 Sun Jul 16 23:16:45 2023
22236800 blocks of size 1024. 21026560 blocks available
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# smbclient //localhost/netlogon -U winuser01 -c 'ls'
Password for [EXAMPLE\winuser01]: ********
. D 0 Sun Jul 16 23:16:38 2023
.. D 0 Sun Jul 16 23:16:45 2023
43836928 blocks of size 1024. 42648064 blocks available
[root@rocky9-samba42 ~]#
Samba がDNS、Kerberos、NTP、LDAP などの ADサービスと統合する方法について理解する
Sambaで構築したActiveDirectoryのドメインコントローラーにはserver servicesで定義されているサービスが組み込まれており、サービスとして動作しているかはsamba-tool processesコマンドで確認ができる。
必要に応じて外部サービスと連携をさせることができ、server servicesパラメータで有効化/無効化ができる。
~パラメーター~
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate, dns
Sambaサーバーで有効化するサービスを指定する。
+サービス名:サービスを有効化する
-サービス名:サービスを無効化する
[root@rocky9-samba42 ~]#
[root@rocky9-samba42 ~]# samba-tool processes
Service: PID
--------------------------------------
cldap_server 131 <--- ★cldap
dnssrv 158 <--- ★dns
dnsupdate 153 <--- ★dnsupdate
dreplsrv 136 <--- ★drepl
kccsrv 150 <--- ★kcc
kdc_server 133 <--- ★kdc
kdc_server(worker 3) 146 <--- ★kdc
kdc_server(worker 0) 138 <--- ★kdc
kdc_server(worker 1) 140 <--- ★kdc
kdc_server(worker 2) 142 <--- ★kdc
ldap_server 129 <--- ★ldap
ldap_server(worker 1) 173 <--- ★ldap
ldap_server(worker 2) 175 <--- ★ldap
ldap_server(worker 0) 171 <--- ★ldap
ldap_server(worker 3) 177 <--- ★ldap
nbt_server 124 <--- ★nbt
notify-daemon 180
rpc_server 121 <--- ★rpc
rpc_server(worker 2) 166 <--- ★rpc
rpc_server(worker 0) 162 <--- ★rpc
rpc_server(worker 1) 164 <--- ★rpc
rpc_server(worker 3) 168 <--- ★rpc
samba 117
winbind_server 152 <--- ★winbindd
[root@rocky9-samba42 ~]#
~server servicesのパラメーター値~
s3fs
SMB3対応のファイルサーバー機能rpc
RCP(Remote Procedure Call)機能nbt
NBT(NetBIOS Over TCP/IP)機能wrepl
WINS(Windows Internet Naming Service)のレプリケーション機能ldap
LDAP機能cldap
CLDAP(Connectionless LDAP)機能kdc
Kerberos認証のKDC(Key Distribution Center)機能
(参考)Running a Samba AD DC with MIT Kerberos KDC - SambaWikidrepl
ディレクトリのレプリケーション機能winbindd
Winbind機能ntp_signd
署名付きNTP機能
(参考)Time Synchronisation - SambaWikikcc
KCC(Knowledge Consistency Checker)機能
サイト間のレプリケーションを実現するための機能dnsupdate
DNSレコードを動的に更新する機能dns
SambaでDNS機能に関する設定は3種類あり、samba-tool domain provisionコマンドで--dns-backendで指定する。
・SAMBA_INTERNAL:
DNSサーバーSamba内蔵のDNSサーバーを使用する。
・BIND9_DLZ:
DNSサーバーにBINDを使用し、ゾーン情報はADのものを使用する。
server services = -dns の設定をする。
・BIND9_FLATFILE:
DNSサーバーにBINDを使用し、BINDのゾーン情報を使用する。
server services = -dns の設定をする。
SAMBA_INTERNAL と BIND9_DLZ の相互変換は samba_upgradednsコマンドでできる。
(参考)Changing the DNS Back End of a Samba AD DC - SambaWiki