從內部訪問對外服務無法使用

當使用者在公司內部網路,嘗試訪問外部服務時,有時會遇到無法連線的問題。這可能是由於公司防火牆或網路設定所造成的問題。

以下是一些可能的原因和解決方案:

  • 防火牆設定:公司防火牆可能會限制哪些連接可以從內部網路連接到外部網路。如果訪問某個外部服務被防火牆阻擋,可以嘗試聯繫公司的 IT 支援團隊,請求他們開放所需的端口或網域名稱,以允許使用者訪問外部服務。
  • DNS 設定:DNS 是將網域名稱轉換為 IP 位址的協議。如果公司內部 DNS 設定不正確,使用者可能無法訪問外部服務。可以嘗試將 DNS 設定更改為公共 DNS 伺服器,例如 Google DNS 或 Cloudflare DNS。
  • 代理設定:公司可能使用代理伺服器來監視和控制使用者對外部服務的訪問。如果代理設定不正確,使用者可能無法訪問外部服務。可以嘗試檢查代理設定是否正確,或者嘗試更改代理設定以解決問題。
  • 網路設定:如果網路設定不正確,使用者可能無法訪問外部服務。可以嘗試重新啟動網路設備,例如路由器或交換機,以解決問題。

如果以上方法都無法解決問題,可以嘗試聯繫公司的 IT 支援團隊,請他們協助解決問題。

(以上為AI生成)

不過我們就是IT人員😂,是被聯繫的,所以要懂得更多。

閱讀全文: 從內部訪問對外服務無法使用

先說個NAT,

Network Address Translation

NAT是「網路位址轉換」(Network Address Translation)的縮寫,是一種網路協議,用於將私有網路的IP位址轉換為公共網路上的IP位址,以實現多個設備共享一個公共IP位址的目的。

由於要讓服務對外,會讓位於內部伺服器的IP位置去對應一個外部IP位置。連到對應的外部IP位置,透過NAT,就能存取內部伺服器。

如果人在內部,訪問伺服器服務直接找伺服器IP會比較有效率。因此會做內部外部的差異化,也就是內部、外部DNS差異。

同樣是mail,在公司內部解析是內部IP,在外部解析是外部IP。一旦解錯了會怎樣?

使用者連線服務的外部IP,然後因為是內對外,因此防火牆或路由器沒有做目的地轉換,接著防火牆或路由器會發現外部IP不在ARP表內,因此廣播ARP,卻得不到回應,然後就使用者IP位置無法路由到達服務的外部IP。

人在內部卻解析成外部IP的情況,常見於「VPN」。連上VPN後,會優先使用配置的DNS Server,通常是外部DNS,所以內部服務就會被解析成外部IP。

因此我們要做一對一NAT的轉換,而且還是目的地的轉換,讓在內部的使用者即便使用服務的外部IP,也能被NAT導回服務的內部IP。

以下以Fortigate為例,我想把去「118.163.81.63」改成去「192.168.111.2」,192.168.111.2是我的Home Assistant。

新增虛擬IP

這邊新增虛擬IP,做Static NAT的設定。

新增防火牆政策

由於虛擬IP轉換後的IP 192.168.111.2,實質上是會內部網(192.168.111.0/24)去,因此防火牆是介面是內對內,接著目的要選擇剛剛新增的虛擬IP。雖然是內對內,但避免去回不同路,建議開啟NAT功能,不然就要讓Fortigate當根節點。

接著使用瀏覽器輸入118.163.81.63:8123,看到我的Home Assistant網頁登入提示,這代表轉換正常成功。(目的地 118.163.81.63 => 192.168.111.2)