通过防火墙或 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 和文档传输)的端口。

提示:通过端口的通信可再细分为不同类型(包括 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。

提示:如果您不想费事,解决方法是暂时关闭各台电脑上的防火墙。

要在启用了 Mac OS X 防火墙的情况下聊天,请执行以下步骤来添加必要的端口:

  1. Apple 菜单中,选择“系统偏好设置”
  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

传出包

内部来源端口
外部目标端口
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 16384-16403
5060, 5190, 5297, 5298, 5353, 5678 16384-16403

传入包

外部来源端口
内部目标端口
5060, 5190, 5220, 5222, 5223, 5297, 5298, 5353, 5678 16384-16403
5060, 5190, 5297, 5298, 5353, 16384-16403

其他信息

注意

  1. 除端口 5190 和 5298(在使用 TCP 和 UDP 时都需打开)以及 5220、5222 和 5223(仅需在使用 TCP 时打开)之外,所有 iChat 通信都是 UDP。
  2. 端口 5297、5298 和 5353 仅用于本地通信。在电脑而非路由器上运行防火墙软件时,可能需要打开以上端口。您无需在连接至 Internet 的上行线路上打开以上端口。
  3. 在 Mac OS X 10.3.9 或更低版本中,位于“共享”偏好设置面板中的 Mac OS X 防火墙仅过滤 TCP 包。因此,本文列出的大部分端口都无需在 Mac OS X 防火墙上开启。
  4. 某些特定于路由器的功能或配置可能会干扰 iChat。这包括任一端的端口映射、SIP 重新写入、SIP 丢弃或媒体端口的动态打开。
  5. 有关防火墙问题中特定于文件传输的信息,请参阅“iChat:启用防火墙时无法发送或接收文件”。
  6. 端口 5678 上的 SNATMAP 服务用于确定主机的外部 Internet 地址,以便 iChat 用户之间的连接可在网络地址转换 (NAT) 之后正常使用。SNATMAP 服务仅将已连接到它的 Internet 地址告知客户端。此服务在 Apple 服务器上运行,但不会将个人信息发送给 Apple。在使用了特定 iChat 功能的情况下,将与此服务建立联系。阻止此服务可能会导致与使用 NAT 的网络上的主机之间的 iChat 连接出现问题。