АСѾԐД Создание и продвижение сайтов

Fast Site Engine

CMS для сайтов

Создать сайт

Карта сайта
Переходим на Линукс
Политика конфиденциальности
Сделать сайт на основе Fast Site Engine

Установка
Документация
Список изменений
Лицензионное соглашение

Скачать
О движкеОбо мнеДеятельностьПортфолиоКонтакты

Маска IP адреса версии 4 или как банить IPv4 адреса

С IP адресами 4 версии протокола всё довольно просто, давайте разберёмся как банить IPv4 адреса, разберём что такое маска IP адреса и как она связана с CIDR. Записываются адреса IPv4 в виде 4 цифр разделенных точкой от 0 до 255, например, 192.0.2.1. Не смотря на прогнозы, начавшиеся где-то с 2000-х годов, о заканчивающимся диапазоне в более чем 4 миллиардов адресов, диапазон IP 4 версии всё ещё не исчерпан! По сей день нет проблем с выделением IPv4 адресов, как у местных провайдеров интернета, так и в серверных разных стран. Переход на IPv6 затянулся на десятилетия, не смотря на то, что инициатива явно хорошая и оборудование уже сменилось по нескольку раз. Количество IPv6 в мире на 2020 год составляет порядка 30%, но я не сталкивался с ним ещё ни разу и судя по дискуссиям в интернете - они в большей степени дублируют адресацию IPv4. Что ещё наталкивает на мысль, что 7 млрд. населения очередная байка из телевизора, нас гораздо меньше. (Конечно, не все пользуются интернетом и существуют технологии типа NAT, когда за одним IP сидит офис итп.)

Если коротко, то маска адреса/сети/подсети или CIDR задают диапазоны IP адресов, каждый разряд ограничен от 0 до 255 адресов умножить на подсети, если они есть. Указав адрес и маску или CIDR (Classless Inter-Domain Routing - бесклассовая междоменная маршрутизация) мы указываем от какого и до какого IP адреса следует банить подсеть нарушителя или разрешать вход только из этой подсети.

Допустим у нас есть вредоносный IP адрес 192.0.2.55, есть вариант воспользоваться одним из сервисов определения IP адреса и узнать диапазоны провайдера и забанить сразу их, но в реальной жизни, в случае динамически выделяемых IP адресов или иных схем получения адреса, злоумышленник скорее всего будет находиться в узком промежутке, для IPv4 достаточно забанить последний разряд IP адреса, который соответствует маске сети 255.255.255.0 или CIDR /24. Т.е. если мы указываем 192.0.2.55/24, то получаем промежуток 192.0.2.0 - 192.0.2.255 в котором 256 адресов, 0 - это адрес подсети, 255 - широковещательный, и они не используются для выделения пользователям, таким образом 254 адреса задействовано.

Как именно задавать диапазоны, смотрите сами, как больше нравится, в данном PHP классе для обработки IP адресов можно задавать в следующих равнозначных формах:
192.0.2.55/24 ; 192.0.2/24 ; 192.0.2./24 ; 192.0.2.0 - 192.0.2.255 ; 192.0.2.* ; 192.0.2. ; 192.0.2 ;
все они заблокируют (или разрешат) диапазон 192.0.2.0 - 192.0.2.255. Можно конечно брать и меньшие диапазоны в случае если идёт атака с адресов выходящих за указанный промежуток, смотрите в таблице ниже. Например, баним подсеть следующего уровня имеющую CIDR /16 и маску сети 255.255.0.0 и в которой уже 65536 адресов:
192.0.2.55/16 ; 192.0.2/16 ; 192.0/16 ; 192.0.0.0 - 192.0.255.255 ; 192.0.* ; 192.0.*.* ; 192.0. ; 192.0.2 ;

Основной интерес предоставляет CIDR: /24 /16 /8;
255.255.255.0/24, 255.255.0.0/16, 255.0.0.0/8.

Таблица сетевых масок IPv4

Таблица подсетей подсвечена зелёным цветом в тех местах, где маска ip адреса и CIDR имеют наибольший смысл, промежуточные значения не так интересны, скорее могут быть использованы в случае белых списков адресов, если пользователь знает диапазон своей подсети.

CIDRМаскаКоличество адресов
/32255.255.255.2551
/31255.255.255.2542
/30255.255.255.2524
/29255.255.255.2488
/28255.255.255.24016
/27255.255.255.22432
/26255.255.255.19264
/25255.255.255.128128
/24255.255.255.0256
/23255.255.254.0512
/22255.255.252.01024
/21255.255.248.02048
/20255.255.240.04096
/19255.255.224.08192
/18255.255.192.016384
/17255.255.128.032768
/16255.255.0.065536
/15255.254.0.0131072
/14255.252.0.0262144
/13255.248.0.0524288
/12255.240.0.01048576
/11255.224.0.02097152
/10255.192.0.04194304
/9255.128.0.08388608
/8255.0.0.016777216
/7254.0.0.033554432
/6252.0.0.067108864
/5248.0.0.0134217728
/4240.0.0.0268435456
/3224.0.0.0536870912
/2192.0.0.01073741824
/1128.0.0.02147483648
/00.0.0.04294967296

Таблица масок подсетей виде числа

CIDRМаскаЗначение
/32255.255.255.2554294967295
/31255.255.255.2544294967294
/30255.255.255.2524294967292
/29255.255.255.2484294967288
/28255.255.255.2404294967280
/27255.255.255.2244294967264
/26255.255.255.1924294967232
/25255.255.255.1284294967168
/24255.255.255.04294967040
/23255.255.254.04294966784
/22255.255.252.04294966272
/21255.255.248.04294965248
/20255.255.240.04294963200
/19255.255.224.04294959104
/18255.255.192.04294950912
/17255.255.128.04294934528
/16255.255.0.04294901760
/15255.254.0.04294836224
/14255.252.0.04294705152
/13255.248.0.04294443008
/12255.240.0.04293918720
/11255.224.0.04292870144
/10255.192.0.04290772992
/9255.128.0.04286578688
/8255.0.0.04278190080
/7254.0.0.04261412864
/6252.0.0.04227858432
/5248.0.0.04160749568
/4240.0.0.04026531840
/3224.0.0.03758096384
/2192.0.0.03221225472
/1128.0.0.02147483648
/00.0.0.00

Таблица масок подсетей в двоичном представлении (в бинарном виде)

CIDRМаскаЗначение
/32255.255.255.25511111111111111111111111111111111
/31255.255.255.25411111111111111111111111111111110
/30255.255.255.25211111111111111111111111111111100
/29255.255.255.24811111111111111111111111111111000
/28255.255.255.24011111111111111111111111111110000
/27255.255.255.22411111111111111111111111111100000
/26255.255.255.19211111111111111111111111111000000
/25255.255.255.12811111111111111111111111110000000
/24255.255.255.011111111111111111111111100000000
/23255.255.254.011111111111111111111111000000000
/22255.255.252.011111111111111111111110000000000
/21255.255.248.011111111111111111111100000000000
/20255.255.240.011111111111111111111000000000000
/19255.255.224.011111111111111111110000000000000
/18255.255.192.011111111111111111100000000000000
/17255.255.128.011111111111111111000000000000000
/16255.255.0.011111111111111110000000000000000
/15255.254.0.011111111111111100000000000000000
/14255.252.0.011111111111111000000000000000000
/13255.248.0.011111111111110000000000000000000
/12255.240.0.011111111111100000000000000000000
/11255.224.0.011111111111000000000000000000000
/10255.192.0.011111111110000000000000000000000
/9255.128.0.011111111100000000000000000000000
/8255.0.0.011111111000000000000000000000000
/7254.0.0.011111110000000000000000000000000
/6252.0.0.011111100000000000000000000000000
/5248.0.0.011111000000000000000000000000000
/4240.0.0.011110000000000000000000000000000
/3224.0.0.011100000000000000000000000000000
/2192.0.0.011000000000000000000000000000000
/1128.0.0.010000000000000000000000000000000
/00.0.0.000000000000000000000000000000000




17.07.2026
18.8.7534 от С.М.З.Х.
Unix time: 1784320225
© Все права защищены 2004 - 2026