出于节约成本, 只用一个公网机器做 mail gateway,哪个方案更好点?

146 天前
 KINGWAY

帮朋友维护几台邮件服务器, 由于现在外贸业务惨淡,所以他要退掉尽可能多的服务器,只保留一台公网机器做 email gateway, 然后把邮件服务器部署在内网 VM 上(就是一个 PVE 跑十几台 VM )

目前公网机器和内网做了 headscale 组网没问题,我的问题是公网那台机器用什么最简洁的方法来做内网几台邮件服务器(不同部门无法合并为一台的情况)的 Gateway?

目前选项是公网那台机器跑 nginx 分流或者 proxmox mail gateway, 朋友意思是要尽可能压榨机器, 所以单纯的 proxmox mail gateway 独占还是尽量让位于可以跑 docker 的机器来实现(还可以跑其它服务比如 web)

我看 nginx 分流太复杂了,所以各位有什么更好的开源方案来实现?

1846 次点击
所在节点    宽带症候群
18 条回复
xustrive
145 天前
二手服务器不就完了。R730XD 很便宜了
Jack927
145 天前
也蹲个答案。 #1 和问题完全不相关吧。
xustrive
145 天前
@Jack927 偏解决成本考虑,节约成本一般都是公有云转私有云会降低成本。公有保留出口就行。
follow
145 天前
外贸用企业邮箱,直接 fastmail 之类就行了. 自建邮箱是群发垃圾邮件?
KINGWAY
145 天前
@follow #4 不看题目吗? 买别人的不贵吗?
KINGWAY
145 天前
@xustrive #1 牛头不对马嘴啊。
Jack927
145 天前
@xustrive #3 他不是要服务器啊,也不是缺服务器啊,添加 100 台内网服务器也对提出的问题没任何帮助。他是只有一个公网的机器,想用这个对外提供服务,不同的后端又都在自己内网机器上。
单个配我会,如他所说,多个管理怎么搞,有方便易用的方案没。
wheat0r
145 天前
@xustrive #1 这是一点正文不看啊
shadowyw
145 天前
用 pve lxc 容器跑多个 proxmox mail gateway 可行吗?
KINGWAY
145 天前
@shadowyw #9 好主意,但是公网 Ip 贵, 他想复用 1 个 ip , 怎么解决?还不如 nginx 配置复杂点。
shadowyw
145 天前
@KINGWAY pve 上跑一个 VM 当路由器(pfsense 或者 vyos)作为 mail gateway 网关, 公网 IP 配置在路由器 wan 口, mail gateway 连接 LAN 口通过 SNAT 连接 internet, 路由器上配置 DNAT 转发规则, 用 IP+端口方式区分
KINGWAY
145 天前
@shadowyw 听起来不错,PVE 本身也是个 debian 再跑 docker 走其它服务, 晚点实践下看看。
yinmin
145 天前
25 端口、587 端口可以使用 postfix (支持 starttls )分流

465 、993 、995 端口可以使用 nginx 的 tls 根据 sni 域名分流到不同的邮件服务器
KINGWAY
145 天前
@yinmin 这不就在请教哪位实际做过的, 这样可能会有些开源软件帮助实现,减少脑子爆浆机会嘛。
yinmin
145 天前
nginx 分流 993 端口的配置参考如下,465 和 995 照样画葫芦。25 、587 端口用 postfix 或 exim4 ,具体配置可以问 gpt 。

stream {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;


map $ssl_preread_server_name $stream_map993 {
mail.domain1.com upstream_993_svr1;
mail.domain2.com upstream_993_svr2;
mail.domain3.com upstream_993_svr3;
}

upstream upstream_993_svr1 {
server 192.168.1.100:993;
}

upstream upstream_993_svr2 {
server 192.168.1.101:993;
}

upstream upstream_993_svr3 {
server 192.168.1.102:993;
}

# stream 模块监听 993 端口,并进行端口复用
server {
listen 993 reuseport;
listen [::]:993 reuseport ipv6only=on;
proxy_pass $stream_map993;
ssl_preread on;
}
}
yinmin
145 天前
另外,postfix 、exim4 、nginx 都可以安装在 docker 里的。
cr3bit
144 天前
邮件很多域名挂一个 ip ,真是不怕随便哪个出问题被一锅端。
KINGWAY
132 天前
@yinmin 没有成功, 还在研究这个方案, 看看有没有更好的更简洁的, 我在看这个项目: https://github.com/cym1102/nginxWebUI/blob/master/README_EN.md

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX