User: ПО итогам этого обсуждения поясни, в чем суть проблемы и как она решается. 


Skip to content￼Navigation Menu￼ProductSolutionsResourcesOpen SourceEnterprisePricingSearch or jump to...￼Sign inSign up￼￼netbox-community/netboxPublicNotificationsFork 2.7k Star 16.9k￼CodeIssues353Pull requests17DiscussionsActionsProjectsWikiSecurity2InsightsMapping between used Prefixes and IP Addresses availability #9019New issue￼￼Closed￼ClosedMapping between used Prefixes and IP Addresses availability#9019￼￼DescriptionVictorPetrescuopened on Apr 2, 2022￼NetBox versionv3.1.10Python version3.9Steps to Reproduce1. Create a Prefix with /242. Assign three other child Prefixes with /30 and mark them as Fully Utilized.3. Assign in the /24 Prefix, some random IP Addresses.Expected BehaviorYou should not be allowed to allocate an IP Addresses from the /30 child Prefix. Or even to mark them as used in the IP Addresses View.Observed BehaviorEven if I marked the /30 Prefix as Fully Utilized, when I allocate an IP Addresses I am not aware of the /30 that is used, and I can allocate an IP Address from that range.Prefix: 192.168.100.0/24
Child Prefix 1: 192.168.100.32/30 (Marked as 100% Utilized)
Child Prefix 2: 192.168.100.36/30 (Marked as 100% Utilized)
Child Prefix 3: 192.168.100.40/30 (Marked as 100% Utilized)Under the IP Addresses Section in the 192.168.100.0/24 Prefix I should not be allowed to alocate an IP Address from none of the 3 Child Prefixes, or at least to see them used, not available, like in the picture.192.168.100.34 says is available, and I could add 192.168.100.33/32 and 192.168.100.37/32, even though there part of a fully utilized prefix.￼Also in the IP Addresses Section from the Child Prefix (192.168.100.32/30) there are still Available IPs.Thank you.￼Activity￼VictorPetrescuadded type: bugA confirmed report of unexpected behavior in the applicationon Apr 2, 2022￼DetunizedGravity commented on Apr 2, 2022DetunizedGravityon Apr 2, 2022￼What is the actual meaning of "Mark as fully utilized" for you?I interpret it as "all IP address in this prefix have been alloted, but not all of them have been/can be registered in Netbox right now". I do not* interpret it as "I do not want to register any IP address of this prefix, ever, in Netbox".For example, I may want to use a prefix to represent a DHCP pool, of which a few IP are fixed leases. I would use the mark as fully used flag to show that the whole prefix is reserved for use by the DHCP server The only addresses that it would make sense to register are the permanent leases because they are the only ones that do not change host randomly. What you propose would prevent me from doing that.￼￼VictorPetrescu commented on Apr 2, 2022VictorPetrescuon Apr 2, 2022Author￼In the scenario that I described, "Mark as fully utilized" means all the IPs in that range are used and I cannot allocate an IP Address from those /30 ranges. Let's say I give /30 to a customer 1...I have to know that when I allocate an IP Address to another customer 2, I don't use one from the range given to customer 1. And yes, it can be done, because now there is no warning to say there is an overlap.Maybe the "Mark as fully utilized" is not the solution for what I describe…but I think it should be a warning that it occurs in an overlap.￼￼DetunizedGravity commented on Apr 3, 2022DetunizedGravityon Apr 3, 2022 via email · edited by DetunizedGravity￼￼Your use case looks more like a matter of tenancy to me. Giving a /30 to a
customer literally translates to "assign this customer as tenant of the
/30." What you are asking for is a way to make sure that IP address inside
a prefix belongs to the same tenant as the prefix.

Now **I** don't know if a way to do that at creation time of the address.
Maybe there is?

Edit: typo￼￼DanSheps commented on Apr 3, 2022DanShepson Apr 3, 2022Member￼Thank you for opening a bug report. It seems that the described functionality is intended behavior. If you meant to open a feature request instead, please close this issue and open a new one using the feature request template. Otherwise, please revise your post above to elaborate on why you believe the observed behavior is flawed.￼￼DanShepsadded pending closureRequires immediate attention to avoid being closed for inactivityon Apr 3, 2022￼VictorPetrescuclosed this as completedon 3 апр. 2022 г.￼github-actionslocked as resolved and limited conversation to collaborators on Jul 3, 2022Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to commentAssigneesNo one assignedLabelspending closureRequires immediate attention to avoid being closed for inactivitytype: bugA confirmed report of unexpected behavior in the applicationTypeNo typeProjectsNo projectsMilestoneNo milestoneRelationshipsNone yetDevelopmentNo branches or pull requests￼Participants￼￼￼Issue actions￼Footer￼© 2025 GitHub, Inc.Footer navigationTermsPrivacySecurityStatusDocsContactManage cookiesDo not share my personal information￼Mapping between used Prefixes and IP Addresses availability · Issue #9019 · netbox-community/netbox￼￼￼font-eager-loadingfont-eager-loadingfont-eager-loading
Assistant: Суть проблемы заключается в том, что в системе NetBox пользователи могут столкнуться с неожиданным поведением при распределении IP-адресов в рамках заданных префиксов. В частности, когда префиксы с меньшими размерами (например, /30) помечены как "Полностью использованные", система разрешает пользователям выделять IP-адреса из этих префиксов, хотя они декларируются как занятые.

### Описание проблемы:
1. **Сценарий**: Пользователь создает префикс /24 и три дочерних префикса /30, которые помечены как "Полностью использованные".
2. **Ожидаемое поведение**: Пользователь не должен иметь возможность выделять IP-адреса из помеченных как полностью использованные префиксов.
3. **Наблюдаемое поведение**: Система позволяет пользователю выделять IP-адреса из дочерних префиксов, даже если они указаны как полностью использованные.

Проблема усложняется тем, что у пользователей может быть различное понимание термина "Полностью использован", что приводит к путанице. Одни пользователи интерпретируют это как полное занятие всех IP-адресов в префиксе, другие — как резервирование всех адресов для определенных целей (например, для DHCP-пулов).

### Предложенные решения:
- **Сигнализация об перекрытии**: Предложение добавить предупреждение о том, что происходит перекрытие при попытке выделения IP-адреса из полностью используемого префикса.
- **Тенантное разделение**: Некоторые участники обсуждения предложили рассматривать на уровне системы необходимость привязки IP-адресов к конкретным арендаторам (tenants), чтобы избежать возможных ошибок при выделении адресов.

### Заключение:
Участники обсуждения подтвердили, что описанная функциональность является ожидаемым поведением системы, но также понимали необходимость развития ее функциональности для лучшего управления распределением IP-адресов и избежания перекрытий. Обсуждение привело к возникновению идеи о возможности создания нового запроса на функциональность (feature request), чтобы улучшить текущее поведение системы.
User: Как в итоге можно решить в NetBox эту проблему, чтобы пометить префикс полностью использованным и при этом не дать возможность выделять из него адреса?
Assistant: Для решения проблемы выделения IP-адресов из префиксов, помеченных как "Полностью использованные" в NetBox, можно рассмотреть несколько подходов:

### 1. Изменение логики обработки префиксов:
Необходимо изменить логику системы так, чтобы при установке статуса "Полностью использованный" для префикса все IP-адреса, входящие в этот префикс, автоматически не выделялись для новых назначений. Это подразумевает визуализацию всех IP-адресов в подпрефиксах как занятых.

### 2. Создание предупреждений о конфликте:
Ввести функциональность, которая будет показывать предупреждения, когда пользователь пытается выделить IP-адрес из префикса, который помечен как "Полностью использованный". Например, если префикс /30 уже заявлен как полностью использованный, система должна уведомить пользователя о конфликте, тем самым предотвращая выделение адресов.

### 3. Использование тенантов для префиксов:
Интеграция концепции "арендаторов" (tenants) в систему может помочь в управлении IP-адресами. Префиксы и IP-адреса могут быть привязаны к конкретным арендаторам, и система должна проверять, к какому тенанту принадлежит запрашиваемый IP-адрес, чтобы убедиться, что он не конфликтует с выделенными адресами других арендаторов.

### 4. Улучшение пользовательского интерфейса:
Обновление интерфейса управления IP-адресами и префиксами для более четкого отображения статусов используемых адресов и префиксов. Можно добавить визуальные индикаторы или предупреждения, если пользователь пытается выделить адреса из уже полностью занятых диапазонов.

### 5. Введение новых параметров:
Добавление новых параметров, таких как "Резервный префикс", который позволит пользователю указать, что даже если префикс помечен как "Полностью использованный", некоторые адреса могут быть "резервными" и не подлежат выделению.

### Рекомендуемая стратегия:
Для решения этой проблемы необходимо инициировать обсуждение среди разработчиков и сообщества NetBox о возможности интеграции этих функций. Выделите одно или несколько изменений в функциональности и подготовьте технический запрос на новую функциональность (feature request), включая описания, сценарии использования и предложения по улучшению. Это поможет систематизировать запросы пользователей и улучшить продукт, а также упростить процесс управления IP-адресами в будущем.
User: А можно ли реализовать такой кастомный валидатор, который при создании отмечании префикса полностью утилизированным создаст все IP-адреса внутри него?
Assistant: