ウェブサイト検索

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


大規模ネットワークのサブネット化はセキュリティを向上させ、パフォーマンスを増加させ、ネットワークを論理的に整理します。しかし、いくつかの計算は難しいです。Linuxのipcalcコマンドは、計画段階を簡単にします。

サブネットとは何ですか?

サブネット化は、大きなネットワークをより小さく、接続された部分に分ける方法です。各部分はサブネットと呼ばれます。あなたは、販売チームが一つのサブネットを使い、人事が別のサブネットを使い、カスタマーサポートがさらに別のサブネットを使うように、ネットワークを整理することを選ぶかもしれません。

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

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

サブネットは、無許可のユーザーやマルウェアがあなたのネットワークを無制限に移動するのを防ぐこともできます。少なくとも、彼らの動きを遅くすることができます。サブネットを潜水艦のように考えてください。あるセクションに船体の亀裂が入った場合、他の部分が浸水しないように隔壁のドアを閉めることができます。サブネットは、まさにその隔壁のドアのようなものです。

大規模なネットワークをサブネット化する行為自体によって、パフォーマンスの利点が得られることがよくあります。ネットワークが十分に大きく、忙しい場合、そのパフォーマンスの向上は各サブネット内のネットワークトラフィックの削減から生まれます。ARPトラフィックの減少だけでも、物事がより敏感に感じられるかもしれません。

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

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

それはすべて素晴らしいことに聞こえますし、実際そうです。しかし、私たちはIPアドレスの設定に非常に注意しなければなりません。ネットワークIDにはIPアドレスの一部を使用し、デバイスアドレスにはIPアドレスの一部を使用する必要があります。また、サブネットを使用する場合、サブネット用にIPアドレスの一部も使用する必要があります。

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

数字はコンピュータ内で二進値の並びとして表現されます。サブネット内のデバイスが非常に少ない場合、デバイスアドレス番号範囲に未使用の高位ビットがあると、これらの「余った」二進ビットはサブネットIDに使用することができます。

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

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

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

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

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

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

4番目の数字はゼロで、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

Manjaroにipcalcをインストールするには、以下のコマンドを使用します:

sudo pacman -Sy ipcalc

最低限、ipcalcにIPアドレスを渡す必要があります。それだけを渡すと、ipcalcはサブネットマスク255.255.255.0を仮定します。それはネットワークとIPアドレスに関する情報の出力を提供します。

ipcalc 192.168.1.0

出力にはドット小数値とそれに相当するバイナリ値が含まれています。これが各情報ビットの意味です。

  • アドレス: 192.168.1.0。私たちが提供したIPアドレスです。
  • ネットマスク:255.255.255.0=24。サブネットマスク。コマンドラインでサブネットマスクが指定されていない場合は255.255.255.0が使用されます。この24は、サブネットマスクに1が設定されているビットが24個あることを意味します。これらはネットワークIDおよびサブネットIDに使用されます。左から数えます。1が設定されたビットは、途切れのない1の列になります。その中に0のビットがあってはなりません。バイナリで1が設定されたビット8個は10進数で255になります。したがって、24はすべて1に設定された8ビットの3セットを意味します。ドットデシマルでは255.255.255を得ます。残りのビットは0になり、最終的に255.255.255.0になります。したがって、1が設定されたビットをカウントし、それを24のような10進数で表示することで、サブネットマスク全体を伝えることができます。これをクラスレス間ドメインルーティング表記と呼びます。
  • ワイルドカード: 0.0.0.255。これはCiscoネットワークデバイスで許可リスト/ブロックリスト設定の一部として使用されます。
  • ネットワーク: 192.168.1.0/24。これはCIDR表記で説明されたネットワークIPアドレスとサブネットです。このサブネットにルーターが接続されている場合、通常は許可された範囲内で最も低いIPアドレスが割り当てられます。
  • HostMin: 192.168.1.1。このサブネットに接続されたデバイスが持つことのできる最も低いIPアドレスです。
  • HostMax: 192.168.1.254。このサブネットに接続されたデバイスが持つことのできる最高のIPアドレスです。
  • ブロードキャスト: 192.168.1.255。これはブロードキャストアドレスです。このIPアドレスに送信されたネットワークパケットは、サブネット内のすべてのデバイスにエコーされます。
  • ホスト/ネット: 254。このサブネットに接続できるデバイスの最大数。この例では、デバイスのIPアドレス範囲は0から255までで、256の異なるIPアドレス(0から255まで)を特定できます。しかし、ネットワークIPアドレス(「.0」アドレス)に1つのIPアドレスを失い、ブロードキャストIPアドレス(「.255」アドレス)に1つのIPアドレスを失います。
  • クラス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またはドット十進法のいずれかを使用できます。CIDRでは、スペースはオプションです。これらのコマンドはすべて同等です。

ipcalc 192.168.1.0/16
ipcalc 192.168.1.0 /16
ipcalc 192.168.1.0 255.255.0.0

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

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

しかし、彼らは全員まだ一つのサブネット内にいるでしょう。

サブネットを使用したipcalc

ネットワークに、それぞれ20、15、80のホスト容量を持つ3つのサブネットを追加したいとしましょう。-s(分割)オプションを使用し、希望するサブネットサイズを続けて指定できます。

ipcalc 192.168.1.0 -s 20 15 80

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

要約すると、私たちに与えられた情報は次のとおりです:

最初のサブネット:

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

第二サブネット:

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

第三サブネット:

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

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

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

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

より大きく複雑なネットワークでは、ミスが入り込むのが非常に簡単であることが明らかになります。ipcalcを使用すれば、値が正しいことを確信できます。ネットワークを構成する必要はありますが、少なくとも使用している値が正しいことを知っています。

関連記事: