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