V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KINGWAY
V2EX  ›  宽带症候群

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

  •  
  •   KINGWAY · 136 天前 · 1827 次点击
    这是一个创建于 136 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

    465 、993 、995 端口可以使用 nginx 的 tls 根据 sni 域名分流到不同的邮件服务器
    KINGWAY
        14
    KINGWAY  
    OP
       136 天前
    @yinmin 这不就在请教哪位实际做过的, 这样可能会有些开源软件帮助实现,减少脑子爆浆机会嘛。
    yinmin
        15
    yinmin  
       136 天前
    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
        16
    yinmin  
       136 天前
    另外,postfix 、exim4 、nginx 都可以安装在 docker 里的。
    cr3bit
        17
    cr3bit  
       135 天前
    邮件很多域名挂一个 ip ,真是不怕随便哪个出问题被一锅端。
    KINGWAY
        18
    KINGWAY  
    OP
       122 天前
    @yinmin 没有成功, 还在研究这个方案, 看看有没有更好的更简洁的, 我在看这个项目: https://github.com/cym1102/nginxWebUI/blob/master/README_EN.md
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1428 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:29 · PVG 01:29 · LAX 09:29 · JFK 12:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.