logo
GeekFormat

IPv6 工具箱

IPv6 展開 / 壓縮 / 分類

快速校驗 IPv6 位址,取得完整展開寫法、壓縮寫法、位址分類、反向nibble格式等。

處理結果

文件範例位址 (2001:db8::/32)
展開格式
2001:0db8:0000:0000:0000:0000:0000:0001
壓縮格式
2001:db8::1
位址分類
文件範例位址 (2001:db8::/32)

<p>IPv6工具箱是一款專為網路工程師、系統管理員和開發者設計的免費線上IPv6位址處理工具。隨著全球IPv4位址耗盡,IPv6已成為現代網路的標準協定,但IPv6位址長度是IPv4的4倍,書寫格式彈性複雜,零壓縮規則讓同一個位址有多種合法寫法,給網路設定、日誌排查、DNS設定和防火牆規則編寫帶來諸多困擾。</p><p>本工具支援三大核心功能:<strong>IPv6位址展開</strong>——將簡寫的壓縮位址還原為完整的8組4位十六進位格式,方便比對位址段和排查問題;<strong>IPv6標準壓縮</strong>——按照RFC 5952官方規範將完整位址壓縮為最優寫法,確保設定檔中位址格式統一規範;<strong>IPv6位址分類</strong>——自動識別位址類型(迴圈、鏈路本機、ULA、多播、文件、全球單播等),並標註用途和路由屬性。</p><p>無論是設定伺服器IPv6位址、編寫防火牆規則、分析網路日誌、規劃IPv6子網路,還是學習IPv6協定,GeekFormat IPv6工具箱都能幫您提高效率、減少人為錯誤。所有處理均在瀏覽器本機完成,不上傳任何資料,安全可靠。</p>

相關推薦

適用場景

  • 雙堆疊網路部署設定:在同時執行IPv4和IPv6的雙堆疊環境中,統一伺服器、路由器、負載平衡器上的IPv6位址書寫格式,避免因格式不一致導致的設定錯誤和連通性問題
  • 網路故障排查:分析防火牆、Nginx、Web伺服器日誌時,將日誌中的IPv6位址展開或壓縮後與設定檔比對,快速定位位址不匹配、路由錯誤等問題
  • DNS記錄設定:設定AAAA記錄、ip6.arpa反向解析記錄時,將IPv6位址轉換為標準格式,確保DNS記錄格式正確、反向解析nibble格式準確
  • 防火牆規則編寫:編寫ip6tables、nftables、雲端安全群組規則時,將IPv6位址和CIDR前置碼標準化,避免因零壓縮寫法不同導致規則匹配失效
  • IPv6子網路規劃:進行企業網路IPv6位址規劃時,驗證位址前置碼長度(/48站點、/64子網路、/128單機)是否正確,確認網段類型和用途
  • 程式開發除錯:開發支援IPv6的網路應用程式時,校驗程式碼中處理的IPv6位址格式是否正確,處理URL中[IPv6]:port格式的解析問題
  • Docker/K8s容器網路:排查容器IPv6網路連通性問題,識別容器的鏈路本機位址、全球單播位址,驗證Docker IPv6網路設定正確性
  • 教學演示與學習:學習IPv6協定時,直觀理解零壓縮規則、位址分類、前置碼表示法,透過實例觀察位址展開和壓縮的變化規律
  • 安全稽核與日誌分析:安全分析時,批次比對不同日誌來源的IPv6位址寫法,將各種簡寫格式統一為完整格式後進行關聯分析
  • 文件編寫標準化:編寫技術文件、設定手冊、API文件時,將IPv6位址統一轉換為RFC 5952標準格式,提升文件專業性和一致性

功能特點

  • IPv6位址展開:將壓縮格式(如2001:db8::1)展開為完整8組十六進位格式(2001:0db8:0000:0000:0000:0000:0000:0001),方便日誌比對和位址段分析
  • RFC 5952標準壓縮:智慧選擇最長連續零段進行::壓縮,自動處理前導零省略,輸出符合IETF官方規範的標準格式,避免設定不一致
  • 智慧位址分類:自動識別7種IPv6位址類型——迴圈位址::1、鏈路本機fe80::/10、唯一本機fc00::/7、多播ff00::/8、文件位址2001:db8::/32、全球單播、無效位址
  • 格式校驗與錯誤提示:即時偵測IPv6位址格式錯誤,包括::出現多次、分組超過4位十六進位、非法字元、組數錯誤等問題並給出明確錯誤原因
  • IPv4對映位址識別:自動識別IPv4對映的IPv6位址(如::ffff:192.0.2.1),區分雙堆疊環境中的相容位址類型
  • CIDR前置碼解析:支援帶前置碼長度的IPv6位址(如2001:db8::/32),識別前置碼長度並標註網路位址範圍用途
  • 一鍵複製結果:壓縮格式、展開格式、分類結果均可一鍵複製,直接貼上到設定檔、防火牆規則或指令稿中使用
  • 批次歷史記錄:自動記錄最近處理的IPv6位址,方便反覆比對和除錯網路設定時快速切換
  • 即時處理無需等待:純瀏覽器本機JavaScript處理,無需上傳位址到伺服器,保護敏感網路拓撲資訊,輸入即出結果
  • 多格式輸入相容:支援貼上壓縮格式、展開格式、帶CIDR後綴、帶連接埠號([::1]:8080格式)、IPv4對映格式等多種常見寫法
  • 位址用途說明:分類時同時給出該類型位址的用途說明、是否可路由、適用場景,幫助新手理解IPv6位址規劃
  • 零安裝純網頁:無需下載任何軟體,打開瀏覽器即可使用,支援Windows/macOS/Linux全平台,手機端也可正常使用

使用方法

  1. 打開IPv6工具箱頁面,在輸入框中貼上或輸入您需要處理的IPv6位址。支援壓縮格式(如2001:db8::1)、完整格式(如2001:0db8:0000:0000:0000:0000:0000:0001)、帶CIDR前置碼格式(如2001:db8::/32)、帶連接埠格式(如[::1]:8080)、IPv4對映格式(如::ffff:192.168.1.1)等多種輸入形式。
  2. 輸入完成後工具會自動即時處理,無需點擊按鈕。如果位址格式有錯誤,會立即顯示紅色錯誤提示,說明具體錯誤原因(如::出現多次、分組超過4位、非法字元等),方便您修正輸入。
  3. 查看「展開格式」結果:這裡顯示IPv6位址的完整形式,8組每組4位十六進位數,前導零補齊,零壓縮的部分全部還原為連續的0000,便於逐段比對位址。
  4. 查看「標準壓縮格式」結果:這裡是按照RFC 5952規範輸出的最優壓縮格式,自動選擇最長連續零段進行壓縮,省略不必要的前導零,這是設定檔和文件中建議使用的標準寫法。
  5. 查看「位址分類」區域:工具會自動識別該位址屬於哪種類型,顯示類型名稱、前置碼範圍、範例位址、是否可在公網路由、典型用途等資訊。常見類型包括迴圈位址、鏈路本機位址、唯一本機位址(ULA)、多播位址、文件範例位址、全球單播位址等。
  6. 如果輸入包含CIDR前置碼長度(如/64),工具會額外標註該前置碼的典型用途(如/64為標葉子網路、/48為站點分配、/128為單機位址)以及該網段包含的位址數量參考。
  7. 點擊各結果區域右側的「複製」按鈕,即可將對應格式的IPv6位址一鍵複製到剪貼簿,直接貼上到終端、設定檔、DNS管理介面或程式碼中使用,避免手動輸入錯誤。

常見問題

IPv6位址中間有兩個冒號::是什麼意思?

::是IPv6的零壓縮(Zero Compression)簡寫規則,用來代替一組或多組連續的全零(0000)。例如完整位址2001:0db8:0000:0000:0000:0000:0000:0001中間有6組連續的零,可以寫成2001:db8::1,大大縮短位址長度。注意規則:一個IPv6位址中::只能出現一次,否則會產生歧義;::可以在開頭、中間或結尾。迴圈位址是::1(壓縮了前面7組零),未指定位址就是::(全部8組都是零)。

為什麼我一個網卡有好幾個IPv6位址?

這是正常現象。IPv6網路介面通常有多個位址:①一個鏈路本機位址(fe80::開頭,自動生成,用於底層通訊);②一個或多個全球單播位址(公網位址,透過SLAAC或DHCPv6獲取);③如果啟用了隱私擴充(Windows/Linux/macOS預設啟用),還會有臨時位址(隨機生成,定期更換,用於對外連線保護隱私);④可能還有複數前置碼對應的位址(例如同時接入多個網路,或者有多個IPv6前置碼)。在伺服器上通常建議關閉隱私擴充,使用固定穩定的位址便於管理。

fe80::開頭的位址為什麼不能跨網段存取?為什麼ping的時候要加%eth0?

fe80::/10是鏈路本機位址,設計上就是僅在本機二層鏈路(同一個交換機、同一個WiFi網路、同一個廣播域)有效,路由器<strong>絕對不會</strong>轉發來源位址或目的位址是鏈路本機的資料包,所以天生就不能跨網段存取。至於加%eth0(或者叫zone id、scope id),是因為每個介面都會自動生成自己的鏈路本機位址,多個介面可能都有fe80::開頭的位址,如果不指定從哪個介面發出,作業系統不知道該往哪個網卡送,所以存取鏈路本機位址時必須帶%介面名。這個%後面的部分只在本機有意義,不是位址本身的一部分。

IPv6子網路為什麼推薦都是/64?可以用更長的前置碼嗎?

/64是IPv6標葉子網路長度,主要原因是SLAAC(無狀態位址自動設定)硬性要求子網路前置碼必須是64位——因為SLAAC用EUI-64或穩定隱私演算法生成64位介面識別符,前置碼64位+介面ID64位正好128位。如果用比/64更長的前置碼(如/80、/96、/112),SLAAC無法正常工作。雖然/127用於路由器點對點互聯(RFC 6164推薦)、/128用於環回位址是常見例外,但使用者網段、乙太網段、VLAN等都應該用/64。而且/64有2⁶⁴個位址(約1800億億個),根本用不完,沒有必要劃更小的子網路節省位址。

IPv6還需要NAT嗎?為什麼我聽說有NAT66?

IPv6設計的初衷之一就是廢除NAT,因為位址空間足夠大,每個裝置都可以擁有公網位址,恢復端對端連線。但實際部署中,NAT66(IPv6到IPv6的NAT,前置碼轉換)仍然有使用場景,比如多ISP多宿主時不使用BGP而用NAT做冗餘、企業隱藏內部網路結構等。但NAT66遠沒有IPv4的NAPT那樣普遍,也不需要做連接埠位址轉換,而且IPv6端對端可達是主流方向。NAT64則是另一種東西,用於純IPv6網路存取IPv4資源的過渡。

IPv6中的預設閘道位址是什麼?為什麼是fe80::開頭?

IPv6的預設閘道(下一跳)位址通常是<strong>路由器的鏈路本機位址(fe80::開頭)</strong>,而不是像IPv4那樣是同網段的一個公網位址。這是因為路由器透過NDP路由器通告(RA)訊息發送自己的鏈路本機位址作為閘道,主機收到後自動新增預設路由指向這個fe80::位址。這是正常的,鏈路本機位址作為下一跳完全可以工作,因為路由查詢下一跳後,只需要在本機鏈路解析該位址的MAC位址即可轉發,不要求閘道和主機同網段公網位址。

::ffff:192.168.1.1這種位址是什麼?

這是<strong>IPv4對映的IPv6位址(IPv4-Mapped IPv6 Address)</strong>,格式是::ffff:後面接IPv4位址。它用在雙堆疊通訊端上:當一個IPv6 socket繫結::並開啟IPv6-on時,它不僅接受IPv6連線,來自IPv4的連線也會被接受,並且來源位址會顯示為::ffff:IPv4位址這種形式。例如192.168.1.1連線到伺服器,伺服器上看到的用戶端位址就是::ffff:192.168.1.1。注意不要和已廢棄的IPv4相容位址(::直接加IPv4,沒有ffff:)混淆。

IPv6位址大小寫有關係嗎?2001:DB8::1和2001:db8::1是同一個位址嗎?

是同一個位址,IPv6位址中的十六進位字母a-f大小寫不敏感,2001:DB8::1、2001:Db8::1、2001:db8::1在網路層面完全等價。但是RFC 5952(IPv6位址文字表示規範)推薦使用小寫字母,本工具的標準壓縮輸出也會統一轉換為小寫,保證格式一致。

為什麼IPv6沒有廣播位址?ARP怎麼處理?

IPv6取消了二層廣播,所有廣播功能都用<strong>多播(Multicast)</strong>實現,這大大減少了網路中的廣播風暴,提升了效率。IPv4中的ARP(位址解析協定,透過廣播問「誰是192.168.1.1請告訴我你的MAC」)在IPv6中被<strong>NDP(鄰居發現協定,Neighbor Discovery Protocol)</strong>取代,NDP使用ICMPv6報文和請求節點多播位址(solicited-node multicast address,ff02::1:ffxx:xxxx)來解析鄰居MAC位址,只有被請求的節點才會處理該多播,不會打擾網段上所有主機。

如何判斷我的網路有沒有IPv6?

幾種方法:①存取test-ipv6.com等網站檢測;②在命令列輸入ip -6 addr(Linux)、ifconfig(macOS/Linux)或ipconfig(Windows)查看網卡有沒有以2開頭或者fe80開頭的IPv6位址(只有fe80不算有IPv6公網);③ping6 2001:4860:4860::8888(Google IPv6 DNS)或ping 240c::6666(中國網際網路資訊中心IPv6 DNS),能通說明有公網IPv6連線;④存取支援IPv6的網站(如ipv6.google.com、www.6box.cn)。家庭使用者需要數據機和路由器都開啟IPv6,ISP開通服務才能使用。

IPv6位址中的%是什麼意思?比如fe80::1%eth0

%後面的部分叫<strong>區域ID(Zone ID)或範圍ID(Scope ID)</strong>,用來標識該位址所在的網路介面,主要用在鏈路本機位址(fe80::)等有本機範圍的位址上。因為每個介面都有自己的鏈路本機位址,同一個fe80::1在eth0和wlan0上可能是不同的路由器,所以需要%eth0指定從哪個介面發送。Zone ID只在本機有意義,不能跨裝置使用,不是IPv6位址本身的一部分——位址本身還是fe80::1。在寫設定檔、日誌分析、跨裝置使用時應該去掉%後面的部分。

IPv6反向DNS怎麼設定?nibble格式是什麼?

IPv6反向解析在ip6.arpa網域下,使用nibble格式:首先把IPv6位址展開為完整8組(不能有::省略),得到32個十六進位字元;然後把這32個字元<strong>完全倒序</strong>排列,每個字元之間用點分隔;最後加上.ip6.arpa後綴。例如2001:db8::1展開後是20010db8000000000000000000000001,倒序就是1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.2.ip6.arpa。這個過程很容易數錯零,建議使用本工具的展開格式輔助。反向DNS通常需要ISP給您授權對應前置碼的ip6.arpa子網域才能設定PTR記錄。

ULA(fc00::/7)和鏈路本機(fe80::/10)有什麼區別?

兩者都不是公網位址但用途不同:①鏈路本機fe80::/10:每個介面自動生成,僅在單個二層鏈路有效,不能跨路由器轉發,不需要路由設定,用於NDP、DHCPv6、路由協定鄰接等底層通訊,就像裝置的「本機身份證」;②ULA fc00::/7(實際用fd00::/8):是類似IPv4私有位址的網段,可以在企業內部跨VLAN、跨路由、跨站點路由,但不能在公網網際網路路由,用於企業內部通訊,相當於IPv6的10.0.0.0/8,需要手動設定或透過DHCPv6分配,需要內部路由支援。一個是「同一房間內交談」,一個是「公司內部溝通」,公網位址是「全球通訊」。

為什麼IPv6防火牆不能像IPv4那樣禁掉ICMP?

IPv6對ICMPv6的依賴程度遠遠高於IPv4對ICMPv4的依賴。IPv4中你可以遮罩大部分ICMP(除了PMTU可能會有點問題)還能正常工作,但<strong>IPv6絕對不能一刀切丟棄ICMPv6</strong>——因為ICMPv6承載了NDP鄰居發現(替代ARP,沒有它同網段都無法通訊)、路由器通告RA(SLAAC自動設定獲取前置碼和閘道)、PMTU路徑MTU發現(沒有它大會丟且無法重傳)、目的地不可達、資料包太大等關鍵功能。如果ip6tables規則把ICMPv6全DROP了,會出現各種奇怪的網路問題(能ping通小資料但大資料不通、能獲取位址但上不了網等)。正確做法是允許必要的ICMPv6類型。

2001:db8::這個位址段為什麼到處出現在範例裡?能真實使用嗎?

2001:db8::/32是RFC 3849專門保留用於文件、書籍、教學、範例程式碼、測試環境的前置碼,就像IPv4中的192.0.2.0/24(TEST-NET-1)、198.51.100.0/24、203.0.113.0/24一樣。任何人都可以在文件、教學、部落格中自由使用這個前置碼寫範例位址,不用擔心與真實公網位址衝突——因為所有路由器都不會在公網路由2001:db8::/32這個段。所以你不能把2001:db8::位址設定在真實網路裝置上用於通訊,它僅用於範例說明。本工具文件中的所有IPv6範例位址都使用這個保留段。

术语表

IPv6
網際網路協定第6版,IETF設計的下一代IP協定,使用128位位址長度,解決IPv4位址耗盡問題,內建安全、QoS、自動設定等特性,是現代網際網路的基礎協定。
IPv4
網際網路協定第4版,使用32位位址長度,理論約43億位址,1983年投入使用至今,目前仍與IPv6雙堆疊執行,2019年全球位址已分配耗盡。
CIDR
無類別網域間路由(Classless Inter-Domain Routing),IP位址表示方法,格式為位址/前置碼長度(如2001:db8::/32),替代傳統的A/B/C類位址劃分,提高路由效率。
前置碼長度
CIDR表示法中斜槓後的數字,表示IP位址前多少位是網路位。IPv6前置碼長度0-128,常見值/128(單機)、/64(子網路)、/48(站點)、/32(ISP)。
零壓縮
IPv6位址簡寫規則,連續的一組或多組全零(0000)可以用雙冒號::代替,但一個位址中::只能出現一次,大大縮短IPv6位址書寫長度。
RFC 5952
IETF發布的IPv6位址文字表示規範,定義了推薦的標準壓縮格式(小寫、省略前導零、壓縮最長零段、不壓縮單個零等),確保同一位址只有一種規範寫法。
全球單播
Global Unicast,可在全球網際網路路由的公網IPv6位址,相當於IPv4公網位址,通常以2000::/3開頭,用於網際網路通訊。
鏈路本機
Link-Local,fe80::/10前置碼的位址,僅在本機二層鏈路有效,路由器不轉發,每個IPv6介面自動設定,用於NDP鄰居發現、DHCPv6、路由協定等底層通訊。
唯一本機位址(ULA)
Unique Local Address,fc00::/7前置碼,相當於IPv4私有位址,僅在組織內部路由,不能在公網路由,用於企業內部網路,fd00::/8段實際使用。
多播
Multicast,ff00::/8前置碼,一對多通訊,資料包發送給加入多播組的所有介面,替代IPv4廣播,用於路由協定、服務發現、串流媒體等場景。
任播
Anycast,多個節點設定同一個位址,資料包路由到最近的節點,用於CDN、DNS根伺服器、負載平衡,從位址格式上無法與單播區分。
迴圈位址
Loopback位址,IPv6中是::1/128,相當於IPv4的127.0.0.1,節點發給自己的位址,用於本機測試和程序間通訊,不會出現在網路上。
未指定位址
::/128,相當於IPv4的0.0.0.0,表示位址不存在/未指定,節點啟動時或繫結所有介面時使用。
SLAAC
無狀態位址自動設定(Stateless Address Autoconfiguration),IPv6特有功能,用戶端根據路由器通告的前置碼自動生成位址,無需DHCP伺服器,要求子網路前置碼必須是/64。
雙堆疊
Dual Stack,裝置同時執行IPv4和IPv6協定堆疊,同時擁有兩種位址,根據應用程式和DNS選擇協定,是目前最主流的IPv4到IPv6過渡方案。
NAT64
IPv6/IPv4過渡技術,讓純IPv6節點能夠存取IPv4資源,透過在網路邊界進行位址轉換,配合DNS64將A記錄合成AAAA記錄。
4to6
泛指IPv4到IPv6的各種過渡和隧道技術,如4in6、DS-Lite、MAP-T等,用於在過渡期實現兩種協定的互通。
nibble
半位元組,4位二進位,對應一個十六進位字元。IPv6反向解析採用nibble格式,將32個十六進位字元倒序後新增.ip6.arpa後綴。
ip6.arpa
IPv6反向DNS解析網域,IPv4反向網域是in-addr.arpa,IPv6是ip6.arpa,透過nibble格式建構PTR記錄。
EUI-64
IEEE 64位擴充唯一識別符,由48位MAC位址轉換為64位介面ID的方法(在MAC中間插入FFFE,並反轉U/L位),SLAAC自動設定位址時使用,存在隱私問題。

IPv6位址類型對照表

IPv6常用前置碼長度參考

IPv4 vs IPv6對比

Troubleshooting