開発運用

Samba ドメインコントローラー 設定

「Sambaをドメインコントローラーとして使用する方法」

Sambaは、LinuxやUnixベースのシステム上でWindows互換のファイル共有およびプリンタ共有機能を提供するオープンソースソフトウェアです。特に、Windowsのドメインコントローラーとしての機能を持つSambaは、Windows環境との相互運用性を高めるために広く利用されています。本記事では、Sambaをドメインコントローラー(DC)として使用するための設定方法や、実際の運用におけるベストプラクティスについて詳述します。

Sambaのインストールと準備

まず最初に、Sambaをインストールする必要があります。ほとんどのLinuxディストリビューションでは、標準のパッケージ管理システムを使用して簡単にインストールできます。

1. 必要なパッケージをインストールする

以下のコマンドを使用して、Sambaと関連するパッケージをインストールします。

bash
sudo apt update sudo apt install samba samba-common samba-common-bin

このコマンドにより、Sambaの基本的なファイル共有機能と、ドメインコントローラーとして機能するために必要なツール群がインストールされます。

2. Sambaのバージョンを確認

インストールが完了したら、インストールされたSambaのバージョンを確認します。

bash
smbd --version

ドメインコントローラーとして利用するためには、Sambaのバージョンが4.0以降である必要があります。

Sambaをドメインコントローラーとして設定する

Sambaをドメインコントローラーとして機能させるためには、いくつかの設定が必要です。これには、Active Directory(AD)機能の設定、Kerberos認証の設定、およびDNSの設定が含まれます。

1. ドメインを作成する

次に、samba-toolを使用して新しいドメインを作成します。以下のコマンドでドメインを作成できます。

bash
sudo samba-tool domain provision --use-rfc2307 --interactive

このコマンドを実行すると、いくつかの質問が表示されます。これには、ドメイン名、NetBIOS名、管理者のパスワードなどが含まれます。入力後、Sambaが必要な設定ファイルを生成し、ドメインコントローラーとして機能できるようにします。

2. Kerberos認証の設定

SambaはKerberos認証を使用して認証処理を行います。Kerberosの設定ファイルであるkrb5.confを編集する必要があります。このファイルは通常、/etc/krb5.confにあります。

以下は、Kerberos設定ファイルの一例です:

ini
[libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = true [realms] EXAMPLE.COM = { kdc = samba.example.com admin_server = samba.example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM

この設定により、Kerberos認証がSambaドメインで適切に機能するようになります。

3. DNSの設定

Sambaのドメインコントローラーは、DNSサーバーとしても機能する必要があります。したがって、DNSを適切に設定する必要があります。通常、Sambaがインストールされると、smb.confにDNSの設定が追加されます。

bash
sudo nano /etc/samba/smb.conf

以下の設定を確認し、必要に応じて変更します。

ini
[global] workgroup = EXAMPLE realm = EXAMPLE.COM netbios name = SAMBA server role = active directory domain controller dns forwarder = 8.8.8.8

これにより、Sambaが内部DNSサーバーとして動作し、ドメインの名前解決を管理できるようになります。

Sambaドメインコントローラーの起動と確認

設定が完了したら、Sambaサービスを起動して、ドメインコントローラーとして正常に機能しているか確認します。

1. Sambaサービスの起動

bash
sudo systemctl restart samba sudo systemctl enable samba

これにより、Sambaがシステム起動時に自動的に起動するようになります。

2. ドメインコントローラーの確認

次に、samba-toolコマンドを使用して、ドメインコントローラーが正常に動作しているかを確認します。

bash
sudo samba-tool domain level show

また、以下のコマンドでSambaの状態を確認できます。

bash
sudo systemctl status samba

これにより、Sambaがドメインコントローラーとして正常に稼働しているかを確認できます。

Windowsクライアントの設定

Sambaをドメインコントローラーとして設定した後、Windowsクライアントをドメインに参加させることができます。Windowsクライアントの「システムのプロパティ」から、ドメイン名を入力し、管理者の資格情報を提供することで、WindowsマシンをSambaドメインに参加させることができます。

結論

Sambaをドメインコントローラーとして使用することにより、LinuxやUnixベースのシステムでWindowsのActive Directoryと同様の機能を提供することができます。適切な設定を行うことで、ドメインの管理、ユーザー認証、ファイル共有などを効率的に実現することが可能です。Sambaを使用したドメインコントローラーの設定は、Linuxサーバーの活用方法を広げ、特にコストを抑えたネットワーク環境の構築に貢献します。

Back to top button