ウェブサイト検索

iRedMail サービスを設定して Samba4 AD DC に統合する方法 - パート 11


このチュートリアルでは、メール サービスを提供する iRedMail のメイン デーモン、メール転送に使用される Postfix、アカウントのメールボックスにメールを配信する Dovecot の両方を Samba4 Active Directory ドメイン コントローラーに統合するために変更する方法を学びます。

iRedMail を Samba4 AD DC に統合すると、Samba AD DC を介したユーザー認証、管理、ステータス、AD グループと Roundcube のグローバル LDAP アドレス帳を利用したメール リストの作成といった機能の恩恵を受けることができます。

要件

  1. Samba4 AD 統合のために iRedMail を CentOS 7 にインストールする

ステップ 1: Sama4 AD 統合用に iRedMail システムを準備する

1. 最初のステップでは、DHCP サーバーによって提供される動的 IP アドレスを使用している場合に備えて、マシンに静的 IP アドレスを割り当てる必要があります。

ifconfig コマンドを実行してマシンのネットワーク インターフェイス名を一覧表示し、正しい NIC に対して nmtui-edit コマンドを発行して、カスタム IP 設定を使用して適切なネットワーク インターフェイスを編集します。

root 権限でnmtui-edit コマンドを実行します。

ifconfig
nmtui-edit eno16777736

2. 編集のためにネットワーク インターフェイスを開いたら、適切な静的 IP 設定を追加します。クエリを実行するために、Samba4 AD DC の DNS サーバー IP アドレスとドメイン名を必ず追加してください。マシンからレルムを削除します。以下のスクリーンショットをガイドとして使用してください。

3. ネットワーク インターフェイスの構成が完了したら、ネットワーク デーモンを再起動して変更を適用し、ドメイン名と samba4 ドメイン コントローラーの FQDN に対して一連の ping コマンドを発行します。

systemctl restart network.service
cat /etc/resolv.conf     # verify DNS resolver configuration if the correct DNS servers IPs are queried for domain resolution
ping -c2 tecmint.lan     # Ping domain name
ping -c2 adc1            # Ping first AD DC
ping -c2 adc2            # Ping second AD DC

4. 次に、ntpdate パッケージをインストールして samba ドメイン コントローラーと時刻を同期し、以下のコマンドを発行して Samba4 マシンの NTP サーバーにクエリを実行します。

yum install ntpdate
ntpdate -qu tecmint.lan      # querry domain NTP servers
ntpdate tecmint.lan          # Sync time with the domain

5. ローカル時刻を samba AD タイム サーバーと自動的に同期したい場合があります。この設定を実現するには、crontab -e コマンドを発行して、次の行を追加して、1 時間ごとに実行するスケジュールされたジョブを追加します。

0   */1	  *   *   *   /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1

ステップ 2: iRedMail 統合用に Samba4 AD DC を準備する

6. ここで、このチュートリアルで説明されているように、Samba4 Active Directory を管理するために RSAT ツールがインストールされた Windows マシンに移動します。

DNS マネージャーを開き、ドメインの前方参照ゾーンに移動して、新しいAレコード、MXレコード、およびiRedMail システムの IP アドレスを指す PTR レコード。以下のスクリーンショットをガイドとして使用してください。

A レコードを追加します (iRedMail マシンの名前と IP アドレスを適宜置き換えます)。

MX レコードを追加します (子ドメインは空白のままにし、このメール サーバーの優先順位 10 を追加します)。

逆引き参照ゾーンまで展開してPTRレコードを追加します(iRedMailサーバーのIPアドレスを適宜置き換えてください)。これまでドメイン コントローラーの逆引きゾーンを構成していない場合は、次のチュートリアルをお読みください。

  1. Windows から Samba4 DNS グループ ポリシーを管理する

7. メール サーバーが適切に機能するようにする基本的な DNS レコードを追加したら、iRedMail マシンに移動し、bind-utils パッケージをインストールして、新しく追加されたレコードをクエリします。以下の抜粋に示されているように、メールレコードを送信します。

Samba4 AD DC DNS サーバーは、前の手順で追加された DNS レコードで応答する必要があります。

yum install bind-utils
host tecmint.lan
host mail.tecmint.lan
host 192.168.1.245

Windows マシンからコマンド プロンプトウィンドウを開き、上記のメール サーバー レコードに対して nslookup コマンドを発行します。

8. 最後の前提条件として、Samba4 AD DC に vmail という名前で最小限の権限を持つ新しいユーザー アカウントを作成し、このユーザーに強力なパスワードを選択し、次のことを確認します。このユーザーのパスワードは無期限です。

vmail ユーザー アカウントは、iRedMail サービスによって Samba4 AD DC LDAP データベースにクエリを実行し、電子メール アカウントを取得するために使用されます。

vmail アカウントを作成するには、以下のスクリーンショットに示すように、RSAT ツールがインストールされたレルムに参加している Windows マシンから ADUC グラフィカル ツールを使用するか、次のトピックで説明するようにドメイン コントローラーから samba-tool コマンド ラインを直接使用します。

  1. Linux コマンドラインから Samba4 Active Directory を管理する

このガイドでは、上記の最初の方法を使用します。

9. iRedMail システムから、以下のコマンドを発行して、vmail ユーザーが Samba4 AD DC LDAP データベースにクエリを実行できるかどうかをテストします。返される結果は、以下のスクリーンショットに示すように、ドメインのオブジェクト エントリの合計数になります。

ldapsearch -x -h tecmint.lan -D '[email ' -W -b 'cn=users,dc=tecmint,dc=lan'

: Samba4 AD のドメイン名と LDAP ベース DN を置き換えてください ('cn=users,dc=tecmint,dc=lan') ) それに応じて。

ステップ 3: iRedMail サービスを Samba4 AD DC に統合する

10. ここで、Samba4 ドメイン コントローラーにメール アカウントをクエリするために、iRedMail サービス (Postfix、Dovecot、および Roundcube) を改ざんします。

変更される最初のサービスは、MTA エージェントである Postfix です。次のコマンドを発行して、一連の MTA 設定を無効にし、Postfix ローカル ドメインとメールボックス ドメインにドメイン名を追加し、Dovecot エージェントを使用して受信メールをユーザーのメールボックスにローカルに配信します。

postconf -e virtual_alias_maps=' '
postconf -e sender_bcc_maps=' '
postconf -e recipient_bcc_maps= ' '
postconf -e relay_domains=' '
postconf -e relay_recipient_maps=' '
postconf -e sender_dependent_relayhost_maps=' '
postconf -e smtpd_sasl_local_domain='tecmint.lan'	#Replace with your own domain
postconf -e virtual_mailbox_domains='tecmint.lan'	#Replace with your own domain	
postconf -e transport_maps='hash:/etc/postfix/transport'
postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'  # Check SMTP senders
postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'  # Check local mail accounts
postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'  # Check local mail lists
cp /etc/postfix/transport /etc/postfix/transport.backup	# Backup transport conf file
echo "tecmint.lan dovecot" > /etc/postfix/transport		# Add your domain with dovecot transport
cat /etc/postfix/transport					# Verify transport file
postmap hash:/etc/postfix/transport

11. 次に、お気に入りのテキスト エディタで Postfix /etc/postfix/ad_sender_login_maps.cf 設定ファイルを作成し、以下の設定を追加します。

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
result_attribute= userPrincipalName
debuglevel      = 0

12. 次の構成で /etc/postfix/ad_virtual_mailbox_maps.cf を作成します。

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectclass=person)(userPrincipalName=%s))
result_attribute= userPrincipalName
result_format   = %d/%u/Maildir/
debuglevel      = 0

13. 以下の構成で /etc/postfix/ad_virtual_group_maps.cf を作成します。

server_host     = tecmint.lan
server_port     = 389
version         = 3
bind            = yes
start_tls       = no
bind_dn         = [email 
bind_pw         = ad_vmail_account_password
search_base     = dc=tecmint,dc=lan
scope           = sub
query_filter    = (&(objectClass=group)(mail=%s))
special_result_attribute = member
leaf_result_attribute = mail
result_attribute= userPrincipalName
debuglevel      = 0

3 つの構成ファイルすべてで、server_hostbind_dnbind_pwsearch_base の値を置き換えて、独自のドメインのカスタムを反映します。設定。

14. 次に、Postfix のメイン設定ファイルを開き、iRedAPD の check_policy_servicesmtpd_end_of_data_restrictions を検索し、コメント # を追加して無効にします。次の行の前。

nano /etc/postfix/main.cf

次の行をコメント化します。

#check_policy_service inet:127.0.0.1:7777
#smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:7777

15. ここで、次の例に示すように一連のクエリを発行して、既存のドメイン ユーザーとドメイン グループを使用して Postfix の Samba AD へのバインドを確認します。

結果は、次のスクリーンショットに示されているようになります。

postmap -q [email  ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_sender_login_maps.cf
postmap -q [email  ldap:/etc/postfix/ad_virtual_group_maps.cf

AD ユーザーとグループのアカウントを適宜置き換えてください。また、使用している AD グループに一部の AD ユーザー メンバーが割り当てられていることを確認してください。

16. 次のステップでは、Samba4 AD DC をクエリするために Dovecot 設定ファイルを変更します。ファイル /etc/dovecot/dovecot-ldap.conf を編集のために開き、次の行を追加します。

hosts           = tecmint.lan:389
ldap_version    = 3
auth_bind       = yes
dn              = [email 
dnpass          = ad_vmail_password
base            = dc=tecmint,dc=lan
scope           = subtree
deref           = never
user_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_filter     = (&(userPrincipalName=%u)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
pass_attrs      = userPassword=password
default_pass_scheme = CRYPT
user_attrs      = =home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/

Samba4 AD アカウントのメールボックスは、Linux システムの /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ の場所に保存されます。

17. dovecot のメイン設定ファイルで、pop3 および imap プロトコルが有効になっていることを確認します。ファイル /etc/dovecot/dovecot.conf を開いて、これらの値が存在するかどうかを確認して、クォータおよび ACL メール プラグインも有効になっているかどうかを確認します。

18. オプションで、各ドメイン ユーザーのストレージの最大 500 MB を超えないようにグローバル ハード クォータを設定する場合は、/etc/dovecot/dovecot に次の行を追加します。 confファイル。

quota_rule = *:storage=500M 

19. 最後に、これまでに行ったすべての変更を適用するために、root 権限で以下のコマンドを発行して、Postfix および Dovecot デーモンを再起動してステータスを確認します。

systemctl restart postfix dovecot
systemctl status postfix dovecot

20. IMAP プロトコルを使用してコマンド ラインからメール サーバーの設定をテストするには、以下の例に示すように、telnet または netcat コマンドを使用します。

nc localhost 143
a1 LOGIN ad_user@your_domain.tld ad_user_password
a2 LIST “” “*”
a3 LOGOUT

Samba4 ユーザー アカウントを使用してコマンド ラインから IMAP ログインを実行できる場合、iRedMail サーバーは Active Directory アカウントのメールを送受信できるようになっています。

次のチュートリアルでは、Roundcube Web メールを Samba4 AD DC と統合し、グローバル LDAP アドレス帳を有効にし、Roudcube をカスタマイズし、ブラウザから Roundcube Web インターフェイスにアクセスし、いくつかの不要な iRedMail サービスを無効にする方法について説明します。