背景
NetBoxのIPAMのIPアドレスでは10.1.1.0/23のような有効なIPアドレスもネットワークアドレスだと認識されてエラーになります。
前提
- FreeBSD 13.5
- NetBox 4.2.9
NetBoxの修正
ネットマスク長の/32、/31に加えて、/23、/22、/21、/20でもラストオクテット0をnetwork IDと認識されないようにします。
/usr/local/share/netbox/netbox/ipam/models/ip.py
--- ip.py.orig 2025-04-26 11:47:12.000000000 +0000 +++ ip.py 2025-06-13 06:24:28.587092000 +0000 @@ -848,7 +848,7 @@ msg = _("{ip} is a network ID, which may not be assigned to an interface.").format( ip=self.address.ip ) - if self.address.version == 4 and self.address.prefixlen not in (31, 32): + if self.address.version == 4 and self.address.prefixlen not in (20, 21, 22, 23, 31, 32): raise ValidationError(msg) if self.address.version == 6 and self.address.prefixlen not in (127, 128): raise ValidationError(msg)
service netbox restart