4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IPアドレスのプレフィックス、サブネットマスク計算

Last updated at Posted at 2017-11-10

IP アドレスのプレフィックス、サブネットマスク計算、面倒ですよね。
あんなの暗記したくないですよね。
私は暗記してません。
手元の環境で常に ipcalc.pl が使えるようにしてあります。
http://jodies.de/ipcalc

Perl のスクリプトなんで何処でも気軽に動かせるのでイイ!!
これさえあれば Cisco 機器へ設定するときに間違えることもない!!w

使用例

標準的な実行

./ipcalc.pl 10.1.1.123/24
Address:   10.1.1.123           00001010.00000001.00000001. 01111011
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.1.1.0/24          00001010.00000001.00000001. 00000000
HostMin:   10.1.1.1             00001010.00000001.00000001. 00000001
HostMax:   10.1.1.254           00001010.00000001.00000001. 11111110
Broadcast: 10.1.1.255           00001010.00000001.00000001. 11111111
Hosts/Net: 254                   Class A, Private Internet

> ./ipcalc.pl 10.1.1.123 255.255.255.0
Address:   10.1.1.123           00001010.00000001.00000001. 01111011
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.1.1.0/24          00001010.00000001.00000001. 00000000
HostMin:   10.1.1.1             00001010.00000001.00000001. 00000001
HostMax:   10.1.1.254           00001010.00000001.00000001. 11111110
Broadcast: 10.1.1.255           00001010.00000001.00000001. 11111111
Hosts/Net: 254                   Class A, Private Internet

  • 取りあえず情報が全部出てくる
  • prefix いれても、subnetmask どちらを入れてもOK
  • 私はこの表示から、必要な情報をコピペして使ってます

/26 って /28 にするとどうなんだっけ?

> ./ipcalc.pl -b 10.1.1.123/26 28
Address:   10.1.1.123           
Netmask:   255.255.255.192 = 26 
Wildcard:  0.0.0.63             
=>
Network:   10.1.1.64/26         
HostMin:   10.1.1.65            
HostMax:   10.1.1.126           
Broadcast: 10.1.1.127           
Hosts/Net: 62                    Class A, Private Internet

Subnets after transition from /26 to /28

Netmask:   255.255.255.240 = 28 
Wildcard:  0.0.0.15             

 1.
Network:   10.1.1.64/28         
HostMin:   10.1.1.65            
HostMax:   10.1.1.78            
Broadcast: 10.1.1.79            
Hosts/Net: 14                    Class A, Private Internet

 2.
Network:   10.1.1.80/28         
HostMin:   10.1.1.81            
HostMax:   10.1.1.94            
Broadcast: 10.1.1.95            
Hosts/Net: 14                    Class A, Private Internet

 3.
Network:   10.1.1.96/28         
HostMin:   10.1.1.97            
HostMax:   10.1.1.110           
Broadcast: 10.1.1.111           
Hosts/Net: 14                    Class A, Private Internet

 4.
Network:   10.1.1.112/28        
HostMin:   10.1.1.113           
HostMax:   10.1.1.126           
Broadcast: 10.1.1.127           
Hosts/Net: 14                    Class A, Private Internet


Subnets:   4
Hosts:     56
  • -bオプションでバイナリ情報非表示

Excel の設定シートにIPアドレス書くのめんどい

> ./ipcalc.pl -b 10.1.1.123/28 32 | awk '/Hostroute/{print $2}'
10.1.1.112
10.1.1.113
10.1.1.114
10.1.1.115
10.1.1.116
10.1.1.117
10.1.1.118
10.1.1.119
10.1.1.120
10.1.1.121
10.1.1.122
10.1.1.123
10.1.1.124
10.1.1.125
10.1.1.126
10.1.1.127
  • awk と組み合わせて必要な情報だけ表示 --> Excel に貼り付け

IPv6 の場合

最近は使ってないけど、IPv6 を計算するときはipv6gen.pl使ってます。

  • https://github.com/vladak/ipv6gen
    • このツール、16進数のローマ字が大文字になるのがちょっと好きじゃない
    • 標準のオプションで小文字にして欲しいなぁ
    • IPv6 の表記は小文字にしましょうって、どっかのRFCに書いてなかったっけ?
    • この記事書くときに配布元見たら、version 1 になっててビックリした

え? IPv6 なんて使わないって??
。。。 ( TДT)

実行例

> ./ipv6gen.pl feC0::/10 12
FEC0::/12
FED0::/12
FEE0::/12
FEF0::/12

配布元にいっぱいサンプル掲載されてます

最後に

CentOS7 とかだと、ipcalc ってコマンドが入ってますが、あれってprefixだとか、subnetmaskとか1個ずつしか表示してくれない(?)ですよね。
「取りあえず全部表示してくれ!! 必要な情報だけコピペするから!!」というのが個人的な意見。

他の人はどうしてんだろ?
暗記?
他のツール使ってる?
そもそもそんなの必要ない?w

4
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?