ページ

2021/03/07

Samba4 Active Directory

準備

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.COM
 dns_lookup_realm = false
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 ADDC.SAMPLE.COM = {
kdc = ad01.addc.sample.com
  admin_server = ad01.addc.sample.com
}
[domain_realm]
  .addc.sample.com = ADDC.SAMPLE.COM
    addc.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.53
nameserver 127.0.0.1
domain addc.sample.com

⑥ /etc/netplan/01-netcfg.yaml 編集(Resolver変更)

network:
  version: 2
  renderer: networkd
  ethernets:
     eth0:
       dhcp4: no
       dhcp6: no
       accept-ra: no
       addresses: [192.168.1.21/24]
#       gateway4: 192.168.1.11
                route:
                  - 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 smbd
systemctl disable smbd
systemctl mask smbd

⑨ /etc/samba/smb.conf に追加

        [global]セクションに次の行を追加する。

        dns forwarder = 192.168.1.11
        bind interfaces only = yes
        interfaces = 127.0.0.1/8 enp0s5

⑩ samba-ad-dc サービスを起動する

systemctl unmask samba-ad-dc
systemctl 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_0
      Principal: administrator@ADDC.SAMPLE.COM
 Issued                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 R2
Domain 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@$$w0rd

SIDが表示されれば、問題ない。

③ /etc/krb5.conf 修正

[libdefaults]
 default_realm = ADDC.SAMPLE.COM
 dns_lookup_realm = false
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
[realms]
 ADDC.SAMPLE.COM = {
kdc = ad01.addc.sample.com
    admin_server = ad01.addc.sample.com
 }
[domain_realm]
    .addc.sample.com = ADDC.SAMPLE.COM
    addc.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 smbd
systemctl disable smbd
systemctl mask smbd
 

⑥ samba-ad-dc を起動する

systemctl unmask samba-ad-dc
systemctl 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_0
      Principal: administrator@ADDC.SAMPLE.COM
 Issued                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 R2
Domain function level: (Windows) 2008 R2
Lowest function level of a DC: (Windows) 2008 R2
 

> samba-tool drs showrepl

Default-First-Site-Name\UBU1804A
DSA Options: 0x00000001
DSA object GUID: b4a9ab44-be1f-4255-8dfd-cfe898392ddc
DSA invocationId: b5853b88-ac48-45a3-b5f1-08b5a856318b
==== INBOUND NEIGHBORS ====
DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
DC=DomainDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
DC=DomainDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
DC=ForestDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
DC=ForestDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ Mon Jun 11 13:13:31 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:31 2018 JST
CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ Mon Jun 11 13:13:32 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:32 2018 JST
CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ Mon Jun 11 13:13:32 2018 JST was successful
                0 consecutive failure(s).
                Last success @ Mon Jun 11 13:13:32 2018 JST
==== OUTBOUND NEIGHBORS ====
DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
DC=DomainDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
DC=DomainDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
DC=ForestDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
DC=ForestDnsZones,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD01 via RPC
                DSA object GUID: 345a8d3a-2585-418b-a22a-86a6f990afe2
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
CN=Schema,CN=Configuration,DC=addc,DC=sample,DC=com
        Default-First-Site-Name\AD02 via RPC
                DSA object GUID: 4f2195a2-2ba8-4643-b939-01a7fa970606
                Last attempt @ NTTIME(0) was successful
                0 consecutive failure(s).
                Last success @ NTTIME(0)
==== KCC CONNECTION OBJECTS ====
Connection --
        Connection name: 1acc26a0-0e5e-4ba4-bc45-0673ef2ec6a8
        Enabled        : TRUE
        Server DNS name : ad01.addc.sample.com
        Server DN name  : CN=NTDS Settings,CN=AD01,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=addc,DC=sample,DC=com
                TransportType: RPC
                options: 0x00000001
Warning: No NC replicated for Connection!
Connection --
        Connection name: 86771be8-5ddc-482b-ab4d-d3d2faef5422
        Enabled        : TRUE
        Server DNS name : ad02.addc.sample.com
        Server DN name  : CN=NTDS Settings,CN=AD02,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=addc,DC=sample,DC=com
                TransportType: RPC
                options: 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=0
    SOA: 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=0
  Name=_sites, Records=0, Children=1
  Name=_tcp, Records=0, Children=4
  Name=_udp, Records=0, Children=2
  Name=ad01, Records=1, Children=0
    A: 192.168.1.251 (flags=f0, serial=110, ttl=900)
  Name=ad02, Records=1, Children=0
    A: 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.conf
rm -rf /var/lib/samba/private/
rm -rf /var/cache/samba/
rm -f /var/lib/samba/*.tdb
 

SAMBA設定(2台目)を実行


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。