Networking

內部網路在公共 IP 地址 Mikrotik 上看不到郵件伺服器

  • July 21, 2016

請原諒我的英語,因為它不是我的母語

我在 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 action=dst-nat to-addresses=172.162.30.65 dst-address=42.20.16.18 log=no log-prefix=""

我嘗試了幾乎所有的解決方案,這是我最後的手段,我的主要目標是我可以在物理上將我的公共 ip 分配給機器並在內部連接而不使用私有 ip。

這個問題有兩種解決方案。

您要麼實現 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 伺服器的更多資訊,您可以在此處查看

引用自:https://serverfault.com/questions/790861