ipcalc を使用して Linux でサブネット マスクを計算する方法

公開: 2022-08-28
Linux コマンド プロンプトを表示している青色の背景のラップトップ。
Fatmawati achmad zaenuri/Shutterstock.com

大規模なネットワークをサブネット化すると、セキュリティが向上し、パフォーマンスが向上し、ネットワークが論理的に編成されます。 しかし、いくつかの計算は難しいものです。 Linux のipcalcコマンドを使用すると、計画段階が簡単になります。

サブネット化とは?

サブネット化は、大規模なネットワークをより小さな接続された断片に分割する方法です。 各ピースはサブネットと呼ばれます。 営業チームが 1 つのサブネットを使用し、HR が別のサブネットを使用し、カスタマー サポートがさらに別のサブネットを使用するように、ネットワークを編成することを選択する場合があります。

サブネットとは何ですか? また、サブネットはネットワークにどのように影響しますか?
関連サブネットとは何ですか? また、サブネットはネットワークにどのように影響しますか?

これには大きな利点があります。 1 つ目は、セキュリティと制御に関するものです。 サブネット化がなければ、すべてが 1 つの大きな「フラット」ネットワークになります。 サブネット化を使用すると、他のサブネットと対話できるサブネットを決定できます。 異なるサブネットは異なる IP アドレス範囲を持ち、異なるサブネット マスクを使用します。これについては後で説明します。

ルーターは、あるサブネットからのトラフィックが別のサブネットに到達できるように構成する必要があります。 また、ルーターは管理対象デバイスであるため、異なるサブネット間で許可されるトラフィックの種類と相互作用を制御できます。

サブネット化により、未承認のユーザーやマルウェアがネットワークを無防備にローミングするのを防ぐこともできます。 または、少なくとも、速度が低下します。 潜水艦だと思ってください。 船体の 1 つのセクションで破損が発生した場合は、隔壁のドアを閉じて、船の残りの部分が浸水しないようにすることができます。 サブネットは隔壁のドアのようなものです。

多くの場合、大規模なネットワークをサブネット化するだけでパフォーマンスが向上します。 ネットワークが十分に大きく、十分にビジーである場合、そのパフォーマンスの向上は、各サブネット内のネットワーク トラフィックの削減によってもたらされます。 ARP トラフィックの低下だけでも、応答性が向上したように見える場合があります。

そしてもちろん、ネットワークが区分化されると、IT スタッフがインフラストラクチャを理解し、維持し、サポートすることが容易になります。

IP アドレスとサブネット マスク

それはすべて素晴らしいですね。 しかし、これは、IP アドレッシングに非常に細心の注意を払う必要があることを意味します。 ネットワーク ID には IP アドレスの一部を使用し、デバイスのアドレス指定には IP アドレスの一部を使用する必要があります。 サブネットでは、サブネットの IP アドレスの一部も使用する必要があります。

Linux で ip コマンドを使用する方法
関連Linux で ip コマンドを使用する方法

IPv4 IP アドレスは、ピリオドで区切られた 4 つの 3 桁の数字を使用します。 これは、ドット 10 進数表記と呼ばれます。 これらの数値の範囲は 0 ~ 255 です。最初の 2 つの数値はネットワーク ID です。 3 番目はサブネット ID を保持するために使用され、4 番目の番号はデバイス アドレスを保持するために使用されます。 それは単純な場合です。

数値は、コンピューター内でバイナリ値のシーケンスとして表されます。 サブネット内のデバイスが非常に少なく、デバイス アドレス番号の範囲に未使用の上位ビットがある場合、これらの「予備の」バイナリ ビットをサブネット ID で使用できます。

ルーターやその他のネットワーク デバイスは、IP アドレスの構成をどのように認識していますか? サブネット ID が 3 番目の数値に完全に含まれているのか、それとも 4 番目の数値の上位ビットの一部を盗んでいるのかを示すものは何ですか? その答えは、サブネット マスクです。

サブネット マスクは、IP アドレスのように見えます。 これは 4 つの 3 桁の数字であり、数字の範囲は 0 から 255 です。しかし、実際には 2 進数で考える必要があります。

サブネット マスクの 1 であるすべてのバイナリ ビットは、IP アドレスの対応するビットがネットワーク ID またはサブネット ID を参照していることを意味します。 サブネット マスクのゼロはすべて、IP アドレスの対応するビットがデバイス アドレスを参照していることを意味します。

一般的な IP アドレスにサブネット マスクを適用してみましょう。 サブネット マスクは、最初の 3 つの数値がそれぞれ 255 で、4 番目の数値が 0 です。

  • IP アドレス: 192.168.1.0
  • サブネットマスク: 255.255.255.0 = 11111111.11111111.11111111.00000000

2 進数で 255 は 11111111 です。サブネット マスク ビットが 1 に設定されている場合、IP アドレスの対応するビットはネットワーク ID とサブネット ID を参照します。 サブネット マスクの 255 は、IP アドレスの対応する番号のすべてのビットがネットワーク ID またはサブネット ID を参照することを意味します。

4 番目の数値は 0 で、1 に設定されるビットがないことを意味します。 したがって、その番号はネットワーク デバイスのアドレスを指します。 したがって、サブネット マスク 255.255.255.0 は、IP アドレスの最初の 3 つの数字がネットワーク ID とサブネット ID を保持し、最後の数字がネットワーク デバイス アドレス用に予約されていることを意味します。

つまり、これらすべての副作用として、個々のデバイスを識別するために使用できる IP アドレスのビット数もサブネット マスクによって決定されるということです。 つまり、サブネット マスクは、IP アドレスのどのビットがサブネット識別するか、およびサブネットに含めることができるデバイスの数を決定します。

サブネット マスクを変更すると、ネットワークに劇的な影響があります。 だからこそ、私たちはそれを正しくする必要があります。

ipcalc コマンド

ipcalcを使用すると、ネットワークを正しくサブネット化するために必要なサブネット マスクと IP アドレスを簡単に判断できます。 ipcalcは Fedora 36 に既にインストールされていました。Ubuntu 22.04 と Manjaro 21 にインストールする必要がありました。

Ubuntu のコマンドは次のとおりです。

 sudo apt install ipcalc 

Ubuntu への ipcalc のインストール

Manjaro にipcalcをインストールするには、以下を使用します。

 sudo pacman -Sy ipcalc 

Manjaroにipcalcをインストールする

少なくとも、IP アドレスをipcalcに渡す必要があります。 これだけ渡すと、 ipcalcはサブネット マスクが 255.255.255.0 であると想定します。 ネットワークと IP アドレスに関する情報の読み出しを提供します。

 ipcalc 192.168.1.0 

IP アドレスを調べる ipcalc からの出力

出力には、ドット 10 進値とそれに相当する 2 進値が含まれます。 これが、情報の各ビットの意味です。

  • アドレス: 192.168.1.0。 私たちが提供したIPアドレス。
  • ネットマスク: 255.255.255.0 = 24。サブネット マスク。 コマンド ラインでサブネット マスクが指定されていない場合は、255.255.255.0 が使用されます。 24 は、サブネット マスクで 1 に設定された 24 ビットがあったことを意味します。 これらは、ネットワーク ID とサブネット ID に使用されます。 左から数えます。 1 に設定されたビットは、連続した 1 のシーケンスになります。 それらの間に 0 ビットがあってはなりません。 2 進数で 8 ビットを 1 に設定すると、10 進数で 255 になることがわかっています。 したがって、24 は 8 ビットの 3 つのセットがすべて 1 に設定されていることを意味します。 残りのビットは 0 になり、255.255.255.0 になります。 したがって、1 に設定されたビットをカウントし、それを 24 のような 10 進数として表すことで、サブネット マスク全体を伝えることができます。 これは、クラスレス ドメイン間ルーティング表記法と呼ばれます。
  • ワイルドカード: 0.0.0.255。 これは、シスコのネットワーク デバイスで許可リスト/ブロック リスト設定の一部として使用されます。
  • ネットワーク: 192.168.1.0/24。 これは、CIDR 表記で記述されたネットワーク IP アドレスとサブネットです。 このサブネットにルーターが接続されている場合、多くの場合、許容範囲内で最小の IP アドレスが割り当てられます。
  • ホスト最小: 192.168.1.1。 このサブネットに接続されたデバイスが持つことができる最小の IP アドレス。
  • ホストマックス: 192.168.1.254. このサブネットに接続されたデバイスが持つことができる最大の IP アドレス。
  • ブロードキャスト: 192.168.1.255. これはブロードキャスト アドレスです。 この IP アドレスに送信されたネットワーク パケットは、サブネット内のすべてのデバイスにエコーされます。
  • Hosts/Net : 254。このサブネットに接続できるデバイスの最大数。 この例では、デバイスの IP アドレス範囲は 0 から 255 です。つまり、256 の異なる IP アドレス (0 から 255) を識別できます。 しかし、ネットワーク IP アドレス (「.0」アドレス) の IP アドレスが 1 つ失われ、ブロードキャスト IP アドレス (「.255」アドレス) の IP アドレスが 1 つ失われます。
  • クラス C、プライベート インターネット: ネットワークのクラス

ネットワークのクラスは、ネットワーク ID とサブネット ID に使用されるビット数と、ネットワークのクラスを格納するために使用される先行ビットと呼ばれるいくつかのビットによって示されます。

  • クラス A : 先行ビット 0。IP アドレスは 0 から始まります。デフォルトのサブネット: 255.0.0.0。 CIDR 表記は /8 です。
  • クラス B : 先頭ビット 10。IP アドレスは 128 で始まります。デフォルトのサブネット: 255.255.0.0。 CIDR 表記は /16 です。
  • クラス C : 先頭ビット 110。IP アドレスは 192 で始まります。デフォルトのサブネット: 255.255.255.0。 CIDR 表記は /24 です。
  • クラス D : 先頭ビット 1110。IP アドレスは 224 で始まります。デフォルト サブネット: 未定義。 CIDR 表記は /4 です。

サブネットマスクの変更

ipcalcコマンドは設定を変更できないため、何かに影響を与えることを恐れずに、やりたいことを何でも試すことができます。 サブネット マスクの変更がネットワークに与える影響を見てみましょう。

CIDR またはドット 10 進数表記のいずれかを使用できます。 CIDR では、スペースはオプションです。 これらのコマンドはすべて同等です。

 ipcalc 192.168.1.0/16
 ipcalc 192.168.1.0 /16
 ipcalc 192.168.1.0 255.255.0.0 

新しいサブネット マスクを IP アドレスに適用するように ipcalc に要求した場合の出力

これにより、そのネットワークに接続できるデバイスの数が大幅に増加します。 このネットワークのネットワーク デバイス アドレッシングは、192.168.0.0 で始まり、192.168.255.254 で終わります。

以前と同様に、ネットワーク アドレス用に 1 つ、ブロードキャスト アドレス用に 1 つのアドレスを失います。 しかしそれでも、65,534 という驚異的な数のデバイスが可能です。

しかし、それらはすべて 1 つのサブネットにとどまります。

サブネットでの ipcalc の使用

それぞれ 20、15、および 80 ホストの容量を持つ 3 つのサブネットをネットワークに追加するとします。 -s (分割) オプションを使用して、必要なサブネット サイズを続けます。

 ipcalc 192.168.1.0 -s 20 15 80 

ipcalc でネットワークを 3 つのサブネットに分割するコマンド

最初のセクションは前に見たものと同じで、 ipcalcは、コマンド ラインで指定した IP アドレスを含むネットワークの分析を提供します。 サブネットについては、次の 3 つのセクションで説明します。

ネットワークを 3 つのサブネットに分割するための ipcalc の推奨事項

要約すると、提供される情報は次のとおりです。

最初のサブネット:

  • サブネットマスク: 255.255.255.224
  • 最初のデバイス アドレス: 192.168.0.129
  • 最後のデバイス アドレス: 192.168.0.158
  • サブネット容量: 30 デバイス

2 番目のサブネット:

  • サブネットマスク: 255.255.255.224
  • 最初のデバイス アドレス: 192.168.0.161
  • 最後のデバイス アドレス: 192.168.0.190
  • サブネット容量: 30 デバイス

3 番目のサブネット:

  • サブネットマスク: 255.255.255.128
  • 最初のデバイス アドレス: 192.168.0.1
  • 最後のデバイス アドレス: 192.168.0.126
  • サブネット容量: 126 デバイス

バイナリ値の緑色のエントリに注意してください。 これらは、サブネット用に予約されているビットです。

また、1 番目と 2 番目のサブネットのサブネット マスクは同じ 27 であるため、ハードウェア フィールドの 3 ビットがサブネット インジケータに使用されていることに注意してください。 最初のサブネットでは、ビットは 100 で、2 番目のサブネットでは 101 です。この違いにより、ルーターはネットワーク トラフィックを正しく転送できます。

すぐにエスカレートする可能性があります

より大規模またはより複雑なネットワークでは、間違いが入り込みやすいことは明らかです。 ipcalcを使用すると、値が正しいことを確信できます。 ネットワークを構成する必要がありますが、少なくとも、使用している値が正しいことはわかっています。