Rsyncを使用して2つのSamba4ADDC間でSysVolレプリケーションをセットアップする-パート6


このトピックでは、Rsyncファイル同期ユーティリティ、Cronスケジューリングデーモン、SSHプロトコルなどのいくつかの強力なLinuxツールを使用して実行される2つのSamba4 ActiveDirectoryドメインコントローラー間でのSysVolレプリケーションについて説明します。

  1. Join Ubuntu 16.04 as Additional Domain Controller to Samba4 AD DC – Part 5

ステップ1:DC間での正確な時刻同期

1.両方のドメインコントローラー間でsysvolディレクトリの内容の複製を開始する前に、これらのマシンに正確な時間を提供する必要があります。

遅延が両方向で5分を超え、それらのクロックが適切に同期されていない場合は、ADアカウントとドメインレプリケーションでさまざまな問題が発生し始めるはずです。

2つ以上のドメインコントローラー間での時間のずれの問題を克服するには、以下のコマンドを実行して、マシンにNTPサーバーをインストールして構成する必要があります。

# apt-get install ntp

2. NTPデーモンがインストールされたら、メイン構成ファイルを開き、デフォルトのプールにコメントを付け(各プール行の前に#を追加)、NTPサーバーがインストールされたメインのSamba4 AD DCFQDNを指す新しいプールを追加します。 、以下の例で提案されているように。

# nano /etc/ntp.conf

ntp.confファイルに次の行を追加します。

pool 0.ubuntu.pool.ntp.org iburst
#pool 1.ubuntu.pool.ntp.org iburst
#pool 2.ubuntu.pool.ntp.org iburst
#pool 3.ubuntu.pool.ntp.org iburst

pool adc1.tecmint.lan

# Use Ubuntu's ntp server as a fallback.
pool ntp.ubuntu.com

3.まだファイルを閉じないで、ファイルの一番下に移動し、次の行を追加して、他のクライアントがこのNTPサーバーと時刻を照会および同期できるようにし、プライマリの場合は署名されたNTP要求を発行できるようにします。 DCがオフラインになります:

restrict source notrap nomodify noquery mssntp
ntpsigndsocket /var/lib/samba/ntp_signd/

4.最後に、構成ファイルを保存して閉じ、変更を適用するためにNTPデーモンを再起動します。同期するまで数秒または数分待ってから、ntpqコマンドを発行して、同期しているadc1ピアの現在の要約状態を出力します。

# systemctl restart ntp
# ntpq -p

ステップ2:Rsyncを介した最初のDCでのSysVolレプリケーション

既定では、Samba4 AD DCは、DFS-R(分散ファイルシステムレプリケーション)またはFRS(ファイルレプリケーションサービス)を介したSysVolレプリケーションを実行しません。

つまり、グループポリシーオブジェクトは、最初のドメインコントローラーがオンラインの場合にのみ使用できます。最初のDCが使用できなくなった場合、グループポリシー設定とログオンスクリプトは、ドメインに登録されているWindowsマシンにはそれ以上適用されません。

この障害を克服し、基本的な形式のSysVolレプリケーションを実現するために、GPOオブジェクトを最初のドメインコントローラーから2番目のドメインコントローラーに安全に転送するために、キーベースのSSH認証を備えたSSH暗号化トンネルと組み合わせたLinuxrsyncコマンドをスケジュールします。

このメソッドは、ドメインコントローラー間でGPOオブジェクトの一貫性を保証しますが、1つの大きな欠点があります。 rsyncはGPOディレクトリを同期するときに、すべての変更をソースDCから宛先DCに転送するため、一方向でのみ機能します。

ソースに存在しなくなったオブジェクトも宛先から削除されます。競合を制限して回避するために、すべてのGPO編集は最初のDCでのみ行う必要があります。

5. SysVolレプリケーションのプロセスを開始するには、最初に最初のSamba AD DCでSSHキーを生成し、以下のコマンドを発行してキーを2番目のDCに転送します。

スケジュールされた転送をユーザーの介入なしに実行するために、このキーにパスフレーズを使用しないでください。

# ssh-keygen -t RSA  
# ssh-copy-id [email protected]  
# ssh adc2 
# exit 

6.最初のDCのrootユーザーが2番目のDCに自動的にログインできることを確認したら、SysVolレプリケーションをシミュレートするために、 -dry-run パラメーターを指定して次のRsyncコマンドを実行します。それに応じてadc2を交換してください。

# rsync --dry-run -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ [email protected]:/var/lib/samba/sysvol/

7.シミュレーションプロセスが期待どおりに機能する場合は、 -dry-run オプションを指定せずにrsyncコマンドを再度実行して、ドメインコントローラー間でGPOオブジェクトを実際に複製します。

# rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ [email protected]:/var/lib/samba/sysvol/

8. SysVolレプリケーションプロセスが終了したら、宛先ドメインコントローラーにログインし、以下のコマンドを実行して、GPOオブジェクトディレクトリの1つの内容を一覧表示します。

最初のDCからの同じGPOオブジェクトをここでも複製する必要があります。

# ls -alh /var/lib/samba/sysvol/your_domain/Policiers/

9.グループポリシーレプリケーション(ネットワークを介したsysvolディレクトリトランスポート)のプロセスを自動化するには、以下のコマンドを発行して、5分ごとに以前に使用したrsyncコマンドを実行するようにルートジョブをスケジュールします。

# crontab -e 

rsyncコマンドを追加して5分ごとに実行し、エラーを含むコマンドの出力をログファイル/var/log/sysvol-replication.logに送信します。何かが期待どおりに機能しない場合は、次のファイルを参照してください。問題のトラブルシューティングを行うため。

*/5 * * * * rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ [email protected]:/var/lib/samba/sysvol/ > /var/log/sysvol-replication.log 2>&1

10.将来、SysVol ACL権限に関連する問題が発生すると想定して、これらのエラーを検出して修復するために、次のコマンドを実行できます。

# samba-tool ntacl sysvolcheck
# samba-tool ntacl sysvolreset

11.「PDCエミュレーター」としてFSMOの役割を持つ最初のSamba4AD DCが使用できなくなった場合、[ドメインコントローラーの変更]オプションを選択して手動で選択することにより、MicrosoftWindowsシステムにインストールされているグループポリシー管理コンソールを強制的に2番目のドメインコントローラーにのみ接続できます。以下に示すように、ターゲットマシンを選択します。

グループポリシー管理コンソールから2番目のDCに接続している間は、ドメインのグループポリシーを変更しないでください。最初のDCが再び使用可能になると、rsyncコマンドはこの2番目のドメインコントローラーで行われたすべての変更を破棄します。