Help:範囲ブロック
注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。 |
- IPv6 の範囲ブロックの情報は Help:範囲ブロック/IPv6 を参照してください。
範囲ブロック (Range blocks。訳注: 日本語版ウィキペディアでは広域ブロック、レンジブロック) は、一連の IP アドレスに対して、編集、アカウント作成、ウィキのインターフェイスからのメール送信などをできなくするために課す技術的な制限機能であり、Special:Block を使用して適用されます。 チェックボックス「このIPアドレスからのログイン利用者に編集ブロックを適用」にチェックを入れた場合、登録済み利用者による編集も、ブロックされた範囲から接続している間は、無効になります。
Special:Block で IP 範囲ブロックするには、先頭の IP アドレスと、続けてスラッシュ (/)、Classless Inter-Domain Routing (CIDR) 接尾辞を入力してください。 何をしているか理解していない場合は、範囲ブロックの実行は避けるべきです。さもなければ何万人もの (場合によっては何百万人もの) 無関係な人々をブロックすることになってしまいます!
この記事では主に IPv4 について記述します。IPv6 ブロックでは、動作が類似していますが、実装が異なります - /IPv6 を参照してください。
技術的ではない説明
一連の IP アドレスは、IP アドレスのブロックに分割できます。
このブロックの例として、148.20.57.0
から 148.20.57.255
までのブロックを挙げます。
255
に到達すると、次のアドレスは 148.20.58.0
です。
一連の IP アドレスは、より小さなブロックにも、より大きなブロックにも分割できます。 実用的なブロックのうち最小のものは、アドレス 4 個のブロックです。 これは以下のいずれかになるでしょう:
148.20.57.0 - 148.20.57.3
,148.20.57.4 - 148.20.57.7
,148.20.57.8 - 148.20.57.11
, ...
アドレス 4 個のブロックそれぞれについて、コンピューターに割り当てられるアドレスは 2 個のみです。 あらゆるブロックについて、先頭と末尾のアドレスは、ネットワーク通信のために予約されています。 これらはレベル 30 のブロックであり、以下のように表現できます:
148.20.57.0/30
,148.20.57.4/30
,148.20.57.8/30
, ...
次に大きいブロックは、アドレス 8 個のブロックです。 これは以下のようになるでしょう:
148.20.57.0 - 148.20.57.7
,148.20.57.8 - 148.20.57.15
,148.20.57.16 - 148.20.57.23
, ...
このアドレス 8 個のブロックでは、前述の通り、コンピューターに割り当てられるのは 6 個のアドレスのみであり、先頭と末尾のアドレスはネットワーク通信の特定の用途のために予約されています。 これらは以下のように表現することもできるでしょう:
148.20.57.0/29
,148.20.57.8/29
,148.20.57.16/29
, ...
これ以降、ブロック内の IP アドレス数は、16、32、64、128、256、…のように倍になっていきます。
- 16 のブロックは
148.20.57.0/28
から始まります。 - 32 のブロックは
148.20.57.0/27
から始まります。 - 64 のブロックは
148.20.57.0/26
から始まります。 - 128 のブロックは
148.20.57.0/25
から始まります。 - 256 のブロックは
148.20.57.0/24
から始まります。
では、IP アドレスが 1 つあって、それを含む範囲をブロックしたい場合、どの範囲を使用するかをどう決定しますか?
例えば 148.20.57.34
が問題を起こしたとしましょう。
この IP アドレスの所有者を http://arin.net/whois/?queryinput=148.20.57.34 で検索できます。
これは、このIPアドレスが、/17
の範囲にある他の多くの IP アドレスとともに国防総省に割り当てられていることを示しています。
私たちは確かに国防総省の大きなブロックをブロックしたくありません!
経験則ではできるだけ小さいブロックにします。
問題を起こした IP アドレスのクラスターがある場合は、1 つの範囲のみをブロックします。
これを行うのに非常に有用な計算機があります:
このサイトに移動して、最初の 4 つの空欄に 148.20.57.34
を入力します。
「Network Prefix Length」を選択して、27
(アドレス 32 個のブロックを意味します) を入力して、「Calculate Network Information」をクリックします。
その結果、148.20.57.34
を含む IP アドレス 32 個のブロックが表示されます。
(範囲内の、使用できるアドレスとともに、先頭のアドレス (ネットワーク アドレス) と末尾のアドレス (ブロードキャスト アドレス) が表示されます。)
このツールは、ブロックする範囲の情報を入力する前に、ブロックしようとしている範囲が正しいかテストするために使用できます。
技術的な説明
CIDR 記法は、IP アドレス、スラッシュ (/)、CIDR 接尾辞から成ります (IPv4 の例: 「10.2.3.41/24
」、IPv6 の例: 「a3:bc00::/24
」)。
CIDR 接尾辞は、範囲内の IP アドレスを 2 進数で表現した場合に、すべての IP アドレスについて共通している (先頭から数えた) 桁数です。
例えば、「10.10.1.32
」は 2 進数で「00001010.00001010.00000001.00100000
」であるため、10.10.1.32/27
では先頭の 27 桁 (「00001010.00001010.00000001.00100000
」) が一致します。
10.10.1.32
-10.10.1.63
の IP アドレスは、2 進数に変換すると先頭の 27 桁がすべて共通であるため、これらの IP アドレスをブロックするには 10.10.1.32/27
をブロックします。
CIDR 接尾辞が増加するにつれて、ブロックが影響する IP アドレスの個数は少なくなっていきます (範囲のサンプルの表を参照してください)。 CIDR 接尾辞は、IPv4 アドレスと IPv6 アドレスで異なります。同じ CIDR 接尾辞でも、IPv6 ブロックには IPv4 ブロックの =79,228,162,514,264,337,593,543,950,336 倍のアドレスがあります。
CIDR 接尾辞の計算
範囲を推測するために下の範囲のサンプルの表を使用する、コンピューター スクリプトを使用する、範囲を手動で計算する、のいずれかの手段を使用できます。
2 進数への変換
範囲を手作業で計算するには、まず先頭および末尾の IP アドレスを 2 進数表現に変換します。 (ここでは、範囲を計算できるようなコンピューター スクリプトを、あなたが使用していないことを想定しています。) IP アドレスは、1 または 0 を 8 個並べたもの 4 つで構成されています。 この 4 つはそれぞれ 0 から 255 の整数を表現しています。 整数を 2 進数に変換する方法として、参照表を使用する方法や、2 進数の各桁の値から計算する方法があります:
2 進数の桁: | 1 1 1 1 1 1 1 1
|
値: | 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 を引きます。 - 余りが 0 であるため、残りの桁すべてに
0
を書きます。
従って 240 は 128+64+32+16+0+0+0+0 と表現できるため、この 240 は 1111 0000
です。
範囲の計算
- 両方の IP アドレスを縦に並べて書き、先頭から一致する桁数を数えます。 これが CIDR 範囲です。
- よく確認してください! 1桁ずれていると、ブロックが数千のアドレスに拡張される可能性があります。
下の例では、69.208.0.0
と 69.208.0.255
の間の CIDR 範囲を計算します。
これは単純な例であることに注意してください。 IPアドレスの一部のグループは、CIDRサフィックスにうまく適合せず、正確な範囲をブロックするために複数の異なるサイズのブロックが必要です。
- IPアドレス:
69.208.0.0
69.208.0.255
- 2 進数に変換:
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
範囲のサンプルの表
下の表では、CIDR 接尾辞それぞれが影響する IPv4 ブロックを示します。 MediaWikiは、IPv4ではCIDRサフィックス16〜32、IPv6では19(以前は64)〜128のブロックのみをサポートしていることに注意してください($wgBlockCIDRLimit の対象)。 IPv6 の範囲の表は /IPv6 を参照してください。
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 | 16,777,216 | 01000101.********.********.******** |
69.208.0.0/11 | 69.192.0.0 | 69.223.255.255 | 2,097,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 |
既定の制限事項
既定の MediaWiki インストレーションでは、IPv4 範囲ブロックを /16 (アドレス 65,536 個) までに制限しています。 より大きい範囲をブロックするには、LocalSettings.php で $wgBlockCIDRLimit に値を設定する必要があります。
既知の問題点
範囲ブロックによって引き起こされる重要な既知の問題の1つは、信頼される利用者グループもブロックするという事です。例えば、 Wiki管理者、監視を必要としないユーザー、信頼できるBot などです。 詳細: phabricator:T309328
参考
外部リンク
- ネットマスク計算機これは範囲ブロックの正しい決定を行うのに役立ちます。
- Subnet Calculatorは、IPv4とIPv6のプレフィックス長とサブネットマスクの計算に役立ちます。
- toolforge:ftools/general/ip-range-calc.html ブロックする際に、使用すべき範囲を表示します。
- IPv4 and CIDR Calculatorは、特定のマスク/CIDRおよびその逆のホストとIP範囲の内訳を示します。