假设我有两个Rackspace Cloudservers或VPS。 我希望我的设置是:
由于Server1已经可以在networking上看到,我希望这是我的邮件的域名。 假设我有一个MXlogging指向“Server1.com”的域,但是Server2有邮件服务器。 那么我能不能让iptables把数据包转发到Server2,只要它们在同一个networking上? 这将如何影响邮件服务器上的用户身份validation?
PS在这个设置上,我希望Server1以外的所有非web内容都释放内存。 我也想在电子邮件服务器中的所有数据库(或者我应该有另一个专用服务器呢?)
谢谢,
拉蒙
你可以使用iptables,这是Linux内核的一部分。 在您的“公共”服务器上运行:
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to XXX.XXX.XX.XX:25 iptables -A INPUT -p tcp -m state --state NEW --dport 25 -i eth0 -j ACCEPT
XXX.XXX.XX.XX是您要转发到的服务器的IP地址。 您可能需要将“eth0”更改为您的设备所调用的任何设备。
第一个规则设置转发,第二个规则确保到本地服务器接受到端口25的连接(即,两个命令都是必需的)。
有这样做的方法,如在您的Web服务器上安装邮件转发器。
但是,我想要做的只是将MXlogging指向mail.server.com,而不用redirect。 因为它引入了你并不需要的复杂性。 如果你的邮件发生了什么事情,你将不得不考虑到你的Web服务器的交互,你的转发规则,你的软件configuration等…经验法则是,如果你不必复杂它,不。
只需使用邮件服务器来提供邮件,而不要redirect。 把事情简单化。
我想这个叫“为什么要那样做?!” 只需编辑server1.com的DNS区域,并添加像mail.server1.com A [server2'sIPAddress]并将mail.server1.comconfiguration为server1.com域的MXlogging。 没有什么说服务器不能有多个名字,甚至不止一个域名。 请记住,如果您要支付带宽,服务器之间的pipe道stream量基本上会使您的使用量翻倍(所有进入的内容都会直接返回)。
现在,如果server2根本不能访问互联网,那么你需要使用某种forms的连接转发。 我假设你正在使用Linux … rinetd设置起来相当简单。 您configuration端口侦听,以及这些端口应该去的地方。 它所做的只是有人连接到它,它连接到configuration的服务器并来回传递数据。 对于任何types的转发,需要记住的一点是,由于客户端认为正在与server1通信,所以如果使用SSL,则server2上的SSL证书需要与server1匹配。