Samba AD/DCでLinuxとWindowsのユーザ認証を行う。part3:レプリケーション

Linux

はじめに

耐障害性を高めるために、Samba Ad/DCのレプリケーションを構築します。
2台目のDCの設定です。

1台目のDCの設定は下記となります。

Sambaで未実装のSysVolのレプリケーションは、別記事に記載します。

Joining a Samba DC to an Existing Active Directory - SambaWiki

環境

- Debian bookworm
    - Samba 4.17.12-Debian

Active Directoryの環境

ドメイン名: ND
レルム: ND.LOCAL
1台目のDC: DC1 192.168.1.1(FSMO)
2台目のDC: DC2 192.168.1.2

固定IPアドレスに変更

DHCPに関連するパッケージを削除します。

sudo apt purge isc-dhcp-common isc-dhcp-client

/etc/network/interfacesを編集します。

source /etc/network/interfaces.d/*
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
allow-hotplug eno1
auto eno1
iface eno1 inet static
  address 192.168.1.2
  netmask 255.255.255.0
  gateway 192.168.1.xx
  dns-domain xxx.xxx.xxx
  dns-nameservers 127.0.0.1 8.8.8.8

/etc/resolv.conf

search nd.local
nameserver 127.0.0.1
nameserver 192.168.1.1

パッケージのインストール

sudo apt install samba krb5-user smbclient

時刻の設定

/etc/systemd/timesyncd.confを編集します。

NTP=time.google.com
systemctl restart systemd-timesyncd

timedatectl timesync-status

サービスを無効化する

不要なサービスを無効化します。

sudo systemctl stop smbd nmbd winbind

sudo systemctl disable smbd nmbd winbind

sudo systemctl enaable samba-ad-dc

sudo systemctl daemon-reload

/etc/krb5.conf

1台目のDC1で生成されたkrb5.confの内容をコピーして編集します。

 [libdefaults]
default_realm = ND.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false

 [realms]
ND.LOCAL = {
   default_domain = nd.local
}

 [domain_realm]
DC2 = ND.LOCAL

/etc/hosts

127.0.0.1       localhost
127.0.0.1       dc2.nd.local    dc2dc2
192.168.1.2    dc2.nd.local     dc2
192.168.1.2    dc2.xxx.xxx.xxx  dc2

192.168.1.1    dc1.nd.local     dc1
192.168.1.1    dc1.xxx.xxx.xxx  dc1

ドメインに参加させる

sudo rm /var/lib/samba/private/secrets.ldb

sudo rm /var/lib/samba/private/secrets.tdb

sudo systemctl restart samba-ad-dc

sudo samba-tool domain join ND.LOCAL DC -U administrator --dns-backend=SAMBA_INTERNAL

動作確認

2台目のDC2で確認します。

sudo samba-tool fsmo show

1台目(FSMO)のDC1で確認します。

sudo samba-tool drs showrepl

sudo samba-tool fsmo show

FSMOの移行

FSMOを1台目のDCから2台目のDCに移行したい場合は、以下のコマンドを移行先(2台目のDC)で実行します。

sudo samba-tool fsmo transfer --role=all -U administrator

sudo samba-tool fsmo show

sudo samba-tool drs showrepl

同期漏れなど

sysvolディレクトリはレプリケーションしないのでrsyncを使って同期させます。
このことからFSMOのDCでユーザ追加などの操作を行った方が安心です。

SysVol replication (DFS-R) - SambaWiki

Comments