如何配置并集成iRedMail服務(wù)到Samba4 AD DC中
在本教程中,將學(xué)習(xí)如何修改提供郵件服務(wù)的 iRedMail 主要守護(hù)進(jìn)程,相應(yīng)地,Postfix 用于郵件傳輸,Dovecot 將郵件傳送到帳戶郵箱,以便將它們集成到 Samba4 AD 域控制器中。
將 iRedMail 集成到 Samba4 AD DC 中,你將得到以下好處:通過 Samba AD DC 得到用戶身份驗(yàn)證、管理和狀態(tài),在 AD 組和 Roundcube 中的全局 LDAP 地址簿的幫助下創(chuàng)建郵件列表。
要求
在 CentOS 7 中為 Samba4 AD 集成安裝 iRedMail
***步:準(zhǔn)備 iRedMail 系統(tǒng)用于 Samba4 AD 集成
1、 在***步中,你需要為你的機(jī)器分配一個(gè)靜態(tài)的 IP 地址以防你使用的是由 DHCP 服務(wù)器提供的動(dòng)態(tài) IP 地址。
運(yùn)行 ifconfig 命令列出你的機(jī)器網(wǎng)絡(luò)接口名,并對(duì)正確的網(wǎng)卡發(fā)出 nmtui-edit 命令,使用自定義 IP 設(shè)置編輯正確的網(wǎng)絡(luò)接口。
root 權(quán)限運(yùn)行 nmtui-edit 命令。
- # ifconfig
- # nmtui-edit eno16777736
找出網(wǎng)絡(luò)接口名
2、 在打開要編輯的網(wǎng)絡(luò)接口后,添加正確的靜態(tài) IP 設(shè)置,確保添加了 Samba4 AD DC 的 DNS 服務(wù)器 IP 地址以及你的域的名字,以便從機(jī)器查詢 realm。使用以下截圖作為指導(dǎo)。
配置網(wǎng)絡(luò)設(shè)置
3、 在你完成配置網(wǎng)絡(luò)接口后,重啟網(wǎng)絡(luò)進(jìn)程使更改生效,并對(duì)域名以及 samba 4 域控制器的 FQDN 使用 ping 命令測(cè)試。
- # systemctl restart network.service
- # cat /etc/resolv.conf # 驗(yàn)證 DNS 解析器配置是否對(duì)域解析使用了正確的 DNS 服務(wù)器 IP
- # ping -c2 tecmint.lan # ping 域名
- # ping -c2 adc1 # ping ***個(gè) AD DC
- # ping -c2 adc2 # Ping 第二個(gè) AD DC
驗(yàn)證網(wǎng)絡(luò) DNS 配置
4、 接下來,用下面的命令安裝 ntpdate 包,與域控制器同步時(shí)間,并請(qǐng)求 samba4 機(jī)器的 NTP 服務(wù)器:
- # yum install ntpdate
- # ntpdate -qu tecmint.lan # querry domain NTP servers
- # ntpdate tecmint.lan # Sync time with the domain
與 Samba NTP 服務(wù)器同步時(shí)間
5、 你或許想要本地時(shí)間自動(dòng)與 samba AD 時(shí)間服務(wù)器同步。為了實(shí)現(xiàn)這個(gè)設(shè)置,通過運(yùn)行 crontab -e 命令并追加下面的行添加一條計(jì)劃任務(wù)。
- 0 */1 * * * /usr/sbin/ntpdate tecmint.lan > /var/log/ntpdate.lan 2>&1
自動(dòng)與 Samba NTP 同步時(shí)間
第二步:為 iRedMail 集成準(zhǔn)備 Samba4 AD DC
6、 現(xiàn)在,如這篇教程所述進(jìn)入一臺(tái)安裝了 RSAT 工具的 Windows 機(jī)器管理 Samba4 AD。
打開 DNS 管理器,轉(zhuǎn)到你的域轉(zhuǎn)發(fā)查找區(qū)并添加新的 A 記錄、MX記錄還有 PTR 記錄指向你的 iRedMail 系統(tǒng)的 IP 地址。使用以下截圖作為指導(dǎo)。
添加一條 A 記錄(相應(yīng)地用 iRedMail 機(jī)器的名字和 IP 替換)。
為 iRedMail 創(chuàng)建 DNS A 記錄
添加 MX 記錄(將子域留空,優(yōu)先級(jí)為 10)。
為 iRedMail 創(chuàng)建 DNS MX 記錄
在反向查找區(qū)域(相應(yīng)地替換 iRedMail 服務(wù)器的 IP 地址)添加 PTR 記錄。如果你尚未為域控制器配置反向區(qū)域,請(qǐng)閱讀以下教程:從 Windows 管理 Samba4 DNS 組策略
為 iRedMail 創(chuàng)建 DNS PTR 記錄
7、添加了使郵件服務(wù)器正常運(yùn)行的基本 DNS 記錄后,請(qǐng)進(jìn)入 iRedMail 機(jī)器,安裝 bind-utils 軟件包,并按如下建議查詢新添加的郵件記錄。
Samba4 AD DC DNS 應(yīng)該會(huì)響應(yīng)之前添加的 DNS 記錄。
- # yum install bind-utils
- # host tecmint.lan
- # host mail.tecmint.lan
- # host 192.168.1.245
安裝 Bind 并查詢郵件記錄
在一臺(tái) Windows 機(jī)器上,打開命令行窗口并使用 nslookup 命令查詢上面的郵件服務(wù)器記錄。
8、 作為***一個(gè)先決要求,在 Samba4 AD DC 中創(chuàng)建一個(gè)具有最小權(quán)限的新用戶帳戶,并使用名稱 vmail, 為此用戶選擇一個(gè)強(qiáng)密碼, 并確保該用戶的密碼永不過期。
vmail 帳戶將被 iRedMail 服務(wù)用來查詢 Samba4 AD DC LDAP 數(shù)據(jù)庫并拉取電子郵件帳戶。
要?jiǎng)?chuàng)建 vmail 賬戶,如截圖所示,使用加入了已安裝 RSAT 工具域的 Windows 機(jī)器上的 ADUC 圖形化工具,或者按照先前主題中那樣用 samba-tool 命令行直接在域控制器中運(yùn)行。
在本指導(dǎo)中,我們會(huì)使用上面提到的***種方法。
AD 用戶和計(jì)算機(jī)
為 iRedMail 創(chuàng)建新的用戶
為用戶設(shè)置強(qiáng)密碼
9、 在 iRedMail 系統(tǒng)中,用下面的命令測(cè)試 vmail 用戶能夠查詢 Samba4 AD DC LDAP 數(shù)據(jù)庫。返回的結(jié)果應(yīng)該是你的域的對(duì)象總數(shù), 如下截圖所示。
- # ldapsearch -x -h tecmint.lan -D 'vmail@tecmint.lan' -W -b 'cn=users,dc=tecmint,dc=lan'
注意:相應(yīng)地替換域名以及 Samba4 AD 的 LDAP dn (cn=users,dc=tecmint,dc=lan)。
查詢 Samba4 AD DC LDAP
第三步:將 iRedMail 服務(wù)集成到 Samba4 AD DC 中
10、 現(xiàn)在是時(shí)候修改 iRedMail 服務(wù)(Postfix、Dovecot 和 Roundcube)以便為郵箱帳戶查詢 Samba4 域控制器。
***個(gè)要修改的服務(wù)是 MTA 代理,Postfix。執(zhí)行以下命令禁用一系列的 MTA 設(shè)置,添加你的域名到 Postfix 本地域以及郵箱域中,并使用 Dovecot 代理發(fā)送已接收的郵件到用戶郵箱中。
- # 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' #用你自己的域替換
- # postconf -e virtual_mailbox_domains='tecmint.lan' #用你自己的域替換
- # postconf -e transport_maps='hash:/etc/postfix/transport'
- # postconf -e smtpd_sender_login_maps='proxy:ldap:/etc/postfix/ad_sender_login_maps.cf' # 檢查 SMTP 發(fā)送者
- # postconf -e virtual_mailbox_maps='proxy:ldap:/etc/postfix/ad_virtual_mailbox_maps.cf' # 檢查本地郵件帳戶
- # postconf -e virtual_alias_maps='proxy:ldap:/etc/postfix/ad_virtual_group_maps.cf' # 檢查本地郵件列表
- # cp /etc/postfix/transport /etc/postfix/transport.backup # 備份 transport 配置
- # echo "tecmint.lan dovecot" > /etc/postfix/transport # 添加帶 dovecot transport 的域
- # cat /etc/postfix/transport # 驗(yàn)證 transport 文件
- # postmap hash:/etc/postfix/transport
11、 接下來,用你最喜歡的文本編輯器創(chuàng)建 Postfix 的 /etc/postfix/ad_sender_login_maps.cf 配置文件,并添加下面的配置。
- server_host = tecmint.lan
- server_port = 389
- version = 3
- bind = yes
- start_tls = no
- bind_dn = vmail@tecmint.lan
- 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、 使用下面的配置創(chuàng)建 /etc/postfix/ad_virtual_mailbox_maps.cf。
- server_host = tecmint.lan
- server_port = 389
- version = 3
- bind = yes
- start_tls = no
- bind_dn = vmail@tecmint.lan
- 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、 使用下面的配置創(chuàng)建 /etc/postfix/ad_virtual_group_maps.cf。
- server_host = tecmint.lan
- server_port = 389
- version = 3
- bind = yes
- start_tls = no
- bind_dn = vmail@tecmint.lan
- 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
替換上面三個(gè)配置文件中的 server_host、bind_dn、bind_pw 和 search_base 以反應(yīng)你自己域的設(shè)置。
14、 接下來,打開 Postfix 主配置文件,通過在下面的行前添加 # 注釋,搜索并禁用 iRedAPD 的 check_policy_service 和 smtpd_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、 現(xiàn)在,通過執(zhí)行一系列查詢,驗(yàn)證 Postfix 是否使用現(xiàn)有的域用戶和域組綁定到 Samba AD,如以下示例所示。
結(jié)果應(yīng)與下面的截圖類似。
- # postmap -q tecmint_user@tecmint.lan ldap:/etc/postfix/ad_virtual_mailbox_maps.cf
- # postmap -q tecmint_user@tecmint.lan ldap:/etc/postfix/ad_sender_login_maps.cf
- # postmap -q linux_users@tecmint.lan ldap:/etc/postfix/ad_virtual_group_maps.cf
驗(yàn)證 Postfix 綁定到了 Samba AD
相應(yīng)替換 AD 用戶及組帳戶。同樣,確保你使用的 AD 組已被分配了一些成員。
16、 在下一步中修改 Dovecot 配置文件以查詢 Samba4 AD DC。打開 /etc/dovecot/dovecot-ldap.conf 文件并添加下面的行。
- hosts = tecmint.lan:389
- ldap_version = 3
- auth_bind = yes
- dn = vmail@tecmint.lan
- 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 帳戶的郵箱將會(huì)存儲(chǔ)在 /var/vmail/vmail1/your_domain.tld/your_domain_user/Maildir/ 中。
17、 確保 dovecot 的主配置文件中啟用了 pop3 和 imap 協(xié)議。打開 /etc/dovecot/dovecot.conf 驗(yàn)證是否啟用了 quota 和 acl 郵件插件,并檢查這些值是否存在。
在 Dovecot 中啟用 POP3 和 IMAP
18、 可選地,如果要將全局硬配額設(shè)置為每個(gè)域用戶的***不超過 500 MB 存儲(chǔ),請(qǐng)?jiān)?/etc/dovecot/dovecot.conf 文件中添加以下行。
- quota_rule = *:storage=500M
19、 ***,為了使目前這些更改生效,用 root 權(quán)限執(zhí)行下面的命令重啟并驗(yàn)證 Postfix 和 Dovecot 守護(hù)進(jìn)程的狀態(tài)。
- # systemctl restart postfix dovecot
- # systemctl status postfix dovecot
20、 為了使用 IMAP 協(xié)議從命令行測(cè)試郵件服務(wù)器配置,請(qǐng)使用 telnet 或 netcat 命令,如下所示。
- # nc localhost 143
- a1 LOGIN ad_user@your_domain.tld ad_user_password
- a2 LIST “” “*”
- a3 LOGOUT
測(cè)試 iRedMail 配置
如果你可以使用 Samba4 用戶帳戶從命令行執(zhí)行 IMAP 登錄,那么 iRedMail 服務(wù)器似乎已經(jīng)準(zhǔn)備好發(fā)送和接收 AD 帳戶的郵件。
在下一個(gè)教程中將討論如何將 Roundcube webmail 與 Samba4 AD DC 集成,并啟用全局 LDAP 地址簿,自定義 Roudcube,從瀏覽器訪問 Roundcube Web 界面,并禁用某些不需要的 iRedMail 服務(wù)。