Linux 25 端口路由(隧道/转发)

Linux 25 端口路由(隧道/转发)

我有:

1)Centos服务器 1使用 postfic/dovecot 邮件服务器

IP1 45.45.45.45(DNS:host1.com.ua)

服务器 1 无法向 25 端口发出传出请求,因为互联网服务提供商阻止了它!

telnet alt2.gmail-smtp-in.l.google.com 25
Trying 173.194.71.27...
telnet: connect to address 173.194.71.27: Connection timed out
Trying 2a00:1450:4010:c04::1b...
telnet: connect to address 2a00:1450:4010:c04::1b: Network is unreachable

2)Centos服务器2(路由器)

IP2 93.93.93.93 DNS:(host2.com.ua)

服务器 2 可以向 25 端口发出传出请求

telnet alt2.gmail-smtp-in.l.google.com 25
Trying 74.125.193.26...
Connected to alt2.gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP ij4si32339564igb.9 - gsmtp

在此处输入图片描述

问题:

我如何设置路由(隧道/转发)以使所有传出请求从服务器 1 端口 25 通过服务器 2?

答案1

老实说,正确的做法是更加谨慎地选择放置主邮件服务器的 ISP。但是,假设这是不可能的,我不会在第 3 层(iptables)执行此操作,我会在第 4 层(应用程序,即 SMTP)执行此操作,利用 SMTP 固有的存储转发特性。该过程看起来有点像这样:

  1. 在两台服务器之间设置某种 VPN。我会使用 ipsec,Iain 似乎更喜欢 ssh 隧道,其他人则喜欢 OpenVPN。
  2. 配置 server1 通过 server2 路由所有出站邮件
  3. 配置 server2 以接受来自 server1 的任何邮件并将其发送以进行传递
  4. 配置 server2 以接受您域的入站邮件,并将其全部传递到 server1 进行最终传递
  5. 将 server2 宣传为您的主 MX

两个服务器之间的邮件(无论是从您的域发出还是入站)都将通过 VPN,从而避开 ISP 的阻止。

相关内容