最近,网通和电信通过限制路由把我们的网络搞的乌烟瘴气。俗话说“知己知彼,百战不殆”,下面就说下我个人的理解。
2 o a V3 j/ `1 w0 r$ i+ N4 ?        电脑的数据经过路由器NAT转换后,三层以下完全被重新封包,跟内网的IP,MAC没有一毛钱关系。因为一旦数据包出了路由器,所有的源IP地址全部转化成路由器的WAN口地址,MAC地址也转换成WAN口的MAC地址。
* A* D- {& u6 z0 r% l8 e! C% G/ v8 x; D. n8 g. o# Z
        ISP在远端都会有流量的监控和分析。所谓的依靠连接数,目的地址,都是做粗略的“行为判定”。从数据流上精确分析的话,TCP/IP包里有一个数据段会直接暴露你是否接了内网,这就是IP首部的Identifier字段。这个数据段不影响寻址,路由器即使做了NAT后也不会改变。
1 X1 O. [0 E/ y! p/ s0 |* `: m     这个IP首部的Identifier字段就叫做IPID。每个IP包都有一个ID,本来是用于标识IP包,便于分割和重组长度大于MTU的报文。一般来讲,计算机在启动时会自己指定一个 IP ID 的起始值,然后在发送IP包时有规律的增长。路由器在做源 NAT 的时候一般不会修改 IP 包中的 ID 值。由于每个计算机在启动时的 IP ID 相同的概率非常非常非常低,所以电信的局端设备就可以根据 IP 的 ID 值的变化区间来判断路由器后面有几台计算机,因为每台计算机发送的 IP 包的 ID 值会在各自的区间增长。破解这种限制就需要在路由器做源 NAT 时修改每个IP包的ID值,要么在一个统一的范围内变化,模仿是一台计算机在使用Internet;要么干脆随机,让局端设备分析不出规律。IPID 模块就是派这个用处的。6 }( h" {1 L# y6 i t6 @' |
       每台主机发出的数据包Identifier一般是连续的,每次增加一位,比如600001,600002....如果探测到有多组IPID 600001,600002,900010,900011...那么ISP认为你是多用户,最最简单的方法相信大家已经看出来了:就是通过两次NAT,也就是串联两个路由器。但事实上这也取决于不同路由器的算法或者策略,是否重新封包盖戳。. J3 K: r! I: ~' D* d/ j1 K! X
        下面就比较流行的tomato固件做下说明,版本是tomato1.19 ip限速版。& m& U. g: c- p x
       1) New Functions --ToolBox--IPID Adjust7 T' s+ S) q$ \2 u9 M$ g* V
它有两个选项:pace1 及 chaotic ,在这选 chaotic) h" q$ Z ?* G% g; n. v' K
2) Port Forwarding -- Basic -- Port Forwarding( ^4 b2 R0 q) X' |
防电信SNMP电信嗅探,将UDP 161,162 转发到不存在的IP上。一般来说TOMATO 不支持SNMP,这一步是为防意外。9 T% x |# S; h
3) Advanced--Conntrack / Netfilter --Miscellaneous
% ]3 u a9 l5 x+ N TTL Adjust 选 +1% L! m* M9 {7 O! ~$ W$ H5 ~
Inbound Layer 7 √ 开启此项
" D7 e: z- W8 ^& q/ y" Y# F( Q4) 将WAN 端MAC 置为客户机 MAC ,这招老掉牙了,但在某些地方还是很管用。& ]+ u) g+ {0 V
Advanced--MAC Address --WAN Port 点击 Clone PC' P* U8 `4 }, z+ e1 U+ O
        经过上面的设置一般来说就可以了,要是还不行就换tp-link r402吧,据网友一致反应效果不错。
7 ]: o' l7 `3 O$ C t       如果还会收到警告怎么办,拿起电话打客服,向话务员MM投诉。装着无辜的样子,振振有词地说没有共享,呵呵,她们也只好网开一面了。这一招,好多网友屡试不爽……
& M; o% K* z, T+ n5 B* c还有两个方法,不在此介绍,要离题啦。 |