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

进入这个网页并输入 進到區块的起始位. Now select Network Prefix Length and enter  (this will give a block of 32 addresses) and click Calculate Network Information. 这将向我们显示一个包含32个IP地址的封禁，其中包括. (The first - network - and the last - broadcast - addresses will be displayed along with the usable addresses in the range.) You can use this tool to test ranges to be sure they are what you want before entering the information to initiate the block.



技术性解释
无类别域间路由(CIDR)标记法被记成IP/CIDR后缀(例如Pv4 " "或者IPv6 " "). CIDR后缀是在这个范围内的每一个IP地址以二进制表示时高位数起具有相同数的位的个数

例如： " " 二进制是 ，所以 将匹配高位起27个数(" "). IP地址 – 当转换成二进制，所有地址都有相同的27位高位数. 如果被屏蔽那么它们都被屏蔽.

如果CIDR后缀增加，块中的IP数会减少(见 table of sample ranges). 相同CIDR后缀的IPv6中的地址数和IPv4中的不同. IPv6的地址数$$2^{96}$$=79,228,162,514,264,337,593,543,950,336倍于IPv4.



计算CIDR后缀
你可以用table of sample ranges以估算范围，用脚本或手动计算这个范围.



二进制转换
第一步手动计算一个范围的首IP和尾IP以二进制表示出来. (这假定你没使用脚本,总之可以大概计算范围. ) 一个IP地址有4组8位二进制数组成. 每一组代表一个从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.