ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

IP地址掩码、反掩码与通配符详解

IP地址掩码、反掩码与通配符详解 1. IP计算基础概念解析网络工程师每天都要和IP地址打交道但很多人对掩码、反掩码和通配符这些基础概念仍然存在混淆。我在实际工作中发现即使是工作3-5年的工程师在配置ACL时也经常把反掩码和通配符搞混。今天我们就用最直白的方式把这几个概念彻底讲清楚。IP地址就像门牌号而掩码则是划分街道范围的工具。举个例子192.168.1.0/24这个网段相当于说这条街上所有192.168.1.x的房子都属于我们小区。这里的/24就是子网掩码的另一种表示方式换算成点分十进制就是255.255.255.0。注意子网掩码必须从左到右连续为1比如255.255.254.0是合法的(23位掩码)但255.255.253.0就是非法的。2. 掩码计算实战2.1 子网掩码的二进制本质子网掩码的核心作用是定义网络位和主机位的分界线。以192.168.1.0/25为例IP地址192.168.1.0掩码255.255.255.12825个连续的1二进制表示掩码11111111.11111111.11111111.10000000网络地址11000000.10101000.00000001.00000000广播地址11000000.10101000.00000001.01111111这个子网的范围就是192.168.1.1到192.168.1.126共126个可用IP。2.2 快速计算子网的方法我常用这个速算技巧确定掩码位数如/25计算主机位数32-257每个子网IP数量2^7128可用IP数量128-2126减去网络地址和广播地址对于192.168.1.0/24划分4个子网需要借2位2^24新掩码/26255.255.255.192子网范围192.168.1.0/261-62192.168.1.64/2665-126192.168.1.128/26129-190192.168.1.192/26193-2543. 反掩码深度解析3.1 反掩码的本质反掩码Wildcard Mask是ACL中用来匹配IP范围的工具。它和子网掩码正好相反掩码1表示网络位0表示主机位反掩码0表示精确匹配1表示忽略比如允许192.168.1.0/24网段的ACLaccess-list 1 permit 192.168.1.0 0.0.0.255这个0.0.0.255就是反掩码表示前24位必须精确匹配后8位可以忽略。3.2 反掩码的特殊用法反掩码可以实现更灵活的匹配匹配奇数IP0.0.0.254最后一位为1匹配偶数IP0.0.0.254最后一位为0匹配特定范围的IP比如匹配192.168.1.16到192.168.1.31地址192.168.1.16反掩码0.0.0.151615314. 通配符与正则表达式4.1 网络配置中的通配符通配符在网络配置中常用于批量匹配Cisco IOS中的192.168.1.*等效于192.168.1.0 0.0.0.255在路由协议配置中可以用通配符来匹配网络范围4.2 通配符与正则表达式的区别很多人容易混淆这两者通配符简单匹配如*.example.com正则表达式复杂模式匹配如^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$在Linux中查找所有.conf文件ls *.conf通配符查找包含IP地址的文件grep -E [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} *正则5. 常见问题排查5.1 掩码配置错误导致的问题现象设备无法通信 排查步骤ipconfig/ifconfig查看IP和掩码确认两端设备在同一子网用ping测试连通性检查路由表route print/netstat -rn5.2 ACL不生效的常见原因反掩码方向错误应该是0表示匹配ACL没有应用到接口规则顺序错误ACL是从上到下匹配隐含的deny any规则阻止了流量5.3 子网划分实战案例需求将192.168.1.0/24划分为8个子网每个子网至少30个主机 解决方案需要借3位2^38个子网新掩码/27255.255.255.224每个子网32个IP30个可用子网范围192.168.1.0/27192.168.1.32/27...192.168.1.224/276. 高级技巧与工具6.1 快速计算工具我常用的几个在线工具子网计算器https://www.calculator.net/ip-subnet-calculator.htmlCIDR转换工具https://www.ipaddressguide.com/cidr反掩码生成器https://www.wildcardmaskcalculator.com/6.2 命令行计算技巧在Linux下快速计算子网# 计算192.168.1.100/25的网络地址 ipcalc 192.168.1.100/25 # 计算两个IP是否在同一子网 ip1192.168.1.100 ip2192.168.1.200 mask255.255.255.0 [ $(( $(echo $ip1 | awk -F. {print ($1*(2^24)$2*(2^16)$3*(2^8)$4)}) $(echo $mask | awk -F. {print ($1*(2^24)$2*(2^16)$3*(2^8)$4)}) )) -eq $(( $(echo $ip2 | awk -F. {print ($1*(2^24)$2*(2^16)$3*(2^8)$4)}) $(echo $mask | awk -F. {print ($1*(2^24)$2*(2^16)$3*(2^8)$4)}) )) ] echo Same subnet || echo Different subnet6.3 网络设备配置示例Cisco路由器配置ACL! 允许192.168.1.0/24访问80端口 access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80 ! 允许192.168.2.0/24访问443端口 access-list 100 permit tcp 192.168.2.0 0.0.0.255 any eq 443 ! 应用到接口 interface GigabitEthernet0/0 ip access-group 100 in华为交换机配置acl number 2000 rule 5 permit source 192.168.1.0 0.0.0.255 rule 10 permit source 192.168.2.0 0.0.0.255 # interface GigabitEthernet0/0/1 traffic-filter inbound acl 20007. 实际工程经验分享7.1 大型网络规划要点在规划企业网络时采用层次化IP分配方案核心/汇聚/接入分层为每个部门分配连续的IP段预留扩展空间通常使用/22或更大的子网文档化IP分配方案7.2 避免IP冲突的技巧使用DHCP保留地址为服务器和网络设备配置静态IP定期扫描网络发现冲突使用IPAM工具管理IP地址7.3 云环境中的IP注意事项注意云厂商的保留IP段理解VPC和子网的关系注意弹性IP和私有IP的区别跨VPC通信需要特殊配置8. 协议分析实战8.1 ARP协议分析当192.168.1.1需要与192.168.1.2通信时检查ARP缓存发送ARP请求广播目标主机回复ARP响应建立IP到MAC的映射用tcpdump抓包tcpdump -i eth0 arp8.2 IP数据包转发过程检查目标IP是否在同一子网如果在同一子网直接ARP查询如果不在同一子网发送给默认网关网关根据路由表转发9. 安全相关配置9.1 防止IP欺骗启用uRPF单播反向路径转发配置ACL限制源IP使用私有IP地址空间启用IP源防护9.2 防火墙策略建议默认拒绝所有流量只开放必要的端口限制管理IP范围定期审计规则10. IPv6过渡技术10.1 双栈部署同时运行IPv4和IPv6协议栈interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 ipv6 address 2001:db8::1/6410.2 隧道技术通过IPv4网络传输IPv6数据包interface Tunnel0 tunnel mode ipv6ip tunnel source Ethernet0/0 tunnel destination 203.0.113.1 ipv6 address 2001:db8:1::1/64
返回列表