GNU/Linux >> Linux の 問題 >  >> Linux

Linux で AD 用のドメイン コントローラを作成する方法

Linux サーバー上のドメイン コントローラー?!不可能!特にコンセプトを初めて聞いた人にとっては、反応は有効です。ドメイン コントローラーの Linux サーバーをセットアップできるだけでなく、無料でセットアップできることがわかりました!

コスト、標準化、またはより環境に優しく無駄のない技術スタックのために Linux を選択するかどうかにかかわらず、Linux DC のセットアップ方法を学ぶことは、すべての管理者にとって優れたスキルです。

Samba の使用方法については、以下をお読みください。 信頼できるドメイン コントローラー Linux サーバーとして。

前提条件

このチュートリアルは実践的なデモンストレーションです。先に進みたい場合は、Ubuntu サーバーがあることを確認してください。このチュートリアルでは、次の構成の Ubuntu Server 22.04 LTS を使用します。

  • ホスト名:oddjobs-dc
  • IP アドレス:192.168.8.10
  • ドメイン:OJI.COM
  • FQDN:oddjobs-dc.oji.com

Linux サーバーでのドメイン コントローラの準備

すべての前提条件を満たした後、DC の機能を妨げる可能性のある既定のオペレーティング システム設定がないことを確認する必要があります。心配しないで。この手順は、思ったほど複雑ではありません。以下の手順に従って、このタスクを完了してください。

ホスト ファイル エントリのセットアップ

最初のタスクは、サーバーのホスト名と FQDN エントリをローカル hosts に追加することです (/etc/hosts ) ファイル。

1. まず、好みの SSH クライアントを開き、Ubuntu サーバーにログインします。

2. ホストを開く (/etc/hosts) ファイルを nano などのテキスト エディターで開きます。

sudo nano /etc/hosts

3. ホスト名または FQDN を静的 IP 以外の IP にマップするエントリを削除します。たとえば、このサーバーの静的 IP アドレスは 192.168.8.10 であるため、このエントリが存在する場合はそのままにしておきます。以下の例を参照してください。

4. 次に、ホストの FQDN と静的 IP アドレスをマップするエントリを追加します。このチュートリアルでは、サーバーの FQDN は oddjobs-dc.oji.com であるため、追加するエントリは次のとおりです。

192.168.8.10 oddjobs-dc.oji.com oddjobs-dc

5. ホストを保存します (/etc/hosts) ファイルを開き、エディターを終了します。

ホスト名と FQDN の解決を確認する

以下のコマンドを実行して、サーバーのホスト名と FQDN が正しい IP アドレスに解決されることを確認します。

# verify server FQDN
hostname -A

# verify FQDN resolves to your server IP address
ping -c1 oddjobs-dc.oji.com

以下に示すように、コマンドは予想される FQDN と IP アドレスを返しました。

ネットワーク名解決サービスを無効にする

Ubuntu には systemd-resolved というサービスがあります 、DNS 解決要求を処理します。このサービスは Samba には適していないため、無効にして代わりに DNS リゾルバーを手動で構成する必要があります。

1. 以下のコマンドを実行して、systemd-resolved サービスを無効にします。

sudo systemctl disable --now systemd-resolved

2. 次に、ファイル /etc/resolv.conf へのシンボリック リンクを削除します。

sudo unlink /etc/resolv.conf

3. テキスト エディタで新しい /etc/resolv.conf ファイルを作成します。この例では nano を使用しています。

sudo nano /etc/resolv.conf

4. /etc/resolv.conf ファイルに次の情報を入力します。 192.168.8.10 をサーバーの IP アドレスに、oji.com をドメインに置き換えます。ネームサーバー 1.1.1.1 をフォールバック DNS リゾルバーとして残します。これは、Cloudflare によるパブリック DNS リゾルバーです。

# your Samba server IP Address
nameserver 192.168.8.10

# fallback resolver
nameserver 1.1.1.1

# your Samba domain
search oji.com

/etc/resolv.conf は以下のスクリーンショットのようになります。

5. ファイルを保存してエディターを終了します。

Samba のインストール

サーバーの準備が完了したら、Samba とその他の必要なパッケージをインストールして、ドメイン コントローラーをプロビジョニングします。

1. まず、以下のコマンドを実行して、リポジトリ キャッシュが最新であることを確認します。

sudo apt-get update

2. 以下のコマンドを実行して、完全に機能するドメイン コントローラーに必要なパッケージをインストールします。

sudo apt install -y acl attr samba samba-dsdb-modules samba-vfs-modules smbclient winbind libpam-winbind libnss-winbind libpam-krb5 krb5-config krb5-user dnsutils chrony net-tools

3. [Kerberos 認証の構成] ステップで、DNS ドメインを大文字で入力します。この例では、デフォルトのレルム ドメインは OJI.COM です。 [OK] を強調表示し、Enter キーを押して値を受け入れます。

4. レルムの Kerberos サーバーを尋ねる次の画面で、サーバーのホスト名を入力して Enter キーを押します。

5. Kerberos レルムの管理サーバーを求める次の画面で、サーバーのホスト名を入力して Enter キーを押します。

6. 構成後、不要なサービス (winbind、smbd、および nmbd) を無効にします。

sudo systemctl disable --now smbd nmbd winbind

7. samba-ad-dc サービスを有効にしてアクティブにします。このサービスは、Samba が Active Directory ドメイン コントローラー Linux サーバーとして機能するために必要なものです。

# unmask the samba-ad-dc service
sudo systemctl unmask samba-ad-dc

# enable samba-ad-dc service
sudo systemctl enable samba-ad-dc

ドメイン コントローラー Linux サーバーのプロビジョニング

samba-tool バイナリを使用して、Samba のインストール時にドメイン コントローラーをプロビジョニングできるようになりました。 サンバも l は、Samba ベースの AD のさまざまな側面とやり取りして構成するための構成ツールです。

1. 念のため、既存の /etc/samba/smb.conf および /etc/krb5.conf ファイルをバックアップします。

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo mv /etc/krb5.conf /etc/krb5.conf.bak

2. 以下のコマンドを実行して、Samba を Active Directory ドメイン コントローラー Linux サーバーに昇格させます。

–use-rfc2307 スイッチは、ネットワーク情報サービス (NIS) 拡張機能を有効にし、DC が UNIX ベースのユーザー アカウントを適切に管理できるようにします。

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

3. プロンプトに次のように回答します。

  • レルム – ツールは自動的に Kerberos レルムを検出します。この例では、レルムは OJI.COM です . Enter キーを押してデフォルトを受け入れます。
  • ドメイン – ツールは NetBIOS ドメイン名を自動的に検出します。この例では、NetBIOS は OJI です。 . Enter キーを押して続行してください。
  • サーバーの役割 – このツールは、サーバーの役割をドメイン コントローラー (dc) として自動的に設定します。 )。 Enter キーを押して続行してください。
  • DNS バックエンド – デフォルトは SAMBA_INTERNAL です . Enter キーを押してデフォルトを受け入れます。
  • DNS フォワーダーの IP アドレスresolve.conf で指定したフォールバック リゾルバ アドレスを入力します 以前は 1.1.1.1 です . Enter キーを押して続行してください。
  • 管理者パスワード – デフォルトのドメイン管理者のパスワードを設定します。指定するパスワードは、Microsoft の最小限の複雑さの要件を満たす必要があります。 Enter キーを押して続行します。
  • パスワードの再入力 - デフォルトのドメイン管理者パスワードを再入力し、Enter キーを押します。

構成の最後に、次の情報が表示されます。

4. samba-tool コマンドにより、/var/lib/samba/private/krb5.conf に Samba AD Kerberos 構成ファイルが生成されました。このファイルを /etc/krb5.conf にコピーする必要があります。これを行うには、次のコマンドを実行します。

sudo cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

5. 最後に、samba-ad-dc サービスを開始します。

sudo systemctl start samba-ad-dc
sudo systemctl status samba-ad-dc

以下に示すように、サービスのステータスは現在アクティブ (実行中) です。

ドメイン コントローラー Linux サーバーのテスト

Samba AD DC サーバーが実行中です。このセクションでは、いくつかのインストール後のテストを実行して、主要なコンポーネントが期待どおりに機能していることを確認します。そのようなテストの 1 つは、DC の既定のネットワーク共有へのログインを試みることです。

smbclient コマンドを実行して、デフォルトの管理者アカウントとしてログオンし、netlogon 共有の内容を一覧表示 (ls) します。

smbclient //localhost/netlogon -U Administrator -c 'ls'

デフォルトの管理者パスワードを入力します。 DC が良好な状態であれば、エラーなしで共有にアクセスできるはずです。以下に示すように、コマンドは netlogon 共有ディレクトリを一覧表示します。

キー ドメイン レコードの DNS 解決の確認

以下のコマンドを実行して、次の DNS レコードを検索してください。

  • ドメインの TCP ベースの LDAP SRV レコード。
  • ドメインの UDP ベースの Kerberos SRV レコード。
  • ドメイン コントローラの記録
host -t SRV _ldap._tcp.oji.com
host -t SRV _kerberos._udp.oji.com
host -t A oddjobs-dc.oji.com

各コマンドは、DNS 解決が機能していることを示す次の結果を返す必要があります。

ケルベロスのテスト

最後のテストは、Kerberos チケットの発行を試みることです。

1. 管理者ユーザーでkinitコマンドを実行します。このコマンドは、レルムをユーザー アカウントに自動的に追加します。たとえば、管理者は [email protected] になり、OJI.com がレルムになります。

kinit administrator

2. プロンプトで管理者パスワードを入力し、Enter キーを押します。パスワードが正しい場合、以下に示すように、パスワードの有効期限に関する警告メッセージが表示されます。

3. 以下の klist コマンドを実行して、チケット キャッシュ内のすべてのチケットを一覧表示します。

klist

以下のスクリーンショットは、管理者アカウントの Kerberos チケットがチケット キャッシュにあることを示しています。この結果は、Kerberos 認証がドメイン コントローラーの Linux サーバーで機能することを示しています。

結論

このチュートリアルの最後に到達しておめでとうございます。これで、Active Directory ドメイン コントローラー Linux サーバーをすばやく立ち上げる方法を学習しました。ユーザーを作成し、クライアント コンピューターをドメインに参加させる方法を学習して、このテーマに関する知識を深めてください。


Linux
  1. Linux用のPythonアプリケーションをパッケージ化する方法

  2. Linuxですべてのユーザーの共有ディレクトリを作成する方法

  3. Linuxコマンドのスクリプトを作成する方法

  1. あなたのウェブサイトのサブドメインを作成する方法

  2. 専用サーバー用のカスタムネームサーバーを作成する方法

  3. Linux で Samba ドメイン コントローラの構成をバックアップする方法

  1. Linux サーバーに CVS をインストールして CVS リポジトリを作成する方法

  2. Linux で Samba をプライマリ ドメイン コントローラとしてセットアップする方法

  3. Microsoft SQL Server for Linux (fedora) をインストールするにはどうすればよいですか?