忍者ブログ

ブランクがあるインフラエンジニアの備忘録

サーバ構築のメモ

SamabaでActive Directory構築② ドメインコントローラーの追加

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

SamabaでActive Directory構築② ドメインコントローラーの追加

前回作成したドメインコントローラーに、もう一台のドメインコントローラーを追加します。

◆ドメインコントローラー2の設計
OS:Ubuntu24.04
ホスト名:dc2
ドメイン名:ad.co.jp
NIC1:10.0.1.11/24      #設定用       
NIC2:192.168.128.11/24   
DNS1:192.168.128.1    #インストール時のみ使用。以降DNS2の設定に変更
DNS2:192.168.128.10   #インストール終了後、一台目のドメインコントローラーに変更
GW:192.168.128.1

◆インストール及び設定
$ sudo vi /etc/timezone
Asia/Tokyo

$ sudo reboot
$ sudo apt install samba krb5-config winbind smbclient kinit heimdal-clients -y

realm設定
Configuring Kerberos Authentication
Default Kerberos version 5 realm:
⑴ AD.CO.JP
Kelrberos server for your realm:
⑵ dc1.ad.co.jp
Admin server for your kelrberos realm:
⑶ dc1.ad.co.jp

$ sudo vi /etc/hosts
192.168.128.10 dc1.ad.co.jp dc1
192.168.128.11 dc2.ad.co.jp dc2
$ sudo mv /etc/samba/smb.conf{,.org}
 
$ sudo vi /etc/netplan/50-cloud-init.yaml
(前略)
            nameservers:
                addresses: [192.168.128.10]  #一台目のドメインコントローラーを指定
$ sudo netplan apply


$ sudo rm /etc/resolv.conf

$ sudo vi /etc/resolv.conf
nameserver 192.168.128.10

$ sudo samba-tool domain join ad.co.jp DC -U "AD\administrator"
WARNING: Using passwords on command line is insecure. Installing the setproctitle python module will hide these from shortly after program start.
INFO 2024-10-14 15:22:16,010 pid:1332 /usr/lib/python3/dist-packages/samba/join.py #106: Finding a writeable DC for domain 'ad.co.jp'
INFO 2024-10-14 15:22:16,070 pid:1332 /usr/lib/python3/dist-packages/samba/join.py #108: Found DC dc1.ad.co.jp
Password for [AD\administrator]:
(中略)
#1631: Joined domain AD (SID S-1-5-21-786217063-2420120778-1459337713) as a DC
Joined domain~と出れば成功。

 
$ sudo vi /etc/nsswitch.conf    #winbind機構をNSSに設定
passwd:         files systemd winbind
group:          files systemd winbind


$ init 6   #再起動しないと次の動作確認が上手くいかない?



◆動作確認
 以下のコマンドで出力された結果が「 0 consecutive failure(s).」かつ「 Last success」であることを確認します。

$ sudo samba-tool drs showrepl
Default-First-Site-Name\DC2
DSA Options: 0x00000001
DSA object GUID: 98e7bda9-8798-467a-af7c-09730e37d75c
DSA invocationId: 1b1f0c87-a141-41d3-a43a-f6ab6e0a16ad

==== INBOUND NEIGHBORS ====
CN=Configuration,DC=ad,DC=co,DC=jp
        Default-First-Site-Name\DC1 via RPC
                DSA object GUID: 06ad6afd-f1b2-48ad-b819-053a8b0e9211
                Last attempt @ Mon Oct 14 15:36:41 2024 UTC was successful
                0 consecutive failure(s).
                Last success @ Mon Oct 14 15:36:41 2024 UTC
(中略)
==== KCC CONNECTION OBJECTS ====
Connection --
        Connection name: 0104ccb2-06ec-49cf-8b22-93d7b6397278
        Enabled        : TRUE
        Server DNS name : dc1.ad.co.jp
        Server DN name  : CN=NTDS Settings,CN=DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=ad,DC=co,DC=jp
                TransportType: RPC
                options: 0x00000001
Warning: No NC replicated for Connection!     #この警告は無視して良いらしい

◆一台目のドメインコントローラーの設定追加

 hostsファイルに二台目のドメインコントローラーの情報を追記します。(忘れると同期しない?)

dc1:~$ sudo vi /etc/hosts
192.168.128.11 dc2.ad.co.jp dc2

◆DC間のデータ複製の確認

 先ずは一台目のドメインコントローラーのユーザーを確認します。

dc1:~$ sudo samba-tool user list
krbtgt
Guest
testuser1
Administrator

 続いて二台目のドメインコントローラーにユーザーが複製されているのか確認します。

dc2:~$ sudo samba-tool user list
krbtgt
Guest
testuser1
Administrator

 二台とも同じユーザーであることを確認後、一台目のドメインコントローラーにユーザーを追加します。

dc1:~$ sudo samba-tool user add dc1user Passw0rd
User 'dc1user' added successfully

 暫くしてから二台目のドメインコントローラーからユーザーリストを確認し、一台目のドメインコントローラーで作成したユーザーが追加されていることを確認します。

dc2:~$ sudo samba-tool user list
dc1user
krbtgt
Guest
testuser1
Administrator

 次は二台目のドメインコントローラーからユーザーを追加します。

dc2:~$ samba-tool user add dc2user Passw0rd
User 'dc2user' added successfully

 暫くしてから一台目のドメインコントローラーからユーザーリストを確認し、二台目のドメインコントローラーで作成したユーザーが追加されていることを確認します。

dc1:~$ sudo samba-tool user list
dc1user
dc2user
krbtgt
Guest
testuser1
Administrator


また、以下のコマンドでも同期が取れていることが確認出来ます。

dc1:~$ sudo samba-tool drs kcc AD.CO.JP
Consistency check on AD.CO.JP successful.




◆sysvolの共有
 Samba4ではドメインコントローラーを冗長化した場合、Windowsのドメインコントローラーと違い、デフォルトではsysvolを冗長化しないので、sysvolを自動的にコピーさせる設定を行う必要があります。

#dc2にsysvol共有がコピーされていないことを確認します。
dc2:~# ls -al /var/lib/samba/sysvol
total 12
drwxrwx---+ 2 root 3000000 4096 Nov  1 17:38 .
drwxr-xr-x  9 root root    4096 Nov  1 14:54 ..

#続いてdc1のsysvolを確認します。
dc1:~# ls -al /var/lib/samba/sysvol
total 20     #dc2よりも多いことが確認出来る。
drwxrwx---+ 3 root 3000000 4096 Oct 14 17:54 .
drwxr-xr-x  9 root root    4096 Nov  1 15:08 ..
drwxrwx---+ 4 root 3000000 4096 Oct 14 17:54 ad.co.jp  #ad.co.jp以下をコピーする
# crontabを使用するので、dc1,dc2のrootを有効化します。
dc2:~$ sudo passwd root
New password:
Retype new password:
passwd: password updated successfully

dc2:~$ su -
Password:
dc2:~#
dc2:~# mkdir ~/bin     #シェルスクリプトの設置ディレクトリを作成します。

dc2:~# vi 
~/bin/replication.sh  #sysvolをレプリケーションするスクリプトを作成します。
#!/bin/bash
SYSVOLDIR=/var/lib/samba/sysvol
DCNAME=dc1
DOMAINNAME=ad.co.jp
# 時刻の同期
net time set -S ${DCNAME}
# ローカルのSYSVOL共有内の内容を一旦削除
cd ${SYSVOLDIR}
rm -rf *
# SYSVOL共有に接続し、内容をフルコピー
smbclient //${DCNAME}/sysvol -A /etc/samba/.dcpass -D ${DOMAINNAME} -Tcag - | tar xf -
# SYSVOL共有のアクセス許可を再設定
samba-tool ntacl sysvolreset
;EOF

# Administratorのパスワードを格納した隠しファイルを作成します。
dc2:~# touch /etc/samba/.dcpass | echo -e "username=Administrator\npassword=Passw0rd" > /etc/samba/.dcpass

dc2:~# chmod 600 /root/bin/replication.sh
dc2:~# ls -al /root/bin/replication.sh
-rw------- 1 root root 409 Nov  1 16:33 /root/bin/replication.sh

dc2:~# chmod 600 /etc/samba/.dcpass
dc2:~# ls -al /etc/samba/.dcpass
-rwx------ 1 root root 41 Nov  1 15:15 /etc/samba/.dcpass
dc2:~# crontab -e
no crontab for root - using an empty one
Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Choose 1-4 [1]: 2    # vimが慣れているので。好みで選んで良い。

*/5 * * * * /bin/bash /root/bin/replication.sh   #末尾に追記。今回はテストの為、5分ごとに実行
;EOF

dc2:~# crontab -l | grep replication.sh
*/5 * * * * /bin/bash /root/bin/replication.sh     #crontabが設定されていることを確認。

# sysvol以下のディレクトリがdc1と同じになっていることを確認します。
dc2:~# ls -al /var/lib/samba/sysvol/
total 20
drwxrwx---+ 3 root 3000000 4096 Nov  1 17:30 .
drwxr-xr-x  9 root root    4096 Nov  1 14:54 ..
drwxrwx---+ 4 root 3000000 4096 Nov  1 17:30 ad.co.jp

例題
問題集102頁問3、105頁問11
Samba4のAD互換ドメインコントローラ - Linux技術者認定 LinuC | LPI-Japan
PR

コメント

プロフィール

HN:
のらくら
性別:
非公開
自己紹介:
介護と自身の手術でブランクが出来たインフラエンジニアの学習メモ。VirtualBOXで仮想サーバーを建て、GNS3でCiscoルーター&スイッチによるネットワークのエミュレーションもしています。GNS3ネットワーク内に仮想サーバーと連携させて、実際のネットワーク環境におけるサーバーをシミュレートする他、LinuC level3 300の対策もしています。

P R