iT邦幫忙

0

該如何讓兩間公司的linux mail server走內部IP互相寄信

  • 分享至 

  • xImage

各位前輩們
我司台灣與大陸之間的網路IP似乎被長城鎖住了
所以無法互相寄信,由於有架設VPN,所以想走VPN方式解決
但是
mail server裡的hosts加了一個那邊的主機名稱與內部IP
直接ping 主機名稱可以解析出內部IP
但是查郵件紀錄發現還是在寄實體IP
不知道這該怎麼處理呢??

謝謝大家

hon2006 iT邦大師 1 級 ‧ 2017-06-15 08:49:03 檢舉
如果是 postfix 可以參考
https://www.howtoforge.com/community/threads/postfix-relay-one-domain-to-smarthost-a-all-else-to-smarthost-b.62955/
http://blog.xuite.net/tolarku/blog/211291916-Postfix+%E4%B8%AD%E4%BD%BF%E7%94%A8+Transport+Maps
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

2
wiseguy
iT邦超人 1 級 ‧ 2017-06-15 14:53:24
最佳解答

maile servre (sendmail, postfix, ...)一定會去查 DNS,所以你加在 hosts 沒用。
但是又不太可能叫 MIS 去改 DNS,那豈不是外面的人要寄信,卻查到私有 IP 了嗎?
所以,這時候就要在 mail server 主機上裝一個叫做 dnsmasq 的輕量型 DNS,它做什麼用呢?它會把 hosts 當作設定內容,提供本機 DNS 查詢服務。所以步驟是:

  1. 安裝 dnsmasq => yum install dnsmasq
  2. 編輯 /etc/dnsmasq.conf,設定 dnsmasq 只提供本機服務 listen-address=127.0.0.1
  3. 修改 /etc/resolv.conf,在原來的 DNS 上面多加一行 nameserver 127.0.0.1,如果 /etc/sysconfig/network-scripts/ifcfg-eth0 裡面有 DNS1, DNS2 設定,請把 DNS1 改為 127.0.0.1,原來的 DNS 則往下遞增,然後重啟網路(service network restart)
  4. 重啟 dnsmasq => service dnsmasq restart

這樣你在 hosts 裡面加的 IP 與 domain name 對應,postfix 就查得到了。其餘未詳盡之處,請自行 google dnsmasq。

0
IT 癡
iT邦高手 1 級 ‧ 2017-06-14 22:14:09

"mail server裡的hosts加了 ......." ???
你是在該機的 hosts 加 ??? 是 windows\system32\driver\etc 裡的 hosts 檔嗎 ???
如果是,是不會通,你應在兩邊 DNS 裡個加上對方的 MX & A 紀錄,路由表裡也要指定相關 IP 走 VPN 通道 ???

ctom2328 iT邦新手 5 級 ‧ 2017-06-14 23:14:48 檢舉

您好~
我這方DNS Server裡面的MX
除了原有的mail.AAA.AAA.AAA 10 (外部實體IP)
我再多設了一個mail2.AAA.AAA.AAA 20 (內部VPN的IP)

然後當他連不到外部IP時就自己跳去走內部IP過來了

目前這方式已經可以收到對方寄來的信
不知道我這方式對不對??

我要發表回答

立即登入回答