今天不晓得工作室的 Apple 苹果系统发什么神经,突然跑出一个警告讯息,说我的网络设定出现「双NAT」冲突错误(如下图一),虽然还是可以上网,但是看到一个橘色灯号瞬间强迫症上身,非得看到它变成绿灯才肯善罢干休。

会出现双 NAT 的错误讯息,表示网络系统中使用太多层「网络位址转换技术(Network Address Translation, NAT)」 [1],通常在同一个区域网络中使用多台路由器与防火墙的时候就很容易出现这种错误。

Apple-Airport-Time-Capsule-Double-Nat-Error-Message图一,基地台双 NAT 冲突。

既然知道错误原因,自然容易开始动手侦错,这大概也是 AirPort 比其他杂牌网络分享器贵上一些,却也贵得有价值的理由,况且 AirPort 还能把普通印表机升级成具有类似 AirPrint 功能的网络印表机[2],简直超级划算。

换个角度来看,如果你家装的是一些杂牌网络分享器,也有可能遇到类似的配置错误,只是你不知道。虽然表面上的网络还是能通,游戏还是能打,但由于网络讯号需要多跑一次转换程序,这会让网络效率大幅度下降,但是你也只能抱怨东抱怨西,不断找网络工程师的麻烦,因为你不知道发生了什么事情。

执行「网络工具程序」检测双 NAT 错误

就算你的网络分享器不会提示错误讯息,我们还是可以透过一些小手段来检查自己的网络环境是否违反了双 NAT 规定。

如果你是苹果电脑的用户,可以透过「网络工具程序」或是在终端机视窗中输入「Traceroute」指令来进行检测。

请参考图一所示,果粉们可在 Apple OS X 系统中,同时按压「Control」与「Space(空白键)」按键,叫出「SpotLight」搜寻框,并输入关键字「网络工具程序」进行快速检索。

苹果电脑「网络工具程序」。图一,苹果电脑「网络工具程序」。

开启网络工具程序后,请参考下图二所示,切换到「Traceroute」页面,并且随意输入一组有效的外部网络位址,例如「Mountos.com」。接著按下视窗上的「追踪」按钮,程序就会开始列出从你的电脑到外部网站途中的每一个网络节点信息。

重点来了,这时候请你仔细看,在追踪列表中排列第二顺位的网络节点的网络位址(IP)是否为「10.0.x.x」或「192.168.x.x」其中一组?

10.0 跟 192.168 开头的网络位址是公开技术的保留位址,仅供网络装置作为「内部网络」的设定使用。因此如果第二网络节点还是这两组 IP 其中之一的话,我们可以很清楚知道至少有两台网络装置同时提供相同的网络解析功能,这时候你的网络环境大多已经触犯了所谓双 NAT 错误。

苹果电脑「网络工具程序」的 Traceroute 域名追踪解析功能。图二,苹果电脑「网络工具程序」的 Traceroute 域名追踪解析功能。

顺带一提,如果你是微软 Windows 的用户,可以同时按压键盘上的「视窗键 」与「R」键,叫出「执行(RUN)」对话方块后,在文字栏中输入「CMD」指令,就能开启「命令提示字元视窗(Command Window)」。

Windows-Logo-Keyboard-Key-Vedfolnir视窗键

接著在视窗内输入指令「Tracert」,就能进行如上述网络追踪的检查。指令范例如下:

C:>tracert mountos.com

检测双 NAT 错误后开始修正网络分享器设定

我们工作室基本上的网络配置是:「终端机(电脑主机、智慧型手机、平板电脑、Google Chromecast)⇔ 网络分享器(小米路由器、Apple AirPort Wifi 无线网络分享器)⇔ 缆线数据机(中华电信光世代、ADSL Modem、有线电视宽频网络) ⇔ 网际网络。」

其中小米路由器是用来延伸 Wifi 讯号到家中较远的角落,相关硬件介绍与软件控制等改天有时间时会再另外写一篇介绍文。而除了小米以外,我相信这套配置与大家家里或工作室的网络环境应该都是一样的。

既然我们已经知道双 NAT 的错误原因,解决问题的道路指标就很显然易见,所以我们接下来就该卷起裤管开始动手揪错。

由于我们工作室的主要网络环境核心主要是采用苹果公司的「AirPort Time Capsule」,因此下面范例将以该机器为主,不过各家网络分享器的动作原理大同小异,相信大家都能自己动手操作看看。我们也很欢迎摸不著头绪的朋友在下面留言询问喔。

请参考下图三所示,在 OS X 作业系统中,我们能在工具列上的「LaunchPad」找出「其他」资料夹,该资料夹内有一组官方默认程序「AirPort 工具程序(AirPort Utility)」,这是一套网络分享器的管理软件,相对于其实只能靠网页管理的杂牌分享器来说,这又是一项值得投资的理由,除了方便管理外,iPhone[3] 与 iPad 也都支持同一套软件!

Apple_Airport_Utility_Logo_Icon图三,AirPort Utility 工具程序按钮。

接著开启 AirPort 工具程序,我们会看见如下图四所示的管理界面,请直接切换到「网络」页面。

在网络页面的上方有一个「路由器模式」选项,当中可设定「DHCP 和 NAT」模式或是「桥接」模式,而这就是重点所在!即使你的网络分享器是别家厂商的设计,同样需要找出这项设定。所谓 DHCP 和 NAT 模式,指的就是分享器本身采用内建的网络分配机制,因此如果你的缆线数据机也内建相同功能时,这时候就会产生双 NAT 冲突。

因此,我们需要将路由器模式设定成桥接模式,代表网络分享器只是作为延长或是转接网络讯号使用,主要的内部网络控制与分配权还是在缆线数据机身上。

Apple-AirPort-Time-Capsule-Wifi-DHCP-Bridge图四,AirPort 工具程序。

网络的环境设定其实最讨人厌的就是例外状况,例如当缆线数据机被网络分享器控制时,内部网络控制与分配权主要是在网络分享器(即 AirPort)身上,因此路由器设定就该选用 DHCP 和 NAT 模式。不过这都是基本观念的转换,相信大家搞懂后就能轻松设定成最正确的环境设定。

下图五就是修改设定后,网络恢复正常状态的示意图了。

Apple-Airport-Time-Capsule-All-Normal-Message图五,恢复正常的网络分享器设定。

结果与讨论:

基本上当网络系统出现双 NAT 冲突,有时候你的网络还是可以正常工作,但在连网效率与部分程序的使用上却可能发生问题,所以一发现这种错误,或是你家(工作室)的网络境比较复杂时,工字号还是建议最好立刻检查并且解决问题比较好。

延伸阅读:

  1. 网络位址转换(Network Address Translation, NAT),是一种在IP封包通过路由器或防火墙时重写来源IP地址或目的IP地址的技术。这项技术被普遍用在多台主机透过一组公有IP位址访问网际网络的内部网络中。
  2. 苹果电脑:AirPort 无线网络分享器好神奇,让传统印表机瞬间升级 AirPrint 网络印表机(AirPort Express and Time Capsule)。
  3. AirPort Utility - Apple.
✦ 独立报道 · 读者支持 ✦

以实际行动支持独立观点,与我们一同走得更远

每一篇条理清晰的分析、每一次不随波逐流的观察,背后都是对真实与品质的坚持。我们拒绝内容农场与算法流量绑架,坚持自由独立的客观发声。

维持高品质的原创写作与独立运营,需要持续的实质力量。您可以选择一次性赞助或每月定期支持,通过 Google 安全结账,与我们一同守护这份深刻与清醒。

由 Google 安全处理付款 · 可随时在 Google 账户管理或取消