背景介紹:
我們學校校園網支持ipv6,屬於教育網網段。我的手機(聯通)流量也支持ipv6。
做了幾個實驗:
- 電腦連接校園網,手機開流量,電腦ping手機的ipv6地址,超時。
- 電腦連接校園網,手機開流量,電腦ping手機的ipv4地址。(由於聯通使用了NAT,所以ping百度「ip」所得到的地址)超時。這一步大概確認聯通的NAT出口屏蔽了ICMP消息。
- 手機開流量,電腦連接手機的熱點。此時,ping手機的ipv6,成功。
- 電腦連校園網,手機也連校園網。電腦ping手機的ipv4,成功。(由於安卓的wifi沒辦法獲取到v6,就沒ping v6)。這步主要確認不是手機無法接受ping消息。
- 做上述實驗的起因是我用ut下載東西,能連上對方,然而ping不通。(這個可能是因為對方防火牆過濾了ICMP消息?)但是有時候就直接連接不上對方,雖然pt站網頁顯示有人ipv6做種。
我的問題是,ipv6不是不存在內網這一說法嗎?也就是所有ip都是公網的。如果是這樣,為什麼3可以成功而1不成功?
問題有點長,謝謝各位能看到這裡,也提前感謝諸位大佬的解答(?????)
要判斷是不是內網, 最容易做的事情就是看你拿到的 IP 是不是 2000:/3 這個所謂 Global Unicast Address 地址範圍.
IPv6 放棄了 IPv4 的 DHCP 有狀態地址分配方案, 最推薦的地址分配方案是 SLAAC 的地址分配, 也就是你的路由器基於 NDP(ICMPv6) 廣播自己的路由, 然後別的設備根據自己的 mac 地址去填充這個路由下的地址後綴部分得到完整的地址. 當然也會選擇完全隨機的方式去生成隨機地址.
而因為沒有 NAT, 這個時候路由器就需要額外方法保護內網設備. 最簡單的方法就是用有狀態防火牆. 根據你的說法可以知道:
- 內網-&>外網能用 ICMPv6 echo, 說明路由器為本身無狀態的 ICMPv6 echo 建立了一個狀態, 允許雙向放行
- 內網&
實踐上說,目前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埠沒測。