虚拟机的IP地址

虚拟机的IP地址,ip,Ip,我正试图阻止几个IP: 它们总是从154.10*. 因此它们可能是154.101.*.*.或154.102.*.*.等 我正在努力理解IP块 154.0.0.0/8似乎太宽泛了。我想缩小到154.10* 我该怎么做?快速回答 使用子网计算器(如和)将其分解为三个子网 154.100.0.0/14 (154.100.0.0 - 154.103.255.255) 154.104.0.0/14 (154.104.0.0 - 154.107.255.255) 154.108.0.0/15 (154.10

我正试图阻止几个IP:

它们总是从
154.10*.

因此它们可能是
154.101.*.*.
154.102.*.*.

我正在努力理解IP块

154.0.0.0/8
似乎太宽泛了。我想缩小到154.10*

我该怎么做?

快速回答 使用子网计算器(如和)将其分解为三个子网

154.100.0.0/14 (154.100.0.0 - 154.103.255.255)
154.104.0.0/14 (154.104.0.0 - 154.107.255.255)
154.108.0.0/15 (154.108.0.0 - 154.109.255.255)
长话短说 CIDR斜线符号表示子网掩码中的1数。为了进行路由,子网掩码为N个1,紧接着是M个0,N+M=32

/1 is  10000000 00000000 00000000 00000000 or 128.0.0.0
/8 is  11111111 00000000 00000000 00000000 or 255.0.0.0
/16 is 11111111 11111111 00000000 00000000 or 255.255.0.0
/24 is 11111111 11111111 11111111 00000000 or 255.255.255.0
/32 is 11111111 11111111 11111111 11111111 or 255.255.255.255
(请注意,我将每个八位字节分组为8个字节,因此使用术语“八位字节”)

请注意,CIDR表示法的0后面不能有1。可能存在允许此类子网掩码的应用程序(防火墙中的某些ACL允许),但至少就路由而言,据我所知,这是不允许的

子网位与IP地址位匹配。如果子网位为0,则允许该位位置的IP地址中的任何内容(该位为通配符)

回到你的问题,如果我们有
154.10*
,那么我们正在寻找这个范围内的IP:

154.100.0.0 - 154.109.255.255
其二进制表示为:

     154      100        0        0
10011010 01100100 00000000 00000000

因此,现在将重点放在位匹配范围的二进制上(如果两个字节相同,则输出1;如果两个字节不同,则输出0;基本上是一个反向异或,也称为XNOR

但这里有一个问题:这不是标准的CIDR子网。正如我在上面提到的,大多数系统/应用程序都不接受这一点,并且不能将其转换为斜杠符号。如果您正在编写自己的应用程序,您当然可以支持这种类型的值来过滤复杂的IP地址块。如果您的系统/应用程序支持255.246.0.0,那么您就完成了

如果要获得最近的标准CIDR子网,只需从左侧开始计算1的位数,直到达到零,然后截断其余的位数:

/12 is 11111111 11110000 00000000 00000000 or 255.240.0.0
现在要找出这个掩码的起始位置,您需要将它们一起(如果两个位都是1,则输出1,否则输出0):

要确定范围的终点,您需要将子网和一起反转(如果IP位或子网位为1,则输出1):

因此,
154.96.0.0/12
是覆盖您所需范围的最接近的标准CIDR子网。不幸的是,它还覆盖了您期望目标之外的一些范围(
154.96.0.0-154.111.255.255

如果绝对必须将其锁定为仅
154.100.0.0-154.109.255.255
,则必须创建多个子网块

您需要的是构建一系列子网,以匹配其间的每个值:

10011010 01100100 00000000 00000000 154.100.0.0
10011010 01100101 00000000 00000000 154.101.0.0
10011010 01100110 00000000 00000000 154.102.0.0
10011010 01100111 00000000 00000000 154.103.0.0
^^^^^^^^ ^^^^^^     <- 14 bits match
现在继续

10011010 01101000 00000000 00000000 154.104.0.0
10011010 01101001 00000000 00000000 154.105.0.0
10011010 01101010 00000000 00000000 154.106.0.0
10011010 01101011 00000000 00000000 154.107.0.0
^^^^^^^^ ^^^^^^     <- 14 bits match
最后

10011010 01101100 00000000 00000000 154.108.0.0
10011010 01101101 00000000 00000000 154.109.0.0
^^^^^^^^ ^^^^^^^    <- 15 bits match
因此,我们将范围
154.100.0.0-154.109.255.255
分为三个有效子网:

154.100.0.0/14 (154.100.0.0 - 154.103.255.255)
154.104.0.0/14 (154.104.0.0 - 154.107.255.255)
154.108.0.0/15 (154.108.0.0 - 154,109.255.255)
快速回答 使用子网计算器(如和)将其分解为三个子网

154.100.0.0/14 (154.100.0.0 - 154.103.255.255)
154.104.0.0/14 (154.104.0.0 - 154.107.255.255)
154.108.0.0/15 (154.108.0.0 - 154.109.255.255)
长话短说 CIDR斜线符号表示子网掩码中的1数。为了进行路由,子网掩码为N个1,紧接着是M个0,N+M=32

/1 is  10000000 00000000 00000000 00000000 or 128.0.0.0
/8 is  11111111 00000000 00000000 00000000 or 255.0.0.0
/16 is 11111111 11111111 00000000 00000000 or 255.255.0.0
/24 is 11111111 11111111 11111111 00000000 or 255.255.255.0
/32 is 11111111 11111111 11111111 11111111 or 255.255.255.255
(请注意,我将每个八位字节分组为8个字节,因此使用术语“八位字节”)

请注意,CIDR表示法的0后面不能有1。可能存在允许此类子网掩码的应用程序(防火墙中的某些ACL允许),但至少就路由而言,据我所知,这是不允许的

子网位与IP地址位匹配。如果子网位为0,则允许该位位置的IP地址中的任何内容(该位为通配符)

回到你的问题,如果我们有
154.10*
,那么我们正在寻找这个范围内的IP:

154.100.0.0 - 154.109.255.255
其二进制表示为:

     154      100        0        0
10011010 01100100 00000000 00000000

因此,现在将重点放在位匹配范围的二进制上(如果两个字节相同,则输出1;如果两个字节不同,则输出0;基本上是一个反向异或,也称为XNOR

但这里有一个问题:这不是标准的CIDR子网。正如我在上面提到的,大多数系统/应用程序都不接受这一点,并且不能将其转换为斜杠符号。如果您正在编写自己的应用程序,您当然可以支持这种类型的值来过滤复杂的IP地址块。如果您的系统/应用程序支持255.246.0.0,那么您就完成了

如果要获得最近的标准CIDR子网,只需从左侧开始计算1的位数,直到达到零,然后截断其余的位数:

/12 is 11111111 11110000 00000000 00000000 or 255.240.0.0
现在要找出这个掩码的起始位置,您需要将它们一起(如果两个位都是1,则输出1,否则输出0):

要确定范围的终点,您需要将子网和一起反转(如果IP位或子网位为1,则输出1):

因此,
154.96.0.0/12
是覆盖您所需范围的最接近的标准CIDR子网。不幸的是,它还覆盖了您期望目标之外的一些范围(
154.96.0.0-154.111.255.255

如果绝对必须将其锁定为仅
154.100.0.0-154.109.255.255
,则必须创建多个子网块

您需要的是构建一系列子网,以匹配其间的每个值:

10011010 01100100 00000000 00000000 154.100.0.0
10011010 01100101 00000000 00000000 154.101.0.0
10011010 01100110 00000000 00000000 154.102.0.0
10011010 01100111 00000000 00000000 154.103.0.0
^^^^^^^^ ^^^^^^     <- 14 bits match
现在继续

10011010 01101000 00000000 00000000 154.104.0.0
10011010 01101001 00000000 00000000 154.105.0.0
10011010 01101010 00000000 00000000 154.106.0.0
10011010 01101011 00000000 00000000 154.107.0.0
^^^^^^^^ ^^^^^^     <- 14 bits match
最后

10011010 01101100 00000000 00000000 154.108.0.0
10011010 01101101 00000000 00000000 154.109.0.0
^^^^^^^^ ^^^^^^^    <- 15 bits match
因此,我们将范围
154.100.0.0-154.109.255.255
分为三个有效子网:

154.100.0.0/14 (154.100.0.0 - 154.103.255.255)
154.104.0.0/14 (154.104.0.0 - 154.107.255.255)
154.108.0.0/15 (154.108.0.0 - 154,109.255.255)