用戶:Cwek/論述/IPv6封鎖

從「用戶:意面混凝土」用IPv6發言和跳臉的事,對於IPv6封鎖的一些看法:

IPv6的設計理念,允許了一個接入戶後面存在一個有多個終端用戶的子網,加上SLAAC機制,意味着一個接入戶通過ISP接入互聯網時,不像IPv4那樣只有一個「公共」(還包括NAT444,雖然對於只對外訪問的接入戶來說,沒差別)地址,然後依靠NAT來給內部子網提供對互聯網訪問,其獲得的IPv6地址是一個,而且普遍物理層是以太網體系的情況下,一般是至少/64的子網長度(在以太網體系及SLACC機制下,子網下主機號生成是通過EUI-64將一個48位的鏈路層MAC地址擴展為64位的網絡層IPv6主機位,也就限定了網絡號至少要預留64位,即/64;一來很少有ISP會摳門到劃分小於/64的地址段,這樣會無法實現SLAAC功能;二來更可能會給更大的地址段,例如/60,/58,/56等,方便接入戶給其內部大網進一步劃分小子網)。也就是一個時間段內,一個破壞者直接使用互聯網接入來「破壞」維基百科時,他的IPv6地址一般會在這個/64段範圍內,所以如果短時間內要阻止其跳腳的話,封一個/64是最有效的選擇。參見mw:Help:Range_blocks/IPv6
另一方面,其用到的2001:B011:3811:29D0:B21D:7B06:FFCC:1C1C、2001:B011:3811:2DF1:619A:DF44:757A:2F16、2001:B011:3811:29D0:B21D:7B06:FFCC:1C1C,按照範圍計算是在2001:b011:3800::/43;而根據whois,地址段屬於台灣中華電信(HiNET),為2001:b011:3800::/37。根據以往一些「工具」使用情況的觀察,HiNET的whois信息似乎不容易區分家庭接入戶還是數據中心接入(而且在mw的IPInfo功能信息——這是對接maxmind的GeoIP2數據庫,是歸類為「家庭」網絡)。另外meta的NOP中基金會撰文提過由於P2P型VPN(可以基於家庭網絡)對於限制Proxy的困難,也就是存在某些Proxy供應商可以利用P2P網絡工具,借用這些家庭類型網絡的IPv6地址段來作為訪問出口;甚至也存在利用一個IPv6地址段為不同的用戶或者程序進程分配不同的IPv6來源地址,來實現規避單一地址封鎖的情況。
基於以上,針對IPv6對於接入戶的地址段特性,建議管理員在封鎖IPv6地址,可以考慮優先按照/64段範圍封鎖,因為大部分情況下,這一般是一個接入戶(如果破壞者躲在這個接入戶之中)的IPv6地址範圍。考慮到一些無法區分家庭網絡地址和數據中心地址(後者更常用於做常見形式的Proxy,前者則有可能用於P2P型或者來源地址變動型的Proxy)的網絡地址段,可以考慮適當擴大封禁範圍(上面文中提及,64~48是常見於分配給單一接入終端用戶的地址範圍,47~33常見於一般組織申請的地址範圍),而不需要像IPv4那樣只封鎖一個(/32)地址來避免誤傷情況