一段时间以来一直试图找到解决方案但没有成功,所以我开始了:
我的任务是为我们的 2 个 linux 服务器构建一个高可用性负载平衡网络集群。我做了一些解决方法并设法在两者之间进行 DNS + SQL + Web 文件夹 + 邮件同步。现在我希望我的服务器 2 只做邮件和服务器 1 只做网络托管。我使用 WHM 内置的账户转账功能将 1 到 2 的所有账户转账。我创建了 2 个不同的 rsync 作业,用于同步、更新和删除邮件和网站的文件。
现在我能够成功地将 1 个邮件帐户从 1 转移到 2,并且服务器 2 工作正常。我所要做的就是更改 MX 条目以指向新服务器和宾果游戏。现在我的问题是,有些客户的邮件软件配置为指向 oldserver.domain.com。出于显而易见的原因,我无法使 oldserver.domain.com 的 (A) 条目指向新服务器。我想过使用 .foward 文件并将它们添加到相关用户的主目录中,但这将非常困难。
所以我的问题是:有没有办法配置 exim 以便它只会将邮件转发到新服务器?我需要更改所有用户,以便他们在服务器 2 上使用他们的邮件,而无需他们做任何事情。谢谢!
编辑:澄清我的问题
一些客户端的邮件指向 oldserver.xyz 而不是 mail.olderserver.xyz 我想知道我是否可以做一些事情来防止修改客户端配置
我也想知道有没有办法找出哪些客户端配置不正确
您可以使用 socat 将客户端的连接从 oldserver.xyz 转发到 mail.oldserver.xyz 吗?
所以在 oldserver.xyz 你会运行:
对于您想要通过的所有服务。这样,您甚至不需要在 oldserver.xyz 上运行邮件服务器。
提取用户名以查看谁需要更新将需要有关他们正在使用的服务的更多信息。如果它未加密,您可以嗅探它们,或者使用 stunnel 终止 SSL 以访问它。您的 SMTP/POP3/IMAP 服务器日志在这里也应该很有用。
最终,您需要清理客户配置,否则当您下次要切换主机时它会咬人。
在 oldserver.xyz 上运行一个邮件服务器,它将邮件转发到正确的服务器上。在日常批处理中使用该服务器的日志来确定哪些客户配置错误。生成通知给客户。
如果客户配置错误并导致您产生运营费用,则在您的合同中有一个条款允许您收取更多费用的奖励积分。:)