Help:Range blocks/zh


 * 参见以获取有关IPv6段封禁的信息. 

段封禁是通過Special:Block到一個群组的IP地址的技术限制, 以阻止它們进行编辑、创建新帐户、通过wiki介面发送电子邮件等. 若是你选了「」选项，那些从被封禁IP地址范围內連接的已注册用户会被阻止进行编辑.

要想讓Special:Block封禁一个IP段，输入段内的第一个IP地址，在末尾加一个斜线和一个无类别域间路由（CIDR）的后缀. '''你应该避免施行段封禁，除非你清楚了解你在做什么. 否則，最终你可能会错误地封禁上万甚至上百万无辜的人！'''

'''本文主要是讨论IPv4；而IPv6的段封禁工作原理也是类似，但牽涉的層面不同 - 請见/IPv6. '''



非技术说明
IP地址被拆分成多個-{zh-hant:數字;zh-hans:数;}-的區块. 其中的例子是 到. 一旦其达到 那么下一-{zh-hant:數字;zh-hans:数;}-是.

IP地址可以被拆分成更小或更大的區块. 實用的最小區块是裏面有4個的一個區塊. 它可以是下列之一：



每一个區块裏的4个，其中只有两个能被分配到计算机. 任何一个區块的第一个和最后一个都保留給网络通信. 下面有几种等級30(30 bit)的區塊，就像是这样：



下一个最大的區塊是8. 他们可以如下:



在这个區块中的8个中只有6个能被分配到计算机，同样地，由于一个區块的第一个和最后一个保留給网络通信的特殊用途. 它们同样可以表示如下：



以此類推，在一个區块裏的IP地址的数量持续翻倍：16, 32, 64, 128, 256,等等.


 * 16的區塊将从 开始.
 * 32的區塊将从 开始.
 * 64的區塊将从 开始.
 * 128的區塊将从 开始.
 * 256的區塊将从 开始.

所以如果你有一个IP地址，你想屏蔽一个以分配的区域那么如何知道哪一个被用了？ 假如 出现了问题. 你可以在http://arin.net/whois/?queryinput=148.20.57.34查找谁用的这个IP. 就假設它會告訴我們，說這個IP已经被分配了國防部，同时還有其他的LOT网络的用户都在 这个范围內. 我们当然不希望屏蔽國防部的大量區塊！ 經驗法則告訴我們，封禁的區塊越小越好！ 只有當一群IP地址都有問題時，才去封禁某個范围的IP.

这裏有一个十分有用的计算器：


 * ftools/general/ip-range-calc.html

进入这个网页并输入 進到區块的起始位. 然後选择「网络前缀长度」并输入 （这将提供一个包含32个地址的區块），然后单击「计算网络信息」. 这将會給我们一个包含 在內的32个IP地址的封禁. (第一個網路地址和最後一個廣播地址、以及範圍內的可用地址都會顯示出來. ) 在您输入信息启动區块之前，您可以使用该工具测试范围，以确保它们是您想要的.



技術說明
无类别域间路由(CIDR)标记法被记成IP位址、加上一個斜线、再加一個CIDR后缀(例如Pv4「 」或者IPv6「 」). CIDR后缀是每一个在这个范围内的IP地址以二进制表示时，從起始-{zh-hant:數字;zh-hans:数;}-起算，都是相同的个数.

例如：「 」的二进制是 ，所以 會匹配起始的27个-{zh-hant:數字;zh-hans:数;}-(「 」). 当IP地址 – 转换成二进制時，所有與 有相同的27個起始-{zh-hant:數字;zh-hans:数;}-的地址被會被屏蔽.

隨著CIDR后缀的增加，區块中的IP数会减少(參见 IP位址範圍表). CIDR后缀用於IPv6中的地址中與用於IPv4中不同. 相同CIDR后缀所屏蔽的IPv6地址数 $$2^{96}$$=79,228,162,514,264,337,593,543,950,336倍于IPv4.



计算CIDR后缀
你可以用下面的IP位址範圍表以估算范围，或是使用脚本、或是手动计算范围.



二进制转换
手动计算一个范围的第一步是转换首IP和尾IP成為二进制. (这假定你没有正在使用PC的脚本,反正它可以幫你计算范围就對了. ) 一个IP地址由4组的8個0與1二进制-{zh-hant:數字;zh-hans:数;}-所组成. 每一组代表从0到255中的某個数字. 转换一个数字到二进制，你可以查表或者知道每一个二进制数所代表的值：

从左到右依次进行，如果这个数大有于等于那个值，則填 然後减掉那个值(如果沒有，則填 并不要减). 例如，计算240：


 * 1) 240有大于等于128，所以填 然後减掉128.
 * 2) 112 (240-128) 有大于等于64，所以填 然後减掉64.
 * 3) 48(112-64)有大于等于32，所以填 然後减掉32.
 * 4) 16(48-32)有大于等于16，所以填 然後减掉16.
 * 5) 因为剩下的值是0，所以所有剩下的位子是.

因此, 240 表示为. 因为其可以被表示为 128+64+32+16+0+0+0+0.



计算IP段

 * 1) 将IP地址一个接一个排列下去，从开头数有多少位完全相同.  这是无类域间路由后缀
 * 2) 再次检查 一个数字可能关系到成千上万个地址.

下面举例，计算无类域间路由中的  和  之间的范围 注意, 这是一个简单的例子：某些 IP 地址不太适合无类型域间路由后缀, 需要用多个不同大小的数值来缩小范围.


 * IP位址:


 * 转换为二进制:


 * 计算第一个值:


 * 无类别域间路由的范围:



IP地址范围表
下表显示了每一个无类域间路由后缀对IPv4地址的影响. Note that MediaWiki only supports blocking CIDR suffixes 16 - 32 in IPv4 and 19 (formerly 64) - 128 in IPv6 by default (subject to ). IPv6段表请参见/IPv6.



默认限制
MediaWiki默认限制IPv4段封禁子网掩码不能超过/16（65536个IP地址）. 要阻止更大的封禁范围，需要在 中相应地设置.



已知問題
One important already-known problem caused by any range-block, is that as side-effect they also block some trusted registered groups, like wiki administrators, users who do not need to be patrolled by others, and trusted bots. 详情: T309328

参考资料

 * 无类别域间路由



外部链接

 * 子网掩码计算器辅助在IP段封禁中做出正确决策
 * Subnet Calculator can help calculate prefix length and subnet mask for IPv4 and IPv6.
 * ftools/general/ip-range-calc.html - 为您提供您在封禁时应该使用的IP段.
 * IPv4 and CIDR Calculator gives you a breakdown of Hosts and IP Range for any Given Mask/CIDR and reverse.