Apache-2.2

伺服器可以從外部通過域名訪問,但不能從內部網內部訪問

  • January 6, 2014

我有一個 apache 網路伺服器/郵件伺服器(在 Ubuntu 上執行)設置,如下所示:

  • Speedport 路由器為所有需要的埠提供 NAT
  • DynDNS 使用非靜態 IP 地址獲取域名

我面臨的問題是,網站 abc.com 可以從 Intranet 外部正常訪問,但不能從內部訪問。

speedport 路由器不允許對域名路由進行任何更改

這是我的主機文件:

127.0.0.1           localhost localhost.localdomain
127.0.0.1           localhost
#192.168.2.110      marvin.localhost.com marvin
#10.8.0.1          marvin marvin.localhost.com
127.0.0.1      mx.localhost.com.cust.b.hostedemail.com
192.168.2.110      DOMAINNAME.com
# 192.168.2.110    marvin.DOMAINNAME.com marvin

::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

這曾經可以正常工作一年,然後突然停止工作,這讓我感到困惑。似乎在 Intranet 中,域名未正確發布/路由。

這是將 NAT 與 IPv4 一起使用的副作用。您的 Intranet 客戶端獲得“外部”IP 地址,但該地址只能從 Intranet 外部訪問。

有兩種解決方案:第一種是水平分割DNS。第二種(可能更好)的解決方案是部署 IPv6,它不會遇到這個問題。

快速的解決方法是在從 LAN 工作時通過其內部IP 地址而不是 Internet URL 來定址伺服器。

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