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地址的一个覆蓋上另一个，然後从开头数有多少個是完全相同的.  这就是CIDR的后缀-{zh-hant:數字;zh-hans:数;}-.
 * 2) 再次检查！ 差了一个数字可能造成你的區塊擴增了幾千个地址.

下面举例，计算從 和 之间的CIDR段. 注意, 这是一个简单的例子：某些IP地址郡組沒有那麼剛好符合CIDR的后缀, 需要用多个不同大小的區塊来屏蔽確切的段.


 * IP位址:


 * 转换为二进制:


 * 计數最前面的相同-{zh-hant:數字;zh-hans:数;}-:


 * CIDR的范围:



IP地址范围表
下表显示了每个CIDR后缀所影响的IPv4區块. 请注意，MediaWiki默认只支持屏蔽 IPv4 中的CIDR后缀16~32和IPv6中的19（以前是64）~128（受限制）. IPv6段表请参见/IPv6.



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



已知問題
任何范围封锁都会造成一个众所周知的重要问题，那就是作为副作用，它们也会封锁一些受信任的注册群组，如维基管理员、不需要他人巡查的用户、和受信任的机器人. 详情: T309328

参考资料

 * 无类别域间路由



外部链接

 * 子网掩码计算器有助於在IP段封禁中做出正确决策.
 * 子网计算器可帮助计算IPv4和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.