ウェブサイト検索

Rsync を使用した 2 つの Samba4 AD DC にわたる SysVol レプリケーションのセットアップ - パート 6


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

要件:

  1. Ubuntu 16.04 を追加のドメイン コントローラーとして Samba4 AD DC に参加する – パート 5

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

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

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

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

apt-get install ntp

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

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 サーバーに時刻を照会して同期できるようにするためであり、署名付きのメッセージを発行します。プライマリ DC がオフラインになった場合の NTP リクエスト:

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 DCDFS-R 経由の SysVol レプリケーション (分散ファイル システム レプリケーション) を実行しません。またはFRS (ファイル レプリケーション サービス)。

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

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

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

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

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

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

ssh-keygen -t RSA  
ssh-copy-id root@adc2  
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/ root@adc2:/var/lib/samba/sysvol/

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

rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ root@adc2:/var/lib/samba/sysvol/

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

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

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

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

crontab -e 

5 分ごとに実行する rsync コマンドを追加し、エラーを含むコマンドの出力をログ ファイル /var/log/sysvol-replication.log に送信します。何か問題が発生した場合に備えて、問題のトラブルシューティングを行うには、このファイルを参照する必要があると考えられます。

*/5 * * * * rsync -XAavz --chmod=775 --delete-after  --progress --stats  /var/lib/samba/sysvol/ root@adc2:/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 役割を持つ最初の Samba4 AD DC が利用できなくなった場合、次のことができます。以下に示すように、[ドメイン コントローラの変更] オプションを選択し、ターゲット マシンを手動で選択することで、Microsoft Windows システムにインストールされているグループ ポリシー管理コンソールが 2 番目のドメイン コントローラにのみ接続するように強制します。

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