2.3 网络环境检测
问:有这么多的解决方法,但每个人的网络环境都不一样
要如何确定使用哪一种方法呢?
答:这就需要确定自己的网络环境了
主要网络环境优化
和运营商NAT检测
如果看不到运营商级NAT
一般认为是有ipv4公网
运营商级 NAT 网关通常使用以下 3 个地址空间:
- 100.64.0.0/10,即 100.64.0.0 - 100.127.255.255
- 172.16.0.0/12,即 172.16.0.0 - 172.31.255.255
- 10.0.0.0/8,即 10.0.0.0 - 10.255.255.255
一般 看到以 100 10 172 开头的 那基本都是运营商级NAT
192.168.1.1 一般为光猫的地址
我们可以使用路由追踪命令
来确定自己的网络环境
不要开启代理软件 VPN 游戏加速器 会影响测试结果
win+r 弹出运行
输入这段命令
cmd /k tracert -d -4 www.baidu.com
点击确定后会弹出命令提示符窗口
显示跟踪完成后
即可截图保存进行分析
运营商级别NAT展示
10 开头的运营商NAT
100 开头的运营商NAT
172 开头的运营商NAT
常见情况分析
图片来自网络和QQ群
情况一
这是一种很常见的结构
有运营商级NAT(无ipv4公网)
光猫拨号
还连接了一个路由器
而电脑则连接在路由器上
优化建议:
(1)
向运营商获取公网IP以消除运营商级别NAT
修改光猫模式为桥接模式
拨号功能将交给路由器 以消除光猫NAT
路由器承接拨号功能
这样一来就只有一层NAT了
在路由器上做端口映射即可获取绿灯
是最理想的情况
(2)
运营商不给/无法获取ipv4公网
运营商nat无法消除
修改光猫模式为桥接模式
拨号功能将交给路由器 以消除光猫NAT
路由器承接拨号功能
在路由器上开启DMZ
为stun穿透做准备
情况二
这也是一种常见的结构
有运营商级NAT(无ipv4公网)
光猫拨号
但是没有连接路由器
而电脑直接连接在光猫上
优化建议:
与 情况一 相似
但不同的是没有路由器
拨号功能由光猫承担
当然也可以添置一个路由器
这样网络结构就变得和 情况一 相同了
添置路由的目的主要目的是接替光猫进行拨号
这样就可以将光猫改为桥接模式
免除路由设置光猫的麻烦
(1)
向运营商获取公网IP以消除运营商级别NAT
在光猫上设置端口映射 即可获得绿灯
(可能需要使用超级管理员)
(2)
运营商不给/无法获取ipv4公网
运营商nat无法消除
在光猫上开启DMZ 或者映射所有端口
为stun穿透做准备
(需要使用超级管理员)
情况三
与 情况一 相似
不过有多层运营商级NAT
10 开头的这IP些均为运营商NAT
在这么多层NAT stun应该是无法穿透的
建议考虑frp穿透或者获取IPv6
接下来再看有公网的情况
情况四
这相当于获取到公网后的 情况一
优化建议和情况一相同
情况五
有公网
光猫拨号没有路由器
这相当于获取到公网后的 情况二
优化建议和情况二相同
其他情况
是这些常见情况的变体
如光猫是否承担拨号/路由功能
若看不到 192.168.1.1
则光猫可能是处于桥接模式
如路由器的个数
或者运营商NAT的层数
小结:
一层运营商NAT:
尝试获取公网以消除运营商级别NAT
多层运营商NAT:
尝试IPv6 或者 frp 穿透
光猫:
在有路由器的情况下
尽量改桥接 让了路由器承接拨号功能
提高网络可靠性 减小配置复杂程度
路由器:
一般仅需在路由器设置 端口转发 upnp 或者 DMZ
在有多个路由器时
建议由一个路由器拨号
其他路由器 改为 桥接模式
减少不必要的NAT转换
IPv6方面
在之前的章节说过
常见的问题是路由器不支持IPv6
或支持但无法关闭IPv6防火墙
光猫一般都是支持的
不过关闭IPv6防火墙一般都需要
超级管理员
若路由器不支持IPv6功能
或支持IPv6但无法关闭IPv6防火墙
同时IPv4 无法解决运营商NAT
这时候可以尝试 由光猫拨号
使用超级管理员 关闭光猫IPv6防火墙
以实现IPv6端口开放 从而获得绿灯
问:路由跟踪的方法 一定可靠吗?
答:并不是
这个方法有个大前提,就是 NAT 网关会正确返回 ICMP 报文,否则该跃点会显示超时而无法判断。
目前大部分的家用路由器以及电信级 NAT 网关都不会禁止 ICMP,但一些企业内网使用的设备或许会过滤掉。
另外一些二级网络运营商会伪装 IP。拨号获取到的 WAN IP 是公网 IP,路由跟踪返
回的结果也没有显示电信级 NAT 网关
但这个“公网 IP”在经过运营商的设备时会被映射端口,且用户不可控 所以在事实上是存在运营商级NAT的