Samba DCを既存のActive Directoryに参加させる

提供: 雑廉堂Wiki
2018年3月21日 (水) 18:17時点におけるMeisina04 (トーク | 投稿記録)による版 (ページの作成:「# Samba DCを既存のActive Directoryに参加させる ## はじめに Active Directory(AD)フォレストでは、1つのドメインコントローラ(DC)...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
  1. Samba DCを既存のActive Directoryに参加させる
    1. はじめに

Active Directory(AD)フォレストでは、1つのドメインコントローラ(DC)を実行するだけで十分です。 ただし、フェールオーバーとロードバランシングの理由から、ADフォレストにさらにDCを追加する必要があります。 既存のADに追加のSamba DCを参加させることは、フォレスト内の最初のDCをプロビジョニングすることとは異なります。 新しいADフォレストを設定する場合は、「setting_up_samba_as_an_active_directory_domain_controller」を参照してください。

<WRAP info> NT4ドメインは、1つのプライマリドメインコントローラ(PDC)とオプションで追加のバックアップドメインコントローラ(BDC)のみを使用します。 FSMOの役割を除いては、ADフォレストでは、ドメインコントローラ間に違いはありません。 混乱の可能性を避けるためにADについて話すときは、用語「ドメインコントローラ」または「DC」のみを使用してください。 </WRAP>


    1. インストールの準備

詳細については、「setting_up_samba_as_an_active_directory_domain_controller」の「setting_up_samba_as_an_active_directory_domain_controller#インストールの準備」を参照してください。


    1. Sambaのインストール

詳細については、Sambaのインストールを参照してください。 メンテナンスされたSambaのバージョンをインストールしてください。 詳細は、「samba_release_planning」を参照してください。


    1. ドメインに参加するためのホストの準備
      1. ローカルDNSサーバー

既定では、フォレスト内の最初のドメインコントローラ(DC)は、Active Directory(AD)ベースのゾーン用のDNSサーバーを実行します。フェイルオーバーの理由から、ネットワーク内のDNSサーバーとして機能する複数のDCを実行することをお勧めします。新しいDCでDNSサービスを提供することを検討する場合:

- `BIND9_DLZ`バックエンドについては、「bind9_dlz_dns_back_end」を参照してください。 Samba DCサービスを開始する前に、この作業を完了してください。 - 内部DNSについては、これ以上の操作は必要ありません。


      1. DNSの設定

詳細については、「linux_and_unix_dns_configuration」を参照してください。


      1. Kerberos

Kerberosクライアント構成ファイル`/etc/krb5.conf`に次の設定を行います。

``` [libdefaults]

   dns_lookup_realm = false
   dns_lookup_kdc = true
   default_realm = SAMDOM.EXAMPLE.COM

```

設定を確認するには、`kinit`コマンドを使用してドメイン管理者のKerberosチケットを要求します。

```

  1. kinit administrator

Password for administrator@SAMDOM.EXAMPLE.COM: ```

Kerberosチケットを一覧表示するには:

```

  1. klist

Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrator@SAMDOM.EXAMPLE.COM

Valid starting Expires Service principal 24.09.2015 19:56:55 25.09.2015 05:56:55 krbtgt/SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM renew until 25.09.2015 19:56:53 ```


    1. ドメインコントローラとしてActive Directoryに参加

Samba内部DNSを使って、追加のDNSサーバーとして働くドメインコントローラ(DC)を、ドメイン`samdom.example.com`に参加させるには:

```

  1. samba-tool domain join samdom.example.com DC -U"SAMDOM\administrator" --dns-backend=SAMBA_INTERNAL

Finding a writeable DC for domain 'samdom.example.com' Found DC dc1.samdom.example.com Password for [SAMDOM\administrator]: workgroup is SAMDOM realm is samdom.example.com Adding CN=DC2,OU=Domain Controllers,DC=samdom,DC=example,DC=com Adding CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com Adding CN=NTDS Settings,CN=DC2,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=samdom,DC=example,DC=com Adding SPNs to CN=DC2,OU=Domain Controllers,DC=samdom,DC=example,DC=com Setting account password for DC2$ Enabling account Calling bare provision Looking up IPv4 addresses Looking up IPv6 addresses No IPv6 address will be assigned Setting up share.ldb Setting up secrets.ldb Setting up the registry Setting up the privileges database Setting up idmap db Setting up SAM db Setting up sam.ldb partitions and settings Setting up sam.ldb rootDSE Pre-loading the Samba 4 and AD schema A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Provision OK for domain DN DC=samdom,DC=example,DC=com Starting replication Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[402/1550] linked_values[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[804/1550] linked_values[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[1206/1550] linked_values[0/0] Schema-DN[CN=Schema,CN=Configuration,DC=samdom,DC=example,DC=com] objects[1550/1550] linked_values[0/0] Analyze and apply schema objects Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[402/1618] linked_values[0/0] Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[804/1618] linked_values[0/0] Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1206/1618] linked_values[0/0] Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1608/1618] linked_values[0/0] Partition[CN=Configuration,DC=samdom,DC=example,DC=com] objects[1618/1618] linked_values[42/0] Replicating critical objects from the base DN of the domain Partition[DC=samdom,DC=example,DC=com] objects[100/100] linked_values[23/0] Partition[DC=samdom,DC=example,DC=com] objects[386/286] linked_values[23/0] Done with always replicated NC (base, config, schema) Replicating DC=DomainDnsZones,DC=samdom,DC=example,DC=com Partition[DC=DomainDnsZones,DC=samdom,DC=example,DC=com] objects[44/44] linked_values[0/0] Replicating DC=ForestDnsZones,DC=samdom,DC=example,DC=com Partition[DC=ForestDnsZones,DC=samdom,DC=example,DC=com] objects[19/19] linked_values[0/0] Committing SAM database Sending DsReplicaUpdateRefs for all the replicated partitions Setting isSynchronized and dsServiceName Setting up secrets database Joined domain SAMDOM (SID S-1-5-21-469703510-2364959079-1506205053) as a DC ```


詳細については、`samba-tool domain join --help`コマンドの出力を参照してください。

`samba-tool domain join`コマンドで頻繁に使用されるその他のパラメータ:

- `--site=SITE`:DCとして特定のActive Directoryサイトにホストに直接参加します。

- `--option="interfaces=lo eth0" --option="bind interfaces only=yes"`:サーバに複数のネットワークインタフェースがある場合は、これらのオプションを使用して指定されたインタフェースにSambaをバインドします。これにより、`samba-tool`コマンドは参加中に正しいLAN IPアドレスをディレクトリに登録できます。

<WRAP info> 他のDCがSamba DCで、`--use-rfc2307`でプロビジョニングされている場合は、joinコマンドに`--option='idmap_ldb:use rfc2307 = yes'`を追加する必要があります </WRAP>


    1. DNSエントリの確認

Samba 4.7以降を実行しているSamba DCに参加すると、必要なすべてのDNSエントリが自動的に作成されます。以前のバージョンで手動でレコードを作成するには、「verifying_and_creating_a_dc_dns_record」を参照してください。


    1. BIND9_DLZ DNSバックエンドの設定

ドメイン参加中に`BIND9_DLZ DNS`バックエンドを選択した場合は、BIND構成を設定します。詳細については、「bind9_dlz_dns_back_end」を参照してください。


    1. 組み込みのユーザーIDとグループIDのマッピング

Sysvolの複製は現在Sambaではサポートされていません。 Sysvolレプリケーションの回避策を使用するには、すべてのドメインコントローラ(DC)が、ビルトインユーザーおよびグループに対して同じIDマッピングを使用する必要があります。

デフォルトでは、Samba DCはユーザーIDとグループIDを 'idmap.ldb'の 'xidNumber'属性に格納します。 'idmap.ldb'の仕組みにより、各DCが特定のユーザーまたはグループに対して同じIDを使用することを保証することはできません。同じIDを使用するには、次のことを行う必要があります。

- 既存のDC上の`/usr/local/samba/private/idmap.ldb`ファイルのホットバックアップを作成します。

```

  1. tdbbackup -s .bak /usr/local/samba/private/idmap.ldb

```

これにより、バックアップファイル`/usr/local/samba/private/idmap.ldb.bak`が作成されます。

- バックアップファイルを新しい結合DC上の`/usr/local/samba/private/`フォルダに移動し、`.bak`接尾辞を削除して既存のファイルを置き換えます。

- 新しいDC上のSysvolフォルダのファイルシステムアクセス制御リスト(ACL)をリセットします。

```

  1. samba-tool ntacl sysvolreset

```


    1. Sambaサービスの開始

Samba Active Directory(AD)ドメインコントローラ(DC)サービスを手動で起動するには、次のように入力します。

```

  1. samba

```

SambaはSystem Vのinitスクリプト、`systemd`、`upstart`、またはその他のサービス設定ファイルを提供していません。

- パッケージを使用してSambaをインストールした場合は、パッケージに含まれているスクリプトまたはサービス設定ファイルを使用してSambaを起動します。 - Sambaをビルドした場合は、「managing_the_samba_ad_dc_service」を参照してください。


    1. ディレクトリレプリケーションの確認

ドメインコントローラー(DC)が起動されると、Samba DCの知識整合性チェッカー(KCC)によってActive Directory(AD)フォレスト内の他のDCへのレプリケーションアグリーメントが作成されます。 KCCが自動生成レプリケーション接続を作成するまでに最大15分かかることがあります。

ディレクトリ複製が正しく機能することを確認する方法の詳細については、「verifying_the_directory_replication_statuses」を参照してください。

``` レプリケーションの待ち時間とコストを最適化するために、Samba 4.5以降のKCCでは、すべてのDC間で完全メッシュレプリケーショントポロジが作成されなくなりました。詳細については、「the_samba_kcc」を参照してください。 ```


    1. BINDの起動

BINDデーモンを開始する前に、DNSディレクトリパーティションが正常に複製されていることを確認します。

```

  1. samba-tool drs showrepl

...

INBOUND NEIGHBORS

... DC=DomainDnsZones,DC=samdom,DC=example,DC=com Default-First-Site-Name\DC1 via RPC DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f Last attempt @ Thu Sep 24 20:08:45 2015 CEST was successful 0 consecutive failure(s). Last success @ Thu Sep 24 20:08:45 2015 CEST ... DC=ForestDnsZones,DC=samdom,DC=example,DC=com Default-First-Site-Name\DC1 via RPC DSA object GUID: 4a6bd92a-6612-4b15-aa8c-9ec371e8994f Last attempt @ Thu Sep 24 20:08:45 2015 CEST was successful 0 consecutive failure(s). Last success @ Thu Sep 24 20:08:45 2015 CEST ```

レプリケーションが正常に動作する場合は、BINDサービスを開始します。サービスを開始する方法については、ディストリビューションのドキュメントを参照してください。


    1. Samba AD DCのテスト
      1. ファイルサーバーの確認

詳細については、「setting_up_samba_as_an_active_directory_domain_controller」のsetting_up_samba_as_an_active_directory_domain_controller#ファイルサーバーの確認を参照してください。


      1. ローカルDNSサーバーのテスト

結合中に`--dns-backend=NONE`を選択した場合は、この手順をスキップしてください。

ローカルDNSサーバーを照会して、ドメイン名`samdom.example.com`を解決します。

```

  1. host -t A samdom.example.com localhost

Using domain server: Name: localhost Address: 127.0.0.1#53 Aliases:

samdom.example.com has address 10.99.0.1 samdom.example.com has address 10.99.0.2 ```

ローカルDNSは、ドメイン名をすべてのドメインコントローラ(DC)のIPアドレスに解決します。

結果が表示されない場合や、別の結果が表示された場合は、このドキュメントを確認して次を確認してください。

- システムログファイル、 - Sambaのログファイル、 - BIND9_DLZが使用されている場合は、BINDログ・ファイル。


      1. Kerberosの確認

詳細については、「setting_up_samba_as_an_active_directory_domain_controller」の「setting_up_samba_as_an_active_directory_domain_controller#Kerberosの確認」を参照してください。


    1. ドメインコントローラでのDNS構成

他のDCを見つけることができない場合、複製が失敗するため、ドメインコントローラ(DC)のDNS構成は重要です。ドメインコントローラ(DC)でのDNS構成のベストプラクティスは次のとおりです。

DCのローカルIPを`/etc/resolv.conf`ファイルの二次的または三次的ネームサーバーのエントリとして設定し、フォレストのプライマリネームサーバーとは異なるActive Directory(AD)DNSサーバーIPを使用します。例えば:

新たに参加したDCでは、既存のDCの`10.99.0.1`のIPをプライマリとして使用し、ローカルの`10.99.0.2`のIPをセカンダリネームサーバーのエントリとして使用します。

``` nameserver 10.99.0.1 nameserver 10.99.0.2 # IP of the new joined DC as secondary entry search samdom.example.com ```

2つ以上のDCを実行している場合は、IPを横方向に設定できます。


    1. 時刻同期の設定

Kerberosでは、すべてのドメインメンバーに同期時間が必要です。詳細とntpdサービスの設定方法については、「time_synchronisation」を参照してください。


    1. Samba AD DCでのWinbinddの設定

オプション。詳細については、configuring_winbindd_on_a_samba_ad_dcを参照してください。


    1. ドメインコントローラをファイルサーバーとして使用する

詳細については、「setting_up_samba_as_an_active_directory_domain_controller#ドメインコントローラをファイルサーバーとして使用する」を参照してください。


    1. Sysvolレプリケーション

Sambaは現在、Sysvolの複製をサポートしていません。サポートされていない回避策については、「sysvol_replication」を参照してください。

<WRAP info> 他のDC上のSysvolに既定のGPO以外にもGPOがある場合は、Sysvolを新しいDCに同期する必要があります。`samba-tool ntacl sysvolreset`はエラーをスローします。 </WRAP>


    1. ディレクトリレプリケーションのテスト

ディレクトリ複製が正常に動作することをテストするには、たとえば既存のDC上にユーザーを追加し、新しく追加されたDC上に自動的に表示されることを確認します。

オプションで、`ldapcmp`ユーティリティを使用して2つのディレクトリを比較します。詳細は、「samba-tool_ldapcmp」を参照してください。


    1. トラブルシューティング

詳細は、「samba_ad_dc_troubleshooting」を参照してください。