Вопрос или проблема
У меня есть следующие IP-адреса, которые я должен настроить и которые могут подключаться к нашей системе:
172.22.254.67
172.22.254.68
Я знаю, что мог бы закодировать 172.22.254.67/32 и 172.22.254.68/32, и /32 означает точный IP, но поле, которое у меня есть, не позволит ввести столько символов в строке.
Если я закодирую 172.22.254.0/24, это позволит подключаться слишком многим IP. CIDR сбивает с толку.
Я не знаю, могу ли я закодировать 172.22.254.67/2, чтобы разрешить подключение обоих IP.
172.22.254.64/29 — это минимальное значение, которое позволяет вместить оба этих IP, но это все равно позволит подключаться большему количеству, чем вы хотите, поэтому вам придется использовать две записи /32.
Чтобы понять почему, посмотрите на числа в двоичном формате:
66 это 01000010
67 это 01000011
68 это 01000100
69 это 01000101
Таким образом, вам нужно оставить 3 бита свободными, чтобы отличать 67 и 68 от их соседей. 172.22.254.67/31 включал бы .66 и .67; 172.22.254.68/31 включал бы .68 и .69.
Ответ или решение
CIDR Нотация для IP-адресов 172.22.254.67 и 172.22.254.68
Ваша задача заключается в настройке доступа к системе для двух конкретных IP-адресов: 172.22.254.67 и 172.22.254.68. Вы правильно отметили, что использование нотации CIDR для точечных адресов, таких как /32, может быть ограничено по количеству символов в поле, где вы ведете настройки. Давайте подробно рассмотрим, как можно оптимально решить эту задачу, учитывая ваши требования.
Понимание CIDR и его применения
CIDR (Classless Inter-Domain Routing) позволяет более гибко управлять адресами и сетями, чем традиционные классовые адреса. При использовании CIDR мы можем указать количество бит, определяющих сеть, с помощью символа слэша (/). Чем меньше битов в результате, тем больше IP-адресов будет включено в данную сеть.
Сложные моменты
Как вы уже заметили, использование 172.22.254.0/24 позволит доступ к 256 адресам (от 172.22.254.0 до 172.22.254.255), что значительно превышает ваше желаемое количество. С другой стороны, если вы попытаетесь использовать общую базу, такую как 172.22.254.64/29, это тоже не оптимально, поскольку будет включать в диапазон больше адресов, чем вы желаете.
Анализ битов
Для более детального рассмотрения давайте переведем ваши IP-адреса в двоичную систему:
- 172.22.254.67:
10101100.00010110.11111110.01000011
- 172.22.254.68:
10101100.00010110.11111110.01000100
Теперь, посмотрим на различия в последнем октете:
01000011
для 6701000100
для 68
Как видно, последние 3 бита различаются:
- 67: 011
- 68: 100
Это означает, что вам нужно оставить первые 29 бит свободными (для 172.22.254.64/29 вы получите диапазон от .64 до .71), однако это все равно будет включать нежелательные IP-адреса.
Рекомендация
Наилучший вариант в вашем случае — это оставить два отдельных IP-адреса с нотацией /32. Да, это может показаться неэффективным, но в рамках вашего ограничения по количеству символов это будет наиболее точным и безопасным решением:
- 172.22.254.67/32
- 172.22.254.68/32
Если же длина IP-адреса с расширением не может быть превышена, вы можете попытаться настроить разрешения по менее строгим маскам на уровне приложения или сетевого устройства, чтобы ограничить доступ только к необходимым IP-адресам. Однако без возможности внедрения более специфичных правил CIDR, использование двух адресов /32 остаётся единственным и оптимальным вариантом.
Заключение
Понимание CIDR и анализ различий на битовом уровне являются критически важными для эффективного управления сетевыми адресами. Для обеспечения безопасности и точности, несмотря на ограничения символов, продолжайте использовать указанные выше подходы, сохраняя при этом контролируемый доступ для необходимых IP-адресов.