準備
Ubuntu Server 20.04 ISO
Ubuntu Server 20.04 ISO
Ubuntuを利用する理由は、Samba4のActive Directory対応済のパッケージが標準提供されるため。Centosでは、ソースからmakeしなければならない。
Active Directory構成情報(1台目)
- RELM: レルム(Kerberos) ADDC.SAMPLE.COM
Kerberos認証のレルムとActive Directoryのドメイン名は同じでなければならない。 更に、Kerberosでは大文字でなければならない。
- BIOS: BIOS名 ADDC
- Hostname (FQDN): ad01.addc.sample.com
- IPアドレス: 192.168.1.21/24
- Gateway: 192.168.1.11
- Administerパスワード: P@$$w0rd
- DNS Forward: 192.168.1.11
Active Directory構成情報(2台目以降: 冗長化)
- RELM: レルム(Kerberos)ADDC.SAMPLE.COM
- BIOS: BIOS名 ADDC
- Hostname (FQDN): ad02.addc.sample.com
- IPアドレス: 192.168.1.22/24
- Gateway: 192.168.1.11
- Administerパスワード: P@$$w0rd
- DNS Forward: 192.168.1.11
Ubuntu インストール(サーバ構築)
Ubuntu Server 20.04を標準インストールする。
インストール中に、ホスト名の設定、ユーザアカウントの設定。
IPアドレスの設定
① /etc/netplan にあるyamlファイルをRename
mv /etc/netplan/*.yaml /etc/*.yaml.org
② /etc/netplan/01-netcfg.yaml 作成
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
accept-ra: no
# gateway4: 192.168.1.11 # gateway4, gateway6 has been deprecated
routes:
- to: default
via: 192.168.1.11
addresses: [192.168.1.21/24]
# この時点のDNS設定では、systemd-resolvedが、ポート53をListenしている。
# Systemd-resolvedにより、実態のDNSである192.168.1.11へ名前解決要求が転送される。
nameservers:
search: [addc.sample.com]
addresses: [192.168.1.11]
③ netplan apply
netplanサービスを再起動する。
次のパッケージをインストールする。
① apt update
② apt -y upgrade
パッケージを最新にする。
③ apt -y install ntp openssh-server openssh-client
opensshをインストールする。
④ apt -y install samba krb5-config winbind heimdal-clients
samba4、kerberose、winbind等をインストールする。インストール中にRELMの入力を求められるので、必ず大文字で入力する。Kerberos認証サーバ、Kerberos管理サーバのホスト名を求められた場合、1台目に設定するホスト名(FQDN)で入力する。
NTP設定
① /etc/ntp.conf 修正
# 18行目:コメント化
# pool 0.ubuntu.pool.ntp.org iburst
:
:
# pool 3.ubuntu.pool.ntp.org iburst
# pool ntp.ubuntu.com
# 同期をとるサーバを設定
pool ntp.nict.jp iburst
# 50行目: 時刻動機を許可する範囲を設定
restrict -4 192.168.1.0 mask 255.255.255.0 nomodify notrap
② systemctl restart ntp
ntpサービスの再起動。
③ ntpq -p
指定したNTPサーバが表示されれば良い。
SSH設定
① /etc/ssh/sshd_config修正
PermitRootLogin no # [rootログインを許すならばyes]
IPV6を無効化
IPV6を無効にしなければ、サーバ起動時にsamba-ad-dcサービスがエラーになる。
① /etc/defaults/grub 修正
GRUB_CMDLINE_LINUX_DEFAULT="ipv6,disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
② リブート
Samba Active Directory 環境構築
SAMBA設定(1台目)
① mv /etc/samba/smb.conf /etc/samba/smb.conf.org
② samba-tool domain provision --realm=ADDC.SAMPLE.COM \
> --domain=addc \
> --adminpass="P@$$w0rd" \
> --dns-backend=SAMBA_INTERNAL \
> --server-role=DC \
> --use-rfc2307 \
> --interactive
Realm [ADDC.SAMPLE.COM]: ADDC.SAMPLE,COM
Domain [ADDC]: addc
Server Role (dc,....) [dc]: dc
DNS Backend (SAMBA_INTERNAL,...) [SAMBA_INTERNAL]: SAMBA_INTERNAL
DNS Forwarder IP Address (.....) [192.168.1.21]: 192.168.1.11
Administrator password: P@$$w0rd
SIDが表示されれば、問題ない。
③ /etc/krb5.conf 修正
[libdefaults]default_realm = ADDC.SAMPLE.COMdns_lookup_realm = falsedns_lookup_kdc = trueticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms]ADDC.SAMPLE.COM = {kdc = ad01.addc.sample.comadmin_server = ad01.addc.sample.com}[domain_realm].addc.sample.com = ADDC.SAMPLE.COMaddc.sample.com = ADDC.SAMPLE.COM
④ systemd-resolvedサービスを停止させ、無効にする。
systemctl stop systemd-resolved
systemctl disable systemd-resolved
systemctl mask systemd-resolved
⑤ /etc/resolv.conf編集
# nameserver 127.0.0.53nameserver 127.0.0.1
domain addc.sample.com
⑥ /etc/netplan/01-netcfg.yaml 編集(Resolver変更)
network:version: 2renderer: networkdethernets:eth0:dhcp4: nodhcp6: noaccept-ra: no
addresses: [192.168.1.21/24]# gateway4: 192.168.1.11
- to: default
via: 192.168.11.1
# Ubuntu標準では、ResolverとしてSystemd-Resolvedがポート53をListenしている
# ため、sambaの内部DNSがポート53をListenできないので、Resolverを変更する。
# これ以降のDNS設定では、samba-ad-dcサービスが、ポート53をListenする。# smb.confのDNS Forwarderで、192.168.1.11へも名前解決要求が転送される。nameservers:search: [addc.sample.com]
addresses: [127.0.0.1,192.168.1.22]
⑦ netplan apply
⑧ インストール時に起動されたsmbdサービスを停止、無効化する。
systemctl stop smbdsystemctl disable smbd
⑨ /etc/samba/smb.conf に追加
⑩ samba-ad-dc サービスを起動する
systemctl unmask samba-ad-dcsystemctl enable samba-ad-dc
systemctl start samba-ad-dc
systemctl status samba-ad-dc
⑪ リブート後、作動確認
> kinit administrator@ADDC.SAMPLE.COM
administrator@ADDC.SAMPLE.COM's Password:
> klist
Credentials cache: FILE:/tmp/krb5cc_0Principal: administrator@ADDC.SAMPLE.COMIssued Expires Principal
Jun 11 12:53:22 2018 Jun 11 22:53:22 2018 krbtgt/ADDC.SAMPLE.COM@ADDC.SAMPLE.COM
> samba-tool domain level show
Domain and forest function level for domain 'DC=addc,DC=sample,DC=com'Forest function level: (Windows) 2008 R2Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
> samba-tool drs showrepl
> samba-tool dns query 127.0.0.1 addc.sample.com addc.sample.com all -Uadministrator
以下、2台目以降の設定例を参照。
SAMBA設定(2台目以降)
① mv /etc/samba/smb.conf /etc/samba/smb.conf.org
② samba-tool domain join addc.sample.com DC -Uadministrator
Administrator password: P@$$w0rdSIDが表示されれば、問題ない。
③ /etc/krb5.conf 修正
[libdefaults]default_realm = ADDC.SAMPLE.COMdns_lookup_realm = falsedns_lookup_kdc = trueticket_lifetime = 24hrenew_lifetime = 7dforwardable = true[realms]ADDC.SAMPLE.COM = {kdc = ad01.addc.sample.comadmin_server = ad01.addc.sample.com}[domain_realm].addc.sample.com = ADDC.SAMPLE.COMaddc.sample.com = ADDC.SAMPLE.COM
④ /etc/samba/smb.conf の[global]セクションにDNS Forwarder等を追加
dns forwarder = 192.168.1.11
bind interfaces only = yes
interfaces = 127.0.0.1/8 enp0s5
⑤ インストール時に起動されたsmbdを停止する。
systemctl stop smbdsystemctl disable smbd
systemctl mask smbd
⑥ samba-ad-dc を起動する
systemctl unmask samba-ad-dcsystemctl enable samba-ad-dc
systemctl start samba-ad-dc
systemctl status samba-ad-dc
⑦ リブート後、作動確認
> kinit administrator@ADDC.SAMPLE.COM
administrator@ADDC.SAMPLE.COM's Password:
> klist
Credentials cache: FILE:/tmp/krb5cc_0Principal: administrator@ADDC.SAMPLE.COMIssued Expires Principal
Jun 11 12:53:22 2018 Jun 11 22:53:22 2018 krbtgt/ADDC.SAMPLE.COM@ADDC.SAMPLE.COM
> samba-tool domain level show
Domain and forest function level for domain 'DC=addc,DC=sample,DC=com'Forest function level: (Windows) 2008 R2Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
> samba-tool drs showrepl
Default-First-Site-Name\UBU1804ADSA Options: 0x00000001DSA object GUID: b4a9ab44-be1f-4255-8dfd-cfe898392ddcDSA invocationId: b5853b88-ac48-45a3-b5f1-08b5a856318b==== INBOUND NEIGHBORS ====DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTDC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTCN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTCN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTDC=DomainDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTDC=DomainDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTDC=ForestDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTDC=ForestDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:31 2018 JSTCN=Schema,CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ Mon Jun 11 13:13:32 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:32 2018 JSTCN=Schema,CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ Mon Jun 11 13:13:32 2018 JST was successful0 consecutive failure(s).Last success @ Mon Jun 11 13:13:32 2018 JST==== OUTBOUND NEIGHBORS ====DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)DC=DomainDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)DC=DomainDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)DC=ForestDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)DC=ForestDnsZones,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD01 via RPCDSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=comDefault-First-Site-Name\AD02 via RPCDSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606Last attempt @ NTTIME(0) was successful0 consecutive failure(s).Last success @ NTTIME(0)==== KCC CONNECTION OBJECTS ====Connection --Connection name: 1acc26a0-0e5e-4ba4-bc45-0673ef2ec6a8Enabled : TRUEServer DNS name : ad01.addc.sample.comServer DN name : CN=NTDS Settings,CN=AD01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=addc,DC=sample,DC=comTransportType: RPCoptions: 0x00000001Warning: No NC replicated for Connection!Connection --Connection name: 86771be8-5ddc-482b-ab4d-d3d2faef5422Enabled : TRUEServer DNS name : ad02.addc.sample.comServer DN name : CN=NTDS Settings,CN=AD02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=addc,DC=sample,DC=comTransportType: RPCoptions: 0x00000001
Warning: No NC replicated for Connection!
> samba-tool dns query 127.0.0.1 addc.sample.com addc.sample.com all -Uadministrator
Name=, Records=7, Children=0SOA: serial=32, refresh=900, retry=600, expire=86400, minttl=3600, ns=ad01.addc.sample.com., email=hostmaster.addc.sample.com. (flags=600000f0, serial=110, ttl=3600)NS: ad01.addc.sample.com. (flags=600000f0, serial=110, ttl=900)NS: ad02.addc.sample.com. (flags=600000f0, serial=110, ttl=900)A: 192.168.1.251 (flags=600000f0, serial=110, ttl=900)A: 192.168.1.252 (flags=600000f0, serial=110, ttl=900)Name=_msdcs, Records=0, Children=0Name=_sites, Records=0, Children=1Name=_tcp, Records=0, Children=4Name=_udp, Records=0, Children=2Name=ad01, Records=1, Children=0A: 192.168.1.251 (flags=f0, serial=110, ttl=900)Name=ad02, Records=1, Children=0A: 192.168.1.252 (flags=f0, serial=28, ttl=900)Name=DomainDnsZones, Records=0, Children=2
Name=ForestDnsZones, Records=0, Children=2
ドメインから離脱
離脱するサーバから実行
> samba-tool domain demote -Uadministrator
離脱するサーバでうまくいかない時
> samba-tool domain demote --remove-other-dead-server=<server> -Uadministrator
<server>: 離脱するホスト名(FQDN)。例、ad02.addc.sample.com
再度ドメイン参加
環境の初期化
rm /etc/samba/smb.confrm -rf /var/lib/samba/private/rm -rf /var/cache/samba/
rm -f /var/lib/samba/*.tdb