From Test-Scratch-Wiki

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

Translate: - English (no prefix) - українська мова 

Блокування діапазону 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:

Діапазон IP Позначення з CIDR
148.20.57.0 ÷ 148.20.57.3 148.20.57.0/30
148.20.57.4 ÷ 148.20.57.7 148.20.57.4/30
148.20.57.8 ÷ 148.20.57.11 148.20.57.8/30

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

Діапазон IP Позначення з CIDR
148.20.57.0 ÷ 148.20.57.7 148.20.57.0/29
148.20.57.8 ÷ 148.20.57.15 148.20.57.8/29
148.20.57.16 ÷ 148.20.57.23 148.20.57.16/29

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

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

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

Обчислення суфіксу CIDR

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

Перетворення у двійкову систему

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

Binary digit:   1   1   1   1   1   1   1   1
Value:        128  64  32  16   8   4   2   1

Рухаючись цією табличкою зліва направо, пишемо 1, якщо наше число не менше від табличного, й віднімаємо табличне від нього; пишемо 0 в іншому разі й нічого не віднімаємо. Приклад перетворення числа 240:

  1. 240 не менше від 128, пишемо 1 і віднімаємо 128.
  2. 112 (240-128) не менше від 64, пишемо 1 і віднімаємо 64.
  3. 48 (112-64) не менше від 32, пишемо 1 і віднімаємо 32.
  4. 16 (48-32) не менше від 16, пишемо 1 і віднімаємо 16.
  5. Оскільки залишок нульовий, всі інші двійкові цифри (до 8 загалом) будуть 0.

Отже, двійковий запис 240 виглядає так: 1111 0000 (бо це число представляється як 128+64+32+16+0+0+0+0).

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

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

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

IP-адреси:
  69.208.0.0
  69.208.0.255
Двійковий запис:
  0100 0101.1101 0000.0000 0000.0000 0000
  0100 0101.1101 0000.0000 0000.1111 1111
Однакових старших цифр:
  0100 0101.1101 0000.0000 0000.0000 0000
  0100 0101.1101 0000.0000 0000.1111 1111
  |____________________________|
            24 цифри
діапазон CIDR:
  69.208.0.0/24

Таблиця прикладів діапазонів

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

CIDR Початок Кінець Загалом адрес Біт в IP-адресі
69.208.0.0/0 0.0.0.0 255.255.255.255 4,294,967,296 ********.********.********.********
69.208.0.0/1 0.0.0.0 127.255.255.255 2,147,483,648 0*******.********.********.********
69.208.0.0/4 64.0.0.0 79.255.255.255 268,435,456 0100****.********.********.********
69.208.0.0/8 69.0.0.0 69.255.255.255 67,108,864 01000101.********.********.********
69.208.0.0/11 69.208.0.0 69.238.255.255 2,197,152 01000101.110*****.********.********
69.208.0.0/12 69.208.0.0 69.223.255.255 1,048,576 01000101.1101****.********.********
69.208.0.0/13 69.208.0.0 69.215.255.255 524,288 01000101.11010***.********.********
69.208.0.0/14 69.208.0.0 69.211.255.255 262,144 01000101.110100**.********.********
69.208.0.0/15 69.208.0.0 69.209.255.255 131,072 01000101.1101000*.********.********
69.208.0.0/16 69.208.0.0 69.208.255.255 65,536 01000101.11010000.********.********
69.208.0.0/17 69.208.0.0 69.208.127.255 32,768 01000101.11010000.0*******.********
69.208.0.0/18 69.208.0.0 69.208.63.255 16,384 01000101.11010000.00******.********
69.208.0.0/19 69.208.0.0 69.208.31.255 8,192 01000101.11010000.000*****.********
69.208.0.0/20 69.208.0.0 69.208.15.255 4,096 01000101.11010000.0000****.********
69.208.0.0/21 69.208.0.0 69.208.7.255 2,048 01000101.11010000.00000***.********
69.208.0.0/22 69.208.0.0 69.208.3.255 1,024 01000101.11010000.000000**.********
69.208.0.0/23 69.208.0.0 69.208.1.255 512 01000101.11010000.0000000*.********
69.208.0.0/24 69.208.0.0 69.208.0.255 256 01000101.11010000.00000000.********
69.208.0.0/25 69.208.0.0 69.208.0.127 128 01000101.11010000.00000000.0*******
69.208.0.0/26 69.208.0.0 69.208.0.63 64 01000101.11010000.00000000.00******
69.208.0.0/27 69.208.0.0 69.208.0.31 32 01000101.11010000.00000000.000*****
69.208.0.0/28 69.208.0.0 69.208.0.15 16 01000101.11010000.00000000.0000****
69.208.0.0/29 69.208.0.0 69.208.0.7 8 01000101.11010000.00000000.00000***
69.208.0.0/30 69.208.0.0 69.208.0.3 4 01000101.11010000.00000000.000000**
69.208.0.0/31 69.208.0.0 69.208.0.1 2 01000101.11010000.00000000.0000000*
69.208.0.0/32 69.208.0.0 69.208.0.0 1 01000101.11010000.00000000.00000000