内部网络无法看到公共 IP 地址上的邮件服务器 Mikrotik

内部网络无法看到公共 IP 地址上的邮件服务器 Mikrotik

请原谅我的英语,因为它不是我的母语

我的网络中的邮件服务器位于 mikrotik 路由器和防火墙后面,我遇到的问题是我的邮件服务器位于公共 IP 地址上,我无法在内部连接到它。我从网络外部连接没有问题。目前我能够连接的唯一方法是将公共 IP 分配给 mikrotik 路由器并设置这两个 NAT 规则

我使用的 IP 地址仅作为示例 - 内部网络 = 172.162.30.0/12 - 公共 IP 邮件服务器 = 42.20.16.18 - 私有 IP 邮件服务器 = 172.162.30.65

 **Internal clients Note:** Source address is my whole network this has    a     massive affect on my internet speed because 
 I think all traffic is being routed to mail server 

 chain=srcnat action=src-nat to-addresses=42.20.16.18 
  src-address=172.162.30.0/24 log=no log-prefix="" 

对于从网络外部连接的客户端 链 = dstnat 动作 = dst-nat 到地址 = 172.162.30.65 dst 地址 = 42.20.16.18 log = no log-prefix=""

我尝试了几乎所有的解决方案,这是我的最后手段,我的主要目标是我可以将我的公共 IP 物理地分配给机器并进行内部连接,而无需使用私有 IP。

答案1

这个问题有两种解决方案。

您可以实现 NAT Loopback 或 NAT Hairpin 或 NAT Reflection(它们是相同的东西,只是名称不同),或者修改您的内部 DNS,以便您的邮件服务器的主机名不会解析为公共 IP,而是解析为您的本地 IP(仅从您的私有网络内部)。

使用 src-nat 规则,您已经执行了第一个解决方案 (NAT Hairpin),正如您提到的那样,它是有效的。这种方法的问题在于,您与邮件服务器的所有连接都将被更改为 src-address,42.20.16.18因此邮件服务器仅记录此 IP,而不是每个用户的真实内部 IP。

另一种方法是使用 Mikrotik 的 DNS 服务器或您选择的任何其他本地 DNS 服务器。在那里,您使用邮件服务器的主机名设置 DNS 记录,并将其设置为解析邮件服务器的内部 IP。

然后,您必须配置网络上的所有 PC 以使用此 DNS 服务器,并且当访问您的邮件服务器的主机名时,它们将解析内部 IP 而不是公共 IP,从而允许它们直接连接到它,而不必通过 NAT 通过路由器。

有关 NAT Hairpin 的更多信息,您可以查看官方 Mikrotik 文档这里有关 Mikrotik DNS 服务器的更多信息,您可以查看这里

答案2

对于那些感兴趣的人,我遇到了此解决方案的一个问题,每当我向某人发送邮件时,接收方的邮件服务器都会检测到不同的源 IP,源 IP 被列入黑名单,我认为这与我的 ISP 在某处设置了伪装有关。我不知道,我的解决方法是我再次创建了 dst-st 和 src-nat,我将 dst-nat 与以前相同,只是将 src-nat 源地址从我的整个网络更改为我的邮件服务器私有 IP。这 100% 有效,见下文

链 = srcnat 动作 = src-nat 到地址 = 42.20.16.18 src 地址 = 172.162.30.65 日志 = 无日志前缀 =“”

链 = dstnat 动作 = dst-nat 到地址 = 172.162.30.65 dst 地址 = 42.20.16.18 log = no log-prefix=""

相关内容