1. 概述
1.1. 功能描述
邮件服务器的主要功能是邮件的收发,域控制器中的用户在通过验证后,可以登陆邮件服务器,接收和发送邮件。 邮件服务器系统包括域控制器和邮件服务器。
计算机名 | dc |
---|---|
操作系统 | Windows Server 2008 R2 |
主要安装功能 | dns域名解析、活动目录 |
IP地址 | 192.168.100.10 |
计算机名 | |
---|---|
操作系统 | Linux (centos 7.0) |
主要安装功能 | postfix、dovecot、SMTP、SASL、SSL/TLS、邮件列表mailnman |
IP地址 | 192.168.100.20 |
1.2. 服务器架构介绍
2. 域控制器搭建
2.1. 修改计算机名与IP地址
将计算机名称修改为dc,同时为计算机分配固定IP地址
2.2. 安装活动目录
输入域名
选择安装DNS服务器
2.3. 在活动目录中添加用户
2.4. 添加DNS记录
2.4.1. 新建反向区域
输入需反向解析的地址段
2.4.2. 添加mail的记录
3. 邮件服务器搭建
3.1. 配置计算机名和网络
1) 配置dns
vi /etc/hosts添加如下配置: 192.168.100.20 mail mail.nj-strongit.com.cn vi /etc/resolv.conf 添加如下配置: nameserver 192.168.100.10
2) 配置网络
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
3.2. 安装配置postfix
3.2.1. 安装postfix
yum install postfix
3.2.2. 修改配置文件
vi /etc/postfix/main.cf
myhostname = mail.nj-strongit.com.cn
mydomain = nj-strongit.com.cn
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.100.0/24, 127.0.0.0/8
home_mailbox = Maildir
relay_domains = $mydestination
3.2.3. 重启服务并加入开机自启
systemctl restart postfix
systemctl enable postfix
3.2.4. 测试
3.3. 安装配置dovecot
3.3.1. 安装dovecot
yum install dovecot dovecot-mysql perl-DBI
3.3.2. 修改配置文件
vi /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *, ::
login_trusted_networks = 0.0.0.0/0
3.3.3. 重启服务并加入开机自启
systemctl restart dovecot
systemctl enable dovecot
3.3.4. 测试
3.4. postfix的SMTP认证与dovecot的SASL
3.4.1. 安装sasl
yum install cyrus-sasl
3.4.2. dovecot的配置
vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
auth_mechanisms = plain login
vi /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
vi /etc/dovecot/conf.d/10-master.conf
service auth {
unix_listener auth-userdb {
}
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}
vi /etc/dovecot/conf.d/20-pop3.conf
pop3_uidl_format = %08Xu%08Xv
pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
3.4.3. postfix的配置
vi /etc/postfix/main.cf
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = nj-strongit.com.cn
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination,reject_non_fqdn_hostname,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unauth_pipelining,reject_invalid_hostname
smtpd_client_restrictions = permit_sasl_authenticated
broken_sasl_auth_clients = yes
## 邮件大小限制
message_size_limit = 51200000
##邮件恶意链接限制
smtpd_error_sleep_time = 1s
smtpd_soft_error_limit = 20
smtpd_hard_error_limit = 20
3.4.4. 重启服务并加入开机自启
systemctl restart saslauthd.service
systemctl enable saslauthd.service
systemctl restart postfix.service
systemctl restart dovecot
3.4.5. 测试
3.5. 活动目录(Active Directory)的身份验证
linxux下集成windows 活动目录身份验证需要借助samba帮助
3.5.1. 安装软件包
yum install perl-Convert-ASN1 samba samba-winbind pam_krb5
3.5.2. 启动服务加入开机启动,并同步时间
systemctl restart smb
systemctl restart winbind.service
ntpdate 192.168.100.10
3.5.3. 加域
建议重启后加域。
1) setup
2) 输入域控密码
3) 结束后,在活动目录的computer中可以看到mail
4) 修改samba配置文件
vi /etc/samba/smb.conf
workgroup = NJ-STRONGIT
password server = dc.nj-strongit.com.cn
realm = NJ-STRONGIT.COM.CN
security = ads
idmap config * : range = 16777216-33554431
template homedir = /home/NJ-STRONGIT/%U
template shell = /sbin/nologin
kerberos method = secrets only
winbind use default domain = true
winbind offline logon = true
winbind enum users = Yes
winbind enum groups = Yes
5) 为域用户创建家目录
mkdir /home/NJ-STRONGIT
6) 编辑/etc/pam.d/system-auth
添加
session required pam_oddjob_mkhomedir.so skel=/etc/skel/ umask=0022
7) 重启winbind和oddjobd服务,并加入开机启动
systemctl restart winbind
systemctl restart oddjobd
systemctl enable winbind
systemctl enable oddjobd
8) 查看同步情况
getent passwd 可以看到活动目录中的域用户
3.6. Active Directory and Cyrus SASL Authentication
3.6.1. 设置
3.6.2. 同步时间
ntpdate 192.168.100.10
3.6.3. 配置Cyrus SASL
vi /etc/pam.d/smtp
auth sufficient pam_krb5.so no_user_check validate
account sufficient pam_permit.so
3.6.4. 重启服务
systemctl restart saslauthd.service
3.6.5. 测试
su liuzy之后,在home目录下生成/home/NJ-STRONGIT/liuzy
3.7. 生成证书
yum install newt-perl crypto-utils
genkey --days 365 mail.nj-strongit.com.cn
生成证书的过程需要等待一段时间
3.8. Postfix and Dovecot SSL/TLS设置
3.8.1. 修改postfix与dovecot配置文件
vi /etc/postfix/main.cf
smtp_tls_security_level = may
smtpd_tls_security_level = may
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
tls_random_source = dev:/dev/urandom
smtpd_helo_required = yes
vi /etc/dovecot/dovecot.conf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
3.8.2. 重启服务并测试
systemctl restart postfix.service
systemctl restart dovecot.service
3.9. squirrelmail的安装配置
3.9.1. 安装软件包
依赖包:php-common php-mbstring php-cli php-5 distcache mod_ssl squirrrlmail安装包使用rpm包
3.9.2. 修改squirrelmail的配置文件
1) 进入配置界面
cd /usr/share/squirrelmail/config
./config.pl
2) 修改域名及IMAP服务器
输入2,照如下配置,配置结束返回上一级
3) 修改语言
输入10,修改语言,修改结束返回上一级
4) 选择IMAP服务器
输入D,选择dovecot
5) 结束后,保存退出
3.9.3. 修改http网站访问目录
vi /etc/httpd/conf/httpd.conf
DocumentRoot "/usr/share/squirrelmail"
vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/usr/share/squirrelmail"
ServerName mail.nj-strongit.com.cn:443
3.9.4. 重启http服务并加入开机自启
service httpd restart
systemctl enable httpd
3.9.5. 测试
浏览器中输入https://mail.nj-strongit.com.cn
输入用户名登陆
3.10. 邮件列表服务(mailman)的安装配置
3.10.1. 安装软件包
yum install mailman
3.10.2. 配置mailman
1) 创建站点口令
/usr/lib/mailman/bin/mmsitepass
2) 编辑配置文件
vi /usr/lib/mailman/Mailman/mm_cfg.py
DEFAULT_URL_HOST = 'mail.nj-strongit.com.cn'
DEFAULT_EMAIL_HOST = 'nj-strongit.com.cn'
3.10.3. 创建mailman邮件列表
1) 创建邮件列表mailman、dev、dev2
2) 将mailman mailing list内容复制到/etc/aliase
3) 运行newaliases文件
newaliases
3.10.4. URL重定向
vi /etc/httpd/conf.d/mailman.conf
RedirectMatch ^/mailman[/]*$ http://mail.nj-strongit.com.cn/mailman/listinfo
3.10.5. 重启服务
systemctl restart mailman.service
systemctl restart httpd.service
3.10.6. 将用户添加到组
1) 进入mailman的web控制台界面
浏览器中访问:http://mail.nj-strongit.com.cn/mailman/listinfo
2) 进入添加区域添加用户
路径:Dev-Dev administartive interface-Membership Management
-Mass Subscription