背景介紹:

我們學校校園網支持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不用的時候,應該就是公網了吧


推薦閱讀:
相关文章