ヘルプ:Range blocks/ja

提供: ひつじ小屋別館2代目
< ヘルプ:Range blocks
2015年4月26日 (日) 15:00時点におけるしが (トーク | 投稿記録)による版 (1版 をインポートしました)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索
PD 注意: このページを編集すると、編集内容が CC0 のもとで公開されることに同意したと見なされます。詳細はパブリック・ドメインのヘルプ ページを参照してください。
PD
</div>
IPv6 の範囲ブロックの情報は /IPv6 を参照してください。

範囲ブロック (Range blocks。訳注: 日本語版ウィキペディアでは広域ブロックレンジブロック) は、一連の IP アドレスに対して、編集、アカウント作成、ウィキのインターフェイスからのメール送信などをできなくするために課す技術的な制限機能であり、Special:Block を使用して適用されます。 チェックボックス「このIPアドレスからのログイン利用者の編集を禁止」にチェックを入れた場合、登録済み利用者による編集も、ブロックされた範囲から接続している間は、無効になります。

範囲ブロックは、ウィキメディア財団のすべてのウィキで有効化され使用されています。あなたのウィキで有効になっていない場合は、LocalSettings.php に「$wgSysopRangeBans = true;」を追加してください (MediaWiki 1.18.0 以降では常時有効になりました)。

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、…のように倍になっていきます。

A block of 16 would start 148.20.57.0/28.
A block of 32 would start 148.20.57.0/27.
A block of 64 would start 148.20.57.0/26.
A block of 128 would start 148.20.57.0/25.
A block of 256 would start 148.20.57.0/24.

では、IP アドレスが 1 つあって、それを含む範囲をブロックしたい場合、どの範囲を使用するかをどう決定しますか? 例えば 148.20.57.34 が問題を起こしたとしましょう。 この IP アドレスの所有者を http://arin.net/whois/?queryinput=148.20.57.34 で検索できます。 Say this tells us that this IP address is assigned, along with a LOT of others in a /17 range, to the Department of Defense. We certainly don't want to block a large block of the DoD! 経験則ではできるだけ小さいブロックにします。 問題を起こした IP アドレスのクラスターがある場合は、1 つの範囲のみをブロックします。

これを行うのに非常に有用な計算機があります:

http://www.csgnetwork.com/ipinfocalc.html

このサイトに移動して、最初の 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 ブロックの <math>2^{96}</math>=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 を計算するには以下のようにします:

  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. 余りが 0 であるため、残りの桁すべてに 0 を書きます。

従って 240 は 128+64+32+16+0+0+0+0 と表現できるため、この 240 は 1111 0000 です。

範囲の計算

  1. 両方の IP アドレスを縦に並べて書き、先頭から一致する桁数を数えます。 これが CIDR 範囲です。
  2. よく確認してください! Being off by one digit could extend your block by thousands of addresses.

下の例では、69.208.0.069.208.0.255 の間の CIDR 範囲を計算します。 Note that this is a simple example; some groups of IP addresses do not so neatly fit CIDR suffixes, and need multiple different-sized blocks to block the exact range.

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 ブロックを示します。 Note that MediaWiki only supports blocking CIDR suffixes 16 - 32 in IPv4 and 19 (formerly 64) - 128 in IPv6 by default (subject to $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 に値を設定する必要があります。

参考

外部リンク

案内メニュー