NetBoxのIPAMでラストオクテット0を有効なIPアドレスにする

投稿者: | 2025年6月16日

背景

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です