From Test-Scratch-Wiki
< Ukr:Довідка:Блокування дописувачів
Блокування діапазону 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.32–10.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:
- 240 не менше від 128, пишемо 1 і віднімаємо 128.
- 112 (240-128) не менше від 64, пишемо 1 і віднімаємо 64.
- 48 (112-64) не менше від 32, пишемо 1 і віднімаємо 32.
- 16 (48-32) не менше від 16, пишемо 1 і віднімаємо 16.
- Оскільки залишок нульовий, всі інші двійкові цифри (до 8 загалом) будуть 0.
Отже, двійковий запис 240 виглядає так: 1111 0000 (бо це число представляється як 128+64+32+16+0+0+0+0).
Обчислення діапазону
- Запиши обидві IP-адреси в двійковому представленні одна під одною. Кількість однакових старших цифр дасть суфікс CIDR.
- Перевір ретельно! Помилка лише в 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 |