| 合法示例 | 255.255.254.0(/23)、255.255.192.0(/18) |
|---|---|
| 非法示例 | 255.0.255.0、255.255.254.1、255.255.255.127 |
| 原因 | 掩码是前缀长度 n 的等价写法,1 必须连续 |
编程校验:让 Python 兜底
编程校验:让 Python 兜底
import ipaddress
for m in ['255.255.254.0', '255.0.255.0', '255.255.254.1']:
try:
ipaddress.ip_network(f'10.0.0.0/{m}', strict=False)
print(m, 'OK')
except ValueError as e:
print(m, '非法:', e)
# 255.255.254.0 OK;后两个抛 NetmaskValueErrorACL 通配符掩码(wildcard)没有连续要求,0.1.0.255 这类值在 ACL 里合法;不要拿 ACL 规则判断子网掩码。