透過防火牆或 NAT 路由器使用 iChat

  • 最後更新: 28 五月, 2009
  • 文章: HT1507
  • 舊文章: 93208

摘要

透過 NAT 路由器和防火牆使用 iChat 時,必須開啟特定的傳輸埠,才能允許在防火牆之後進行視訊和音訊會議。 某些裝置會根據預設開啟這些傳輸埠,而其他裝置則需要設定。 附註:本文章會列出 iChat 使用的所有傳輸埠,而非只列出由音訊/視覺內容所使用的傳輸埠。 《Apple 軟體產品使用的「知名」TCP 和 UDP 連接埠》列出各個連接埠的功能。

受影響的產品

iChat

網路位址轉譯 (NAT)

某些 Internet 服務供應商 (ISP) 和家用網路路由器,會使用稱作網路位址轉譯 (NAT) 的技術來共享 Internet 連線。 雖然這經常會干擾其他會議應用程式的視訊和音訊連線,但是 iChat 會使用創新的方法來建立直接的音訊和視訊連線,即使在使用 NAT 的網路上也可建立連線。事實上,iChat 可正常搭配許多普遍的家用路由器,直接依照路由器的出廠設定即可使用。 本文列出這些路由器。

關於防火牆

因為防火牆的功用是阻擋特定 Internet 流量進入或離開網路,所以企業和教育機構經常使用防火牆來提升安全性。 Mac OS X 也包含個人用的防火牆,您可在 [系統偏好設定] 的 [共享] 偏好設定中將其啟動。

Internet 流量會穿越以服務識別號碼 (又稱為傳輸埠) 為基礎的防火牆。 必須先開啟特定的傳輸埠,才能執行 iChat。 網路管理者通常會開啟最少的網路傳輸埠,允許批准之應用程式的流量進入和離開網路,同時阻擋其他的網路流量。

iChat 會針對不同用途使用不同傳輸埠。 進行會議時,會使用傳輸埠 16384 到 16403 來傳送、接收和最佳化 AV 串流。 進行單一會議時,會利用 20 個傳輸埠當中的 4 個來傳送和接收音訊及視訊。 此外,還會使用傳輸埠 5060 來發出訊號和啟動 AV 聊天邀請,並將 5678 用於 SNATMAP,共開啟 22 個傳輸埠。 用於其他用途 (例如 Bonjour 和檔案傳送) 的傳輸埠,則會列在接下來的兩個章節當中。

Tip: 通過傳輸埠的流量可能會再細分為不同類型,包括 TCP 和 UDP。 iChat 會使用上述兩者,但主要使用的是 UDP。 進階使用者可在以下的「附註」區段中找到更多相關資訊。

開啟用於 Mac OS X 防火牆的傳輸埠

使用內建 Mac OS X 防火牆時,您只需要開啟下列傳輸埠:5060、5190、5297、5298、5678 以及 16384 到 16403。如果要在 Mac OS X 10.4 或以上版本中使用 Jabber,請一併開啟 5220、5222 和 5223。

Tip:如果您不想這麼麻煩,解決方法就是暫時關閉每台電腦上的防火牆。

若要在啟用 Mac OS X 防火牆的情況下進行聊天,請遵循這些步驟來新增必要的傳輸埠:

  1. 蘋果選單中,選擇系統偏好設定
  2. 檢視選單中,選擇共享
  3. 按一下 [防火牆] 標籤頁。
  4. 按一下 [新增]。
  5. 從 [傳輸埠名稱] 彈出式選單中,選擇 [其他]。
  6. 在 Mac OS X 10.3.9 或更早版本的 [埠號]、[範圍] 或 [級數] 欄位中,輸入下列資訊,然後前往步驟 7:

    5060, 5190, 5297, 5298, 5678, 16384-16403

    在 Mac OS X 10.4 或以上版本的 [TCP 埠號] 欄位中,輸入 (如果未使用 Jabber,則可以省略 5220、5222 和 5223):
    5190, 5220, 5222, 5223, 5298

    在 [UDP 埠號] 欄位中,輸入:
    5060, 5190, 5297, 5298, 5353, 5678, 16384-16403
  7. 在 [描述] 欄位中,輸入:iChat
  8. 按一下 [好]。

開啟用於協力廠商防火牆的傳輸埠

如果您使用協力廠商的防火牆,請務必開啟這些傳輸埠:

5060、5190、5297、5298、5353、5678 以及 16384 到 16403。

如果無法運作,您可以開啟從 1024 到 65535 的所有傳輸埠 (或暫時停用防火牆)。

進階設定資訊

更複雜的路由器和防火牆可能會允許您指定規則,如 TCP/UDP、傳入/傳出封包或來源/目標傳輸埠等。 在此情況下,您可以使用下列表格。 設定 A 的安全性低於設定 B,但是可與較大範圍的路由器設定搭配使用。

設定 A

傳出封包
內部來源傳輸埠
外部目標傳輸埠
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 5678, 16384-16403
1024-65535
傳入封包
外部來源傳輸埠
內部目標傳輸埠
1024-65535
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 5678, 16384-16403


設定 B

Outgoing Packets

Internal Source Port
外部目標傳輸埠
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 16384-16403
5060, 5190, 5297, 5298, 5353, 5678 16384-16403

Incoming Packets

外部來源傳輸埠
Internal Destination Port
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 5678 16384-16403
5060, 5190, 5297, 5298, 5353, 16384-16403

其他資訊

附註

  1. 除了傳輸埠 5190 和 5298 之外,所有的 iChat 流量皆為 UDP,因此 5190 和 5298 在使用 TCP 和 UDP 時皆必須開啟,而 5220、5222 和 5223 只需要在使用 TCP 時開啟。
  2. 傳輸埠 5297、5298 和 5353 僅用於本機流量。 在電腦而非路由器上執行防火牆軟體時,可能需要開啟這些傳輸埠。 您不需要在連線至 Internet 的寬頻全球區域網路上開啟這些傳輸埠。
  3. 在 [共享] 偏好設定窗格中出現的 Mac OS X 防火牆,只會過濾 Mac OS X 10.3.9 或更早版本的 TCP 封包。 因此,大部分在此列出的傳輸埠都不需要在 Mac OS X 防火牆上開啟。
  4. 某些路由器的專屬功能或設定可能會干擾 iChat。 這包含將傳輸埠對應到各端、SIP 重新寫入、SIP 投遞或媒體傳輸埠的動態開啟。
  5. 如果是有關傳輸檔案的防火牆問題,請參閱《iChat:啟用防火牆時無法收發檔案》。
  6. 連接埠 5678 上的 SNATMAP 服務是用來決定主機的外部 Internet 位址,使 iChat 使用者之間的連線能夠在網路位址轉譯 (NAT) 下正常運作。SNATMAP 服務只是將已連接的 Internet 位址傳給用戶端。此服務在 Apple 伺服器上執行,但不會將個人資訊傳送給 Apple。使用某些 iChat 功能時會連接此服務。 阻擋此服務會造成 iChat 與 NAT 網路上的主機進行連線時發生問題。