プライベートアドレスをもう一度ちゃんと理解してみる
tl; dr
- ipアドレスが何かなんとなく知っている人対象
- 実践で参考になる用
- 文字ばかりになってしまったので若干読みにくいかも。。
アドレスの範囲
プライベートアドレスは、以下の範囲で使うことができます
10.0.0.0 ~ 10.255.255.255 (約1677万アドレス)
172.16.0.0 ~ 172.31.255.255 (約104万アドレス)
192.168.0.0 ~ 192.168.255.255 (約6万アドレス)
CIDR表記
たまーに、192.168.10.4/24
みたいな表現をみることがあります
このipに/24
の部分を足した形式が、CIDR表記になります
範囲はサブネットマスクによって分けられます
例えば、
255.255.255.0(10進数)
=
(2進数)11111111.11111111.11111111.00000000
ですが、
例えば、こんな定義があったとします。
inet 192.168.10.4 netmask 0xffffff00
というのが自分のアドレスだっとします。
ちなみに
0xffffff00(16進数) = 255.255.255.0 = 11111111 11111111 11111111 00000000
= 256(10進数)
になります。
この場合範囲表記として以下
192.168.10.0/24
ネットワークアドレスとして以下になります
192.168.10.0
/24はサブネットマスクの左からの1の数をを表してます。
ちなみにこの1の部分は「ネットワーク部」と呼びます。
このサブネットをみて、254個(※256-2をする)がipaddressとして使える範囲で使っているとわかることができます。
ネットワーク範囲
192.168.10.0 - 192.168.10.255
※256-2
先頭のアドレスは「ネットワークアドレス」
最終のアドレスは「ブロードキャストアドレス」
になるため利用できないため
応用した使い方
例えば、nginxのip制限とかでこの表記を使うことができます。
下記みたいな表記があったとします。
location /check {
allow 10.6.0.0/16;
}
/16 = 255.255.0.0 = 65,536 = 0xffff0000 = 11111111 11111111 00000000 00000000
なので、
10.6.0.0 - 10.6.255.255
の範囲で許容することがわかります。
では、10.x.x.x
全て許可したいという場合はなんと書けばいいでしょうか?
考え方としては、ネットワーク部の左8個は変えないので、それ以外が0
11111111 00000000 00000000 00000000
となる。 これが /8として表現できる
なので正解は
10.0.0.0/8
になります。
以上です
参考)
https://www.bungu-do.jp/tools/netmask
https://wa3.i-3-i.info/word11990.html
Author And Source
この問題について(プライベートアドレスをもう一度ちゃんと理解してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/lughshot/items/d5655adfe8787b6f6b68著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .