背景介绍:

我们学校校园网支持ipv6,属于教育网网段。我的手机(联通)流量也支持ipv6。

做了几个实验:

  1. 电脑连接校园网,手机开流量,电脑ping手机的ipv6地址,超时。
  2. 电脑连接校园网,手机开流量,电脑ping手机的ipv4地址。(由于联通使用了NAT,所以ping百度「ip」所得到的地址)超时。这一步大概确认联通的NAT出口屏蔽了ICMP消息。
  3. 手机开流量,电脑连接手机的热点。此时,ping手机的ipv6,成功。
  4. 电脑连校园网,手机也连校园网。电脑ping手机的ipv4,成功。(由于安卓的wifi没办法获取到v6,就没ping v6)。这步主要确认不是手机无法接受ping消息。
  5. 做上述实验的起因是我用ut下载东西,能连上对方,然而ping不通。(这个可能是因为对方防火墙过滤了ICMP消息?)但是有时候就直接连接不上对方,虽然pt站网页显示有人ipv6做种。

我的问题是,ipv6不是不存在内网这一说法吗?也就是所有ip都是公网的。如果是这样,为什么3可以成功而1不成功?

问题有点长,谢谢各位能看到这里,也提前感谢诸位大佬的解答(?????)


要判断是不是内网, 最容易做的事情就是看你拿到的 IP 是不是 2000:/3 这个所谓 Global Unicast Address 地址范围.

IPv6 放弃了 IPv4 的 DHCP 有状态地址分配方案, 最推荐的地址分配方案是 SLAAC 的地址分配, 也就是你的路由器基于 NDP(ICMPv6) 广播自己的路由, 然后别的设备根据自己的 mac 地址去填充这个路由下的地址后缀部分得到完整的地址. 当然也会选择完全随机的方式去生成随机地址.

而因为没有 NAT, 这个时候路由器就需要额外方法保护内网设备. 最简单的方法就是用有状态防火墙. 根据你的说法可以知道:

  1. 内网-&>外网能用 ICMPv6 echo, 说明路由器为本身无状态的 ICMPv6 echo 建立了一个状态, 允许双向放行
  2. 内网&


实践上说,目前IPv6的主流配置是不做NAT的,大多数运营商下的大多数IPv6地址都是公网地址,即便是通过路由器配置到你家庭网路内部的设备上也是如此。

但,有一种东西叫防火墙啊…IPv6公网地址不等于没有防火墙拦著你啊。同样目前的主流配置也是由路由器的防火墙挡掉大部分入站连接。手机运营商的IPv6大多数也是此种配置,而且一般比家用的更严格,基本完全阻止入站连接。


这只能说明校园网是区域网而蜂窝信号不是。


你这个情况和ipv6是否公网地址其实没有直接关系,

目前我国家用宽频,只要支持ipv6的,都是分配前缀地址,不是ipv6地址,而是网段,直接给你一个前缀网段,一般是240X开头,由网关负责分配,但是icmp包,不见得每个网关都允许啊?如果是通过路由器上网的,可能路由器的防火墙直接就把icmp给干掉了,这非常常见,防止扫描用的.

另外,普通电脑上,非伺服器操作系统默认是开启了随机ipv6地址模式,一台电脑上会有好几个ipv6地址,分为长效地址[可连入,只有一个]和临时地址[一段时间后可能会多达10来个],去连接的时候其实使用的是临时ipv6地址,只有连接双方可以连接和传输,你看到其他人的ipv6地址大概率属于临时地址,这个时候无论有没有防火墙,你根本ping不通,除了临时ipv6地址主动连接的对方,其他人都连不进来的.

还有一种可能是校园网的ipv6没有真正连接到ipv6公网[或者连接china net的带宽非常小],还属于孤岛,android的wifi早就支持ipv6了,至少我在android 4.1就成功测试过ipv6,如果你没有获取到ipv6,那么有可能是你的校园网路是6IN4模式,你的ipv6地址可能是类似200X开头的隧道地址


坐标苏州联通,有公网IPV4地址。

分配的IPV6地址,外部可以访问。并且443埠可以访问,80埠没测。


IPv4路由器下发的是内网没问题,都是用nat,IPv6路由器照样可以nat。

路由器联网之后如果有IPv6(不管是上边下发的还是自己硬编的),路由器就可以nat分配内网IPv6了,但是不一定能向上为子设备申请IPv6。在我电脑上就是这样的,光猫拨号直连光猫和路由器拨号连接路由器都会有一个临时IPv6,通过IPv6测试发现这个就是公网IP,另外一个IPv6没有写临时,但是这个并不是公网IP,当光猫拨号电脑连接路由器时,这个临时IPv6就没有了,相应IPv6测试得到的IP是路由器的IPv6,也就是说这时候并没有给电脑下发IPv6,而是由路由器nat出来的内网IP。

获取IPv6从设备开始,申请到路由器,再申请到光猫,再申请到运营商,这一系列过程只要有一个步骤不能向上申请就获取不到公网IP,由我使用情况来看,移动可以给拨号设备下的所有子设备分配公网IPv6,但是所有的孙子设备就获取不到了,应该是拨号的时候记住了设备号,然后是我的客户才能享受我的服务。


对于你的第三点,如果你的电脑能pingv6,那就说明电脑有v6地址,这也意味著手机热点会下发v6地址,这样你来你ping手机的v6地址应该热点区域网内一跳就到达了,说明不了什么东西(热点不禁icmp但wifi禁icmp也是可能的,我觉得至少该绕开安卓在linux层面测试)。

至于NAT,ipv6还是可以做NAT的,NAT后你获得的地址就是内网地址了,和外网地址是可以肉眼区分的(内网好像是fe开头)。

ipv6如果是公网的话,一般一个接入点只有一个,大家在校园网里总不能共享一个ipv6地址。

但是ipv6还有pd(prefix delegation),相当于接入点申请一片公网地址下发给下面的设备。这种情况下你的确还是能得到公网地址,但根据路由器端操作不对,外部可能会不认可你的地址。

事实上路由器也可以决定是否转发ipv6的包。

此外还有防火墙的因素别人也说了。icmp被禁了不意味著udp/tcp就会被禁,反之亦然。

我觉得你至少应该试试http://ipv6-test.com或者http://test-ipv6.com。

我给家里的路由器折腾过好几天ipv6,最后得出结论:这玩意儿太玄乎了,我玩不动,放弃。

blog.kompaz.win/2017/02/22/OpenWRT%20IPv6%20配置/?

blog.kompaz.win


首先,v6也有内网保留网段,请看一下分配的ipv6地址是以什么开头的,如果是fe80那么就是个ipv6内网,如果不是(教育网一般是2001开头),多半是外网,但可能有过滤。

另外,你说3成功1不成功,是很正常的,3情况下,作为直连设备,ping必然通。而1需要通过外网,如果ipv6无效,不会通。

最后,有些ipv6使用4to6隧道,所以有些情况会出现看似能用而连不上的问题。

ps:你的情况2我没有读明白,但是,任何正常的nat网关不会过滤ICMP包,只是不回答ping网关自己的包。


你这种情况估计是运营商有设置 IPv6 防火墙。

民用的宽频一般会禁止用户自己假设伺服器,运营商常见的做法是封禁常用服务的埠 (比如 80 443),但是也有通过防火墙来限制的。

至于 BT 下载为什么能连接,因为防火墙会在你主动向目标发送数据后允许目标发回数据,你和目标都通过 Tracker 伺服器知道了对方,两端都发送数据,于是两端的防火墙都被「打通」了,就可以互相收到数据了。


判断自己的 ip 地址是不是公网,去访问个公网的网址看显示的 ip 是不是与自己的 ip 一样就行了。至于你开放埠公网能不能访问到,那看你 ISP 有没有封你埠,属于另一回事。


在系统状态页面里查看「WAN口状态」的IP地址或广域网地址,再去一些IP检测网站(可以在百度直接搜索「IP」)获取你当前网路的IP是否和你在系统状态页里面查看的IP地址一致,如不一致则是私网IP(内网IP)、一致则是公网IP。


是公网的 但是ipv6的入站站被学校的路由器或者防火墙给拦截了 开热点的话应该是运营商的基站没有设置没有设置入站拦截 所以能通


教育网按说属于公网的一部分,应该可以被访问,但不是所有的IPv6设备都能被访问,因为都会有防火墙之类的设备对其限制访问,具体咋限制不清楚了。特别是手机的IPv6我还没有用过,没有收益运营商当然不会上心,所以猜想是移动运营商这边的限制。

报文是不是发出去了,是不是到达了,也许你可以用抓包软体抓包看看。


到处都是区域网,全是内网地址,没用啊!NAT不用的时候,应该就是公网了吧


推荐阅读:
相关文章