在本教程中,您将学习如何修改提供邮件服务的iRedMail主守护进程。相应的,Postfix用于邮件传输,Dovecot将邮件投递到账户邮箱,以便整合到Samba4AD域控制器中。将iRedMail集成到Samba4ADDC中,您将获得以下好处:通过SambaADDC获得用户身份验证、管理和状态,借助Roundcube中的AD组和全局LDAP地址簿创建邮件列表。在CentOS7中安装iRedMailforSamba4AD集成的要求步骤1:为Samba4AD集成准备iRedMail系统1.在第一步中,您需要为您的机器分配一个静态IP地址,以防您使用由一个提供的动态IP地址DHCP服务器。运行ifconfig命令以列出您机器的网络接口名称,并向正确的网卡发出nmtui-edit命令以使用自定义IP设置编辑正确的网络接口。使用root权限运行nmtui-edit命令。#ifconfig#nmtui-editeno16777736找出网络接口名称2.打开要编辑的网络接口后,添加正确的静态IP设置,确保添加Samba4ADDC的DNS服务器IP地址和您的域名,以便您可以从机器查询领域访问它。使用下面的屏幕截图作为指南。配置网络设置3.完成网络接口配置后,重启网络进程使更改生效,并使用ping命令测试samba4域控制器的域名和FQDN。#systemctlrestartnetwork.service#cat/etc/resolv.conf#验证DNS解析器配置是否使用正确的DNS服务器IP进行域解析#ping-c2tecmint.lan#ping域名#ping-c2adc1#ping***ADDC#ping-c2adc2#Ping第二个ADDC验证网络DNS配置4、接下来使用如下命令安装ntpdate包,与域控制器同步时间,请求samba4机器的NTP服务器:#yuminstallntpdate#ntpdate-qutecmint.lan#querydomainNTPservers#ntpdatetecmint.lan#Synctimewiththedomain与SambaNTP服务器同步时间5.您可能希望自动将本地时间与sambaAD时间服务器同步。要实现此设置,请通过运行crontab-e命令并附加以下行来添加cron作业。0*/1***/usr/sbin/ntpdatetecmint.lan>/var/log/ntpdate.lan2>&1使用SambaNTP自动同步时间第2步:为iRedMail集成准备Samba4ADDC6现在,如本教程中输入a安装了用于管理Samba4AD的RSAT工具的Windows机器。打开DNS管理器,转到您的域转发查找区域并添加指向您的iRedMail系统IP地址的新A记录、MX记录和PTR记录。使用下面的屏幕截图作为指南。添加一条A记录(相应地替换iRedMail机器的名称和IP)。为iRedMail创建DNSA记录添加MX记录(将子域留空,优先级10)。为iRedMail创建DNSMX记录在反向查找区域中添加PTR记录(相应地替换iRedMail服务器IP地址)。如果您还没有为域控制器配置反向区域,请阅读本教程:从Windows管理Samba4DNS组策略为iRedMail7创建DNSPTR记录。为邮件服务器添加基本DNS记录以使其正常运行后,进入iRedMail机器,安装bind-utils包并查询新添加的邮件记录,如下所示。Samba4ADDCDNS应该响应之前添加的DNS记录。#yuminstallbind-utils#hosttecmint.lan#hostmail.tecmint.lan#host192.168.1.245安装Bind并查询邮件日志在Windows机器上,打开命令行窗口并使用nslookup命令查询上述邮件服务器日志。8.作为最后一个先决条件,在Samba4ADDC中创建一个具有最小权限的新用户帐户并使用名称vmail,为该用户选择一个强密码,并确保该用户的密码永不过期。vmail帐户将由iRedMail服务用于查询Samba4ADDCLDAP数据库并提取电子邮件帐户。要创建vmail帐户,请使用ADUC图形工具(如屏幕截图所示),在加入到域并安装RSAT工具的Windows计算机上,或直接在域控制器上使用samba-tool命令行运行,如上一主题所示。在本指南中,我们将使用上述第一种方法。AD用户和电脑为iRedMail新建用户,并为用户设置强密码9、在iRedMail系统中,使用如下命令测试vmail用户是否可以查询Samba4ADDCLDAP数据库。返回的结果应该是您的域的对象总数,如下面的屏幕截图所示。#ldapsearch-x-htecmint.lan-D'vmail@tecmint.lan'-W-b'cn=users,dc=tecmint,dc=lan'注意:相应替换Samba4AD的域名和LDAPdn(cn=users,dc=tecmint,dc=lan).查询Samba4ADDCLDAP步骤3:将iRedMail服务集成到Samba4ADDC10。现在是时候修改iRedMail服务(Postfix、Dovecot和Roundcube)以查询Samba4域控制器的邮箱帐户。第一个要修改的服务是MTA代理Postfix。执行以下命令禁用一堆MTA设置,将您的域名添加到Postfix本地域和邮箱域,并使用Dovecot代理将收到的电子邮件发送到用户邮箱。#postconf-evirtual_alias_maps=''#postconf-esender_bcc_maps=''#postconf-erecipient_bcc_maps=''#postconf-erelay_domains=''#postconf-erelay_recipient_maps=''#postconf-esender_dependent_relayhost_maps='main'#postconf-sl_esm_tpdocm_local'lan'#替换成你自己的域#postconf-evirtual_mailbox_domains='tecmint.lan'#替换成你自己的域#postconf-etransport_maps='hash:/etc/postfix/transport'#postconf-esmtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf'#检查SMTP发件人#postconf-evirtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf'#检查本地邮件帐户#postconf-evirtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf'#查看本地邮件列表#cp/etc/postfix/transport/etc/postfix/transport.backup#备份传输配置#echo"tecmint.landovecot">/etc/postfix/transport#添加dovecottransport的域#cat/etc/postfix/transport#Validatetransportfile#postmaphash:/etc/postfix/transport11,接下来创建Po用你喜欢的文本编辑器打开stfix的/etc/postfix/ad_sender_login_maps.cf配置文件,并添加下面的配置。server_host=tecmint.lanserver_port=389version=3bind=yesstart_tls=nobind_dn=vmail@tecmint.lanbind_pw=ad_vmail_account_passwordsearch_base=dc=tecmint,dc=lanscope=subquery_filter=(&(userPrincipalName=%s)(objectClass=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))result_attribute=userPrincipalNamedebuglevel=012,使用如下配置创建/etc/postfix/ad_virtual_mailbox_maps.cf。server_host=tecmint.lanserver_port=389version=3bind=yesstart_tls=nobind_dn=vmail@tecmint.lanbind_pw=ad_vmail_account_passwordsearch_base=dc=tecmint,dc=lanscope=subquery_filter=(&(objectclass=person)(userPrincipalName=%s))Nameresult_attribute=userPrincipal=%d/%u/Maildir/调试级别=013。使用以下配置创建/etc/postfix/ad_virtual_group_maps.cf。server_host=tecmint.lanserver_port=389version=3bind=yesstart_tls=nobind_dn=vmail@tecmint.lanbind_pw=ad_vmail_account_passwordsearch_base=dc=tecmint,dc=lanscope=subquery_filter=(&(objectClass=group)(mail=%s))special_result_attribute=memberleaf_result=mailresult_attribute=userPrincipalNamedebuglevel=0将上面三个配置文件中的server_host、bind_dn、bind_pw和search_base替换掉,以反映自己的域设置。14.接下来,打开主Postfix配置文件,通过在以下行之前添加#注释来搜索并禁用iRedAPD的check_policy_service和smtpd_end_of_data_restrictions。#nano/etc/postfix/main.cf注释掉以下行:#check_policy_serviceinet:127.0.0.1:7777#smtpd_end_of_data_restrictions=check_policy_serviceinet:127.0.0.1:777715现在,通过执行一系列验证Postfix是否正在使用现有域查询用户和域组绑定到SambaAD,如以下示例所示。结果应该类似于下面的屏幕截图。#postmap-qtecmint_user@tecmint.lanldap:/etc/postfix/ad_virtual_mailbox_maps.cf#postmap-qtecmint_user@tecmint.lanldap:/etc/postfix/ad_sender_login_maps.cf#postmap-qlinux_users@tecmint.lanldap:/etc/postfix/ad_virtual_group_maps。cf验证Postfix是否绑定了SambaAD相应地替换AD用户和组帐户。此外,请确保您使用的AD组已分配了一些成员。16.下一步修改Dovecot配置文件查询Samba4ADDC。打开/etc/dovecot/dovecot-ldap.conf文件并添加以下行。hosts=tecmint.lan:389ldap_version=3auth_bind=yesdn=vmail@tecmint.landnpass=ad_vmail_passwordbase=dc=tecmint,dc=lanscope=subtreederef=neveruser_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=passworddefault_pass_scheme=CRYPTuser_attrs==home=/var/vmail/vmail1/%Ld/%Ln/Maildir/,=mail=maildir:/var/vmail/vmail1/%Ld/%Ln/Maildir/Samba4AD账号的邮箱将存储在/var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/。17.确保在dovecot的主配置文件中启用了pop3和imap协议。打开/etc/dovecot/dovecot.conf验证是否启用了quota和acl邮件插件,并检查这些值是否存在。在Dovecot中启用POP3和IMAP18。或者,如果要为每个域用户设置最多500MB存储的全局硬配额,请将以下行添加到/etc/dovecot/dovecot.conf文件。quota_rule=*:storage=500M19,***,为使当前更改生效,以root权限执行以下命令以重新启动并验证Postfix和Dovecot守护进程的状态。#systemctlrestartpostfixdovecot#systemctlstatuspostfixdovecot20.为了使用IMAP协议从命令行测试邮件服务器配置,请使用telnet或netcat命令,如下所示。#nclocalhost143a1LOGINad_user@your_domain.tldad_user_passworda2LIST"""*"a3LOGOUT测试iRedMail配置如果您可以使用Samba4用户帐户从命令行执行IMAP登录,则iRedMail服务器似乎已准备好发送和接收AD帐户的邮件。在下一个教程中,我们将讨论如何将Roundcubewebmail与Samba4ADDC集成并启用全局LDAP地址簿,自定义Roudcube,从浏览器访问RoundcubeWeb界面并禁用一些不需要的iRedMail服务。
