Proxmox邮箱网关:一种开放源代码的替代方案,与Exchange的比较
需求:
垃圾邮件过多,但是由于预算问题,最终方案暂时先采用邮件网关proxmox,接下来写一下在部署过程中遇到的问题,希望后人少踩坑。开始实践(proxmox为最新版7.1): 由于看一下架构图:1.首先下载安装程序ISO
https://www.proxmox.com/en/downloads/category/proxmox-mail-gateway
2.在线文档学习
https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#_what_is_proxmox_mail_gateway
3.系统最低配置要求(可以安装于虚拟机上,我目前是安装在虚拟机上)
CPU:64位(Intel EMT64或AMD64)
2 GB 内存
可引导的 CD-ROM 驱动器或 USB 引导支持
用于安装的最低分辨率为 1024x768 的显示器
具有至少 8 GB 磁盘空间的硬盘 以太网网络接口卡 (NIC)
安装过程略。。。。
4.安装完成后通过https://ipaddress:8006进行访问 用户名:root,密码:自行设置的密码配置
1、安装后,需要配置用于从Internet接收邮件的外部接口。您可以通过Web界面配置ip地址2、有防火墙的需要需要将端口进行开放,比如我现在采购的深信服,映射25端口即可,如果为了方便可以将官网指定需要连接互联网的端口都进行映射3、有两个库,一个属于付费库,一个为免费库(设置免费库,以免更新PMG)
设置方法:ssh登录服务器
第一步:注销付费库,vi /etc/apt/sources.list.d/pmg-enterprise.list
注释:#deb https://enterprise.proxmox.com/debian/pmg bullseye pmg-enterprise
第二步:添加免费库,vi /etc/apt/sources.list
添加内容:
# NOT recommended for production use
deb http://download.proxmox.com/debian/pmg bullseye pmg-no-subscription
deb http://download.proxmox.com/debian/pmg bullseye pmgtest
第三步:更新 apt update
apt full-upgrade
4.接下来通过WEBUI进行几个简单的设置,使邮件网关开始工作,以下过程全部以截图为主,步骤描述于图中: 注:在这里需要注册服务器/客户端网段的内部地址,邮件网关将从这些内部地址接收要转发的信件。请注意,仅允许在“Ports”选项卡上指定的内部端口上从这些网络转发。默认情况下端口为26。主要是为了来自exchange的邮件能够通过网关进入Internet,然后在Exchange中指定网关地址并将其设置为端口26进行操作
下面面将介绍ExcExchange上的设置基本准备:
在购买的域名服务商做域名解析
A记录:(例如:mail.domain.com 1.1.1.1)
MX记录:mail.domain.com
CNAME记录:autodiscover.mail.domain.com
防火墙上的映射关系:
例如: Exchange的映射关系: 1.1.1.1 -->10.X.X.5 80,110,143,443,993,995
1.1.1.1 30-->10.X.X.5 25 (主要用做后期pop/imap设置的发服务器的端口设置)
邮件网关的映射关系 1.1.1.1 ---> 10.X.X.6 25,53,80,123,273
第一步:首先,创建一个正常的发送的连接器(这个不再演示),
然后启动PowerShell Exchange控制台,使用Get-SendConnector | select name,port命令,可以在控制台中查看连接器。复制连接器名称,然后输入命令:Set-SendConnector -Identity “ConnectorName” -Port 26 修改端口,
注意:ConnectorName 为连接器的命令。
然后再用Get-SendConnector | select name,port查看端口是否修改成功。
然后再次进入Exchange的管理中心,设置连接器的智能主机与FQDN
问题一.设置后手机端的,
Exchange服务器无法使用解决方案: 首先查栓虚拟目录是否已经填写内外网地址 第一步:
到以下网址,测试服务看相关提示进行操作 https://testconnectivity.microsoft.com/tests/exchange
第二步:我目前遇到问题的需要进行AD域用户设置,设置如下:查看--选中高级功能,查询相关用户,
问题二:Exchange 需要 POP/IMAP协议,默认是没有打开解决办法:
第一步:启动POP3、POP3后端、IMAP4、IMAP4后端这四个服务,并且将“启动类型”设置为“自动”并允许用户在OWA中查看服务器设置
打开Exchange Management Shell,执行以下命令设置在OWA中显示的服务器和端口信息
POP3
Set-PopSettings -ExternalConnectionSettings {mail.domiant.com:110}
IMAP4
Set-ImapSettings -ExternalConnectionSettings {mail.domiant.com:143}
使用以下命令,查看ExternalConnectionSettings的属性,确认上面的命令是否生效
Get-PopSettings | format-list
Get-ImapSettings | format-list
启用POP3和IMAP4的纯文本认证功能
执行以下命令
Set-PopSettings -LoginType PlainTextLogin
Set-ImapSettings -LoginType PlainTextLogin
执行完成后重启POP3和IMAP4相关服务
允许用户在OWA中查看SMTP服务器设置
Get-ReceiveConnector "*Client Frontend*" | Set-ReceiveConnector -Fqdn mail.test.com -AdvertiseClientSettings $true
如不想让用户看到SMTP服务器设置,将”“AdvertiseClientSettings”设置为false
第二步:pop与IMAP通配证书设置设置证书:
Set-popsettings -x509CertificateName mail.domain.com
Set-IMAPSettings -X509CertificateName mail.domain.com
(注:mail.domain.com,这里不一定有效,可能是Exchange的主机名,我的就出现这情况,所以根据实际情况进行修正)
检查配置命令是否生效:
Get-POPSettings
Get-IMAPSettings
重启POP与IMAP服务
Restart-service MSExchange
POP3 Restart-service MSExchangeIMAP4
注:防火墙里的我映射了一个30端口转25端口,所以在手机POP设置中的stmp服务器(即发信服务器)的端口要设置成30端口即可
参考文献: https://blog.51cto.com/u_11267659/2326496
https://blog.51cto.com/vicent/2448115
https://www.proxmox.com/en/proxmox-mail-gateway
http://blog.sina.com.cn/s/blog_749e42850102yng7.html