CIDR 表示和 IP 范围即时相互转换
CIDR/IP 范围转换只需 3 步:
CIDR/IP 范围转换器可在各种网络管理场景中使用:
在防火墙或访问控制列表(ACL)设置中指定允许/拒绝的 IP 地址范围时,经常需要 CIDR 表示。例如想允许从 192.168.1.0 到 192.168.1.255 的访问,通过 IP 范围 → CIDR 转换可获得「192.168.1.0/24」这个 CIDR 表示。相反,要确认现有 CIDR 规则「10.0.0.0/16」实际覆盖哪个 IP 地址范围,CIDR → IP 范围转换很有用。
在 AWS、Azure、GCP 等云环境中,安全组或网络 ACL 设置使用 CIDR 表示。想只允许来自特定办公室或数据中心的访问时,需要将该 IP 范围转换为 CIDR 表示。例如可将公司 IP 范围「203.0.113.0 - 203.0.113.127」转换为 CIDR 表示「203.0.113.0/25」,设置到安全组规则。
设计企业网络或数据中心时,需要将整个 IP 地址空间适当地分配给各部门或服务。使用 CIDR → IP 范围转换,可确认各 CIDR 块(例: 10.0.1.0/24, 10.0.2.0/24)实际能支持多少个主机。另外从现有 IP 范围导出最优 CIDR 块,可实现地址空间的高效利用。
在 ISP 或企业网络中,可分配 IP 地址的库存管理很重要。可从 CIDR 表示管理的地址块计算实际可用的 IP 地址数,或将多个连续 IP 范围集约为高效的 CIDR 块。例如从 192.168.0.0/24(256地址)中排除已使用的 192.168.0.0/26(64地址),用最优 CIDR 块表示剩余地址。
分析安全日志或访问日志时,有时想过滤来自特定 IP 地址范围的访问。可确认日志中记录的 IP 地址是否包含在特定 CIDR 块中,或特定显示可疑访问模式的 IP 范围并转换为 CIDR 表示添加到阻止列表。例如可将判明为攻击源的 IP 范围「203.0.113.128 - 203.0.113.191」作为「203.0.113.128/26」阻止。
CIDR(Classless Inter-Domain Routing)表示和 IP 地址范围是表达网络上 IP 地址范围的两种不同方法。相互转换两者可使网络设计和安全设置更高效。
CIDR 表示以「IP 地址/前缀长度」格式简洁表达 IP 地址范围。例: **192.168.1.0/24**。前缀长度(/24)表示网络部分的位数,剩余位为主机部分。/24 的情况下,前 24 位(192.168.1)是网络部分,剩余 8 位(0-255)是主机部分。**优点**: (1) **简洁性** - 一个表示可表达 256 个 IP 地址,(2) **层次性** - 明确表达网络的层次结构,(3) **标准化** - 在路由、防火墙、云设置中广泛采用,(4) **效率性** - 减少路由表大小。与传统的有类地址(Class A/B/C)不同,CIDR 可灵活划分子网,能高效利用 IP 地址空间。
IP 地址范围以「起始 IP 地址 - 结束 IP 地址」格式表达连续 IP 地址的范围。例: **192.168.1.0 - 192.168.1.255**。这种格式直观易懂,但不适合路由或防火墙规则。**CIDR 转换的必要性**: (1) **防火墙设置** - 大多数防火墙要求 CIDR 表示,(2) **路由** - BGP 或 OSPF 等路由协议使用 CIDR 表示,(3) **云设置** - AWS、Azure、GCP 的安全组使用 CIDR 表示,(4) **高效集约** - 用最少数量的 CIDR 块表达多个 IP 范围。但并非所有 IP 范围都能用单个 CIDR 块表达。例如 192.168.1.10 - 192.168.1.50 需要多个小 CIDR 块的组合表达。
**CIDR → IP 范围**: (1) 从前缀长度计算子网掩码(/24 → 255.255.255.0),(2) 通过 IP 地址和子网掩码的 AND 运算获取网络地址,(3) 将主机部分的位全部设为 1 计算广播地址,(4) 网络地址+1 = 第一个主机,广播地址-1 = 最后一个主机。**IP 范围 → CIDR**: 需要更复杂的算法。(1) 从起始 IP 和结束 IP 计算范围大小,(2) 确认起始 IP 是否对齐到 2 的幂次边界,(3) 提取最大 CIDR 块(从起始 IP 开始,在结束 IP 以下结束),(4) 对剩余范围递归处理,(5) 最终生成多个 CIDR 块列表。此工具优化为用最少数量的 CIDR 块覆盖给定 IP 范围,最小化防火墙规则数。
CIDR/IP 范围转换器是相互转换 CIDR 表示(例: 192.168.1.0/24)和 IP 地址范围(例: 192.168.1.0 - 192.168.1.255)的工具。用于网络管理、防火墙设置、云安全组设置。所有转换在浏览器内执行,输入的 IP 地址不会发送到服务器。
CIDR 的前缀长度(/24 等)表示 IP 地址 32 位中前半部分有多少位是网络部分。**/8** - Class A 相当(16,777,216地址,例: 10.0.0.0/8),**/16** - Class B 相当(65,536地址,例: 172.16.0.0/16),**/24** - Class C 相当(256地址,例: 192.168.1.0/24),**/32** - 单个主机地址(1地址)。前缀长度越小,包含的 IP 地址越多。例: /24 是 256 地址,/23 是 512 地址,/22 是 1024 地址。
不是,任意 IP 范围不一定能用单个 CIDR 块表达。CIDR 块包含 2 的幂次个地址,起始地址需要对齐到特定边界。例如 **192.168.1.0 - 192.168.1.255** 可用单个 CIDR 块 **192.168.1.0/24** 表达,但 **192.168.1.10 - 192.168.1.50** 需要多个小 CIDR 块的组合。此工具自动计算覆盖给定 IP 范围的最少数量 CIDR 块。
**子网掩码**表示 IP 地址的哪部分是网络部分。网络部分的位是 1,主机部分的位是 0。例: /24 的子网掩码是 255.255.255.0(二进制为 11111111.11111111.11111111.00000000)。**通配符掩码**是子网掩码的位反转。主机部分的位是 1,网络部分的位是 0。例: /24 的通配符掩码是 0.0.0.255。通配符掩码用于 Cisco 路由器的 ACL 设置或 OSPF 的网络指定。
**/32** - 表示单个主机地址(1地址)。例: 192.168.1.10/32 只指 192.168.1.10。用于防火墙中只允许/拒绝特定 IP 地址,或设置主机路由(到特定主机的路径)。**/31** - Point-to-Point 连接用的特殊子网(2地址)。在 RFC 3021 中定义,用于路由器间连接等只需要 2 个主机的情况。传统上网络地址和广播地址会损失 2 个地址,但 /31 省略这些,可高效使用 2 个地址。
**私有 IP 地址**不在互联网上路由,仅在组织内的本地网络中使用。RFC 1918 定义的范围: **10.0.0.0/8**(10.0.0.0 - 10.255.255.255),**172.16.0.0/12**(172.16.0.0 - 172.31.255.255),**192.168.0.0/16**(192.168.0.0 - 192.168.255.255)。**公共 IP 地址**在互联网上全球唯一,用于互联网通信。私有 IP 地址通过 NAT 访问互联网。企业或家庭网络使用私有 IP 地址,节省有限的公共 IP 地址。
这个 CIDR/IP 范围转换器用浏览器内的 JavaScript 执行所有转换。工作流程: (1) 用户输入 CIDR 表示或 IP 范围,(2) JavaScript 验证输入,(3) 将 IP 地址转换为 32 位整数,(4) 用位运算计算网络地址、广播地址、主机范围,(5) 显示结果。**数据完全不会发送到服务器**。所有计算在浏览器内完成,完全保护隐私,离线环境也能使用。企业的内部 IP 地址信息也能安全转换。
是的,如果连续的多个 CIDR 块对齐到 2 的幂次边界,可集约为更大的一个 CIDR 块。例: **192.168.0.0/24** 和 **192.168.1.0/24** 可集约为 **192.168.0.0/23**(512地址)。但集约有条件: (1) 地址范围连续,(2) 起始地址对齐到适当边界,(3) 范围大小是 2 的幂次。使用此工具的 IP 范围 → CIDR 转换功能,输入多个 CIDR 块的范围,可获得最优集约的 CIDR 块。