Ukr:Довідка:Блокування дописувачів/Діапазон IP

Блокування діапазону IP-адрес – це обмеження, встановлюване бюрократом зі спеціальної сторінки, що блокує можливість будь-якого змінювання вікі водночас із багатьох IP-адрес.

Блокування діапазону IP-адрес дозволене у Скретч вікі. Слід уникати такого блокування, застосовуючи його лише в тому разі, коли ти добре розумієш, що саме робиш. Інакше можна безпідставно заблокувати купу людей, і це принесе більше шкоди, аніж користі.

Аби встановити таке блокування, на сторінці Special:Block введи першу IP-адресу діапазону, за нею без пропусків косу риску й суфікс безкласової маршрутизації (суфікс CIDR).

Просте пояснення
IP-адреси протоколу версії IPv4 складено з чотирьох чисел (блоків), які можуть набувати значень від 0 до 255. Послідовність IP-адрес можна побудувати, якщо розглядати кожен блок як дві 16-річні цифри, а всю адресу як 8-цифрове 16-річне число. В такому разі наступною за діапазоном IP 148.20.57.0 ÷ 148.20.57.255 адресою буде 148.20.58.0: коли блок досягає значення 255, наступне його значення 0 і слід збільшити на 1 значення старшого (того, що ліворуч) блоку.

IP-адреси можна групувати різними способами. Найменша змістовна група, мабуть, містить 4 IP-адреси, оскільки з них комп'ютерам можна привласнити лише 2. Перша та остання адреса групи зарезервовані для мережевої комунікації. Ось приклад таких груп і їхніх позначень за допомогою суфіксу CIDR:

Ці групи називають групами рівня 30 (ширина мережевої маски 30 біт). Наступний розмір групи 8 IP-адрес, з яких комп'ютерам так само можна призначити лише 6.

В такий спосіб і далі розширення розміру групи удвічі зменшує ширину маски на 1: 16 адрес (/28), 32 адреси (/27), 64 адреси (/26) тощо.

Отже, припустимо, ти знаєш проблемну IP-адресу, і як же тоді визначити правильний розмір групи?

Нехай це адреса 148.20.57.34. Перевір, кому вона належить, за допомогою такого запиту: http://ws.arin.net/whois/?queryinput=148.20.57.34 Нехай отримано відповідь, що ця IP-адреса разом із купою інших (суфікс CIDR /17) належить Department of Defense. Але ти не хочеш блокувати таку величезну частину Department of Defense. Слід завжди обмежувати блок діапазону найвужчим корисним діапазоном.

Для цього зручний такий калькулятор: http://www.csgnetwork.com/ipinfocalc.html В перше поле під назвою "Specify A Network Address" введи адресу 148.20.57.34. Обери довжину мережевого префіксу ("A Network Prefix Length") рівною 27 (група із 32 адрес) і натисни "Calculate Network Information". Отримаєш групу із 32 IP-адрес, до якої входить 148.20.57.34. (Перша та остання адреса групи також будуть відображені разом із доступними для призначення адресами.) Тепер можна заблокувати відповідний діапазон, вказавши 148.20.57.32/27, тобто адресою початку діапазону обравши розраховану "Network Address".

Чому в прикладі було обрано групу із 32 IP-адрес? З одного боку, це досить велика кількість, з іншого – доволі помірна. Можна скорочувати цю групу й далі.

Очевидний сенс блокування діапазону IP-адрес має в тому випадку, коли загрожує користувач з динамічною IP-адресою, тобто такою, яка змінюється щонайменше раз на добу. Для цілковитої впевненості слід блокувати весь пул таких динамічних IP-адрес, які роздає його провайдер. Але це може виявитися забагато.

Технічне пояснення
Запис CIDR виглядає як IP-адреса, коса риска та суфікс CIDR (приміром, для IPv4 "10.2.3.41/24</tt>" чи для IPv6 "a3:b:c1:d:e:f:1:21/24</tt>"). Суфікс CIDR – це кількість початкових (старших) біт (двійкових цифр), спільних для усіх IP-адрес групи.

Так, "10.10.1.32</tt>" у двійковому запису буде "00001010.00001010.00000001.00100000</tt>", тож 10.10.1.32/27</tt> позначатиме 27 цифр (" 00001010 . 00001010 . 00000001 . 001 00000</tt>"). Отже, IP-адреси 10.10.1.32</tt>–10.10.1.63</tt>, які у двійковому записі мають 27 спільних старших цифр, всі будуть заблоковані записом 10.10.1.32/27</tt>.

Зрозуміло, що зі збільшенням значення суфіксу CIDR кількість IP-адрес, на які впливає запис, швидко зменшується (дивись таблицю прикладів діапазонів).

Обчислення суфіксу CIDR
Можна звернутися до таблиці прикладів діапазонів, написати скрипт чи обчислити це вручну.

Перетворення у двійкову систему
Першим кроком в ручному обчисленні діапазону є перетворення IP-адреси у двійковий запис. Кожен блок адреси IPv4 чи IPv6 являю собою число значенням від 0 до 255. Аби записати його у двійковій системі, можна спертися на цю таблицю чи взагалі розкласти число вручну, знаючи значення кожної двійкової цифри:


 * Binary digit:  1   1   1   1   1   1   1   1</tt>
 * Value:       128  64  32  16   8   4   2   1</tt>

Рухаючись цією табличкою зліва направо, пишемо 1</tt>, якщо наше число не менше від табличного, й віднімаємо табличне від нього; пишемо 0 в іншому разі й нічого не віднімаємо. Приклад перетворення числа 240: Отже, двійковий запис 240 виглядає так: 1111 0000</tt> (бо це число представляється як 128+64+32+16+0+0+0+0).
 * 1) 240 не менше від 128, пишемо 1</tt> і віднімаємо 128.
 * 2) 112 (240-128) не менше від 64, пишемо 1</tt> і віднімаємо 64.
 * 3) 48 (112-64) не менше від 32, пишемо 1</tt> і віднімаємо 32.
 * 4) 16 (48-32) не менше від 16, пишемо <tt>1</tt> і віднімаємо 16.
 * 5) Оскільки залишок нульовий, всі інші двійкові цифри (до 8 загалом) будуть <tt>0</tt>.

Обчислення діапазону

 * 1) Запиши обидві IP-адреси в двійковому представленні одна під одною. Кількість однакових старших цифр дасть суфікс CIDR.
 * 2) Перевір ретельно! Помилка лише в 1 двійкову цифру може розширити блокований діапазон на тисячі IP-адрес.

Нижче наведено приклад обчислення діапазону CIDR між <tt>69.208.0.0</tt> та <tt>69.208.0.255</tt>. Це лише дуже зручний приклад, інші адреси можуть не потрапляти так легко в один діапазон. Тоді доводиться розбивати діапазон на кілька діапазонів різної довжини.


 * IP-адреси:
 * <tt> 69.208.0.0</tt>
 * <tt> 69.208.0.255</tt>


 * Двійковий запис:
 * <tt> 0100 0101.1101 0000.0000 0000.0000 0000</tt>
 * <tt> 0100 0101.1101 0000.0000 0000.1111 1111</tt>


 * Однакових старших цифр:
 * <tt> 0100 0101.1101 0000.0000 0000.0000 0000</tt>
 * <tt> 0100 0101.1101 0000.0000 0000.1111 1111</tt>
 * <tt> |____________________________|</tt>
 * <tt>           24 цифри</tt>


 * діапазон CIDR:
 * <tt> 69.208.0.0/24</tt>

<span id="Таблиця">Таблиця прикладів діапазонів
Ця таблиця показує діапазон IP-адрес, які будуть заблоковані певним суфіксом CIDR. Рушій MediaWiki дозволяє лише значення суфіксу 16–32.