NAT 科普与类型提升

起因是朋友买了一个迅雷玩客云,但是提示 NAT 类型有问题,导致诸多功能不好用。折腾一番后也进一步搜索了相关资料,深入了解一下。本文旨在用最通俗的语言解释清楚相关问题,在专业性方面可能有缺失。

使用 PS3/Xbox 朋友遇到无法联机或 NAT 类型显示为严格也是类似原因。

什么是 NAT

首先我们得先理解 NAT 的概念。它全称是 Network Address Translation 即网络地址转换。使用 NAT 的原因很多,主要是 IPv4 地址资源枯竭,以及为了网络安全(也便于监管)。我们知道每一个能够上网的设备必然有一个 IP 地址,但是并不是所有设备都拥有「公网IP」。而 NAT 就是把内网 IP 映射成公网 IP,从而使设备可以访问互联网。

这里说 公网IP 并不规范。现在很多运营商已经不分配公网 IP 了。

听起来很高端的技术其实就在我们身边。一般常规的家庭网络拓扑是这样的:

入户光纤 → 猫 → 路由器 → 终端设备

运营商只给我们分配了一个 IP 地址,这个 IP 理所应当被路由器占用着。而我们许多终端设备拿到的是路由器分配的内网地址,一般类似 192.168.x.x。显然这个内网地址是无法和互联网通讯的。因此我们需要 NAT 来建立内网 IP 与 公网 IP 的映射,这样当终端设备访问互联网,将数据交给路由器,然后路由器转交给服务器;服务器返回的数据交给路由器,路由器再根据映射传给终端就OK了。这个过程是 NAT。

什么是 UPnP

UPnP 是通用即插即用协议,英文 Universal Plug and Play。在这里,其目的是更加方便地穿透 NAT。可以理解为有了 UPnP 软件可以根据需求让路由器进行动态地进行端口映射。而不是你去路由器后台一个个手动设置。

下面是我的 UPnP 列表:


可以看到根据请求,路由器自动地把 WAN 10960 端口映射到了 192.168.50.120:10960 上,其实这个是我们家的摄像头,这样就可以从外面直接看到画面了。

NAT 类型

下面是我们的重点了。NAT 是有许多类型的,不同的类型限制不同。而对于大部分的应用(例如 PS3/XBox 联机游戏)来说,限制越少越好。

NAT 有4个类型:

  • NAT1: Full Cone NAT
  • NAT2: Address-Restricted Cone NAT
  • NAT3: Port-Restricted Cone NAT
  • NAT4: Symmetric NAT

从 NAT1 至 NAT4 限制越来越多。一般来说 NAT1/2 可以畅通无阻地进行联机。

典型情况下:

  • NAT1 可以与 NAT1/2/3 联机
  • NAT2 可以与 NAT1/2 联机
  • NAT3 只能与 NAT1 联机
  • NAT4 洗洗睡吧

NAT1

Full Cone NAT 是限制最小的一种。它将一个内部地址(iAddr:port1)与外部地址(eAddr:port2)建立映射。所有来自 iAddr:port1 的包都由 eAddr:port2 向外发送。所有外部主机(hostAddr:any)都可以通过向 eAddr:port2 发送数据来到达 iAddr:port1。(any 表示任意端口)

NAT2

相比1,NAT2 增加了地址限制。一个内部地址(iAddr:port1)与外部地址(eAddr:port2)建立映射。所有来自 iAddr:port1 的包都由 eAddr:port2 向外发送。但是只有曾经被 iAddr:port1 主动发送过包的外部主机(hostAddr:any)可以通过向 eAddr:port2 发送数据来到达 iAddr:port1

也就是说即便知道了 IP 与端口号,外部主机也不可以主动发送数据。

NAT3

相比2,NAT3 又增加了端口限制。一个内部地址(iAddr:port1)与外部地址(eAddr:port2)建立映射。所有来自 iAddr:port1 的包都由 eAddr:port2 向外发送。但是只有曾经被 iAddr:port1 主动发送过包的外部主机(hostAddr:port3可以通过向 eAddr:port2 发送数据来到达 iAddr:port1

注意哦,这里外部主机不仅地址,而且端口号也必须匹配才可以。

NAT4

内部地址每一次请求一个特定的外部地址,都可能会绑定到一个新的端口号。也就是请求不同的外部地址映射的端口号是可能不同的。

这种类型基本上就告别 P2P 了。

提升 NAT 类型

由于种种需求,我们往往希望获得至少 NAT2 的类型。提升 NAT 类型是一个非常复杂的问题,因为相关因素实在太多了。

首先给大家一个 NAT 类型测试工具

一般来说,我们希望 NAT 层数越少越好。每多一层 NAT 就意味着更加复杂的情况与配置。依旧是典型的网络拓扑:

入户光纤① → 猫② → 路由器③ → 终端设备

我们目标是把 NAT 降到1层(只有③),当然这是目标,但不是必须的。

拿到公网 IP

公网 IP 指的是全球可路由的地址。也就是说在全球任意地方只要接入互联网就可以访问到。

拥有公网 IP 对于 P2P 应用来说绝对是一个基础要求,这可以省掉许多麻烦(使①不发生 NAT)。如何确定自己是不是公网 IP 也很简单。访问这里你可以得到一个 IP 地址,把它与路由器中显示的 WAN 口 IP 进行比较,如果一致那么就是公网 IP 了。

如果不一致,那么只能联系运营商,自己是没有办法的。一般来说一级运营商(电信/联通)比较容易,而一些二级甚至三级运营商(长城)就没什么希望了。如果拿不到公网 IP,只能期望运营商不要把 NAT 类型限制太死吧。

猫改为桥接模式

区分猫和路由器

是调制解调器,仅仅负责将数字信号与电/光信号互相转换,功能单一。路由器可以扩展多个接口、进行组网以及相关配置,功能强大。无线路由器可以建立 WiFi 热点。

区分桥接与路由模式

现在原来越多的猫“越权管理”,增加了路由功能,也就是说猫和路由器一体化了。每一个路由器可以理解为一层网络,我们不希望层数过多。同时猫的路由功能往往不完善,难以进行高级配置。而桥接模式就是让猫回归本质,只负责信号转换。

区分路由与桥接模式最方便的办法是:如果你的路由器(电脑)直接连到猫上就可以上网,那么是路由模式;如果路由器需要配置 PPPoE 拨号那么就是桥接模式。

更改模式

一般来说更改模式需要猫的超级密码,这个用户是没有的。请联系运营商客服请求修改。改为桥接后②也不会发生 NAT 了。

警告:没能力折腾的不建议自己破解改。更改桥接模式之后记得重新配置路由器,输入宽带账号密码才可以正常上网。

更改路由器设置

首先要修改 NAT 类型,并不是所有的路由器或者路由器系统都支持这一设置。很幸运我的华硕路由器支持。打开 NAT 并将类型设置为最宽松的 NAT1(Fullcone)。

接着启用 UPnP,绝大部分路由器都支持的,耐心找一找。如果真的不支持那我建议换路由器。

如果不支持上述的 NAT 类型设置,我们还有一个大招。大部分的路由器都支持 DMZ (非军事化区),DMZ 指定的设备完全暴露在公网上。但是一个网络一般只能够设置1个 DMZ,显然如果设置多个路由器就不知道应该把数据包交给谁了。由于 DMZ 是和 IP 绑定的,而 IP 是动态分配的。所有首先我们将 IP 与 MAC 绑定(不同的路由器设置不同),然后将此 IP 设置为 DMZ 即可。

更改系统设置

最后如果你的系统启用了防火墙那么记得将需要的程序添加例外,或者关闭防火墙(不推荐)。最后进行测试,我已经提升到 NAT1 啦~

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容