見出し画像

IPアドレスを割り当てる【DHCP】の仕組みを調査

はじめに

ネットワーク上のデバイスを識別するための値として、IPアドレスというものがあります。
IPアドレスはデバイスが増えれば増えるだけ、一緒に増加していきます。

じゃあ、そんな膨大なIPアドレスは誰が振り分けてくれるのでしょう。
人間が手動で設定する方法もありますが、今回はそれを自動で行ってくれるDHCPというものについてまとめていきます。


DHCPとは

DHCP(Dynamic Host Configuraion Protocol)は、ネットワーク上のデバイスにIPアドレスや他のネットわーう設定を自動的に割り当てるためのプロトコルです。

ネットワーク内の各デバイスに手動で設定を行わなくていいので
管理が簡単です。


DHCPの基本的な動作

DHCPは以下の4つのステップで動作します。

1.Discover(発見)
新しくネットワークに接続されたデバイス(クライアント)は、IPアドレスを要求するためにDHCPサーバーを探します。
この要求はブロードキャストメッセージとして送信され、ネットワーク上のすべてのデバイスが受信します。

2.Offer(提供)
DHCPサーバーは、利用可能なIPアドレスとその他の設定情報(サブネットマスク、デフォルトゲートウェイ、DNSサーバーなど)を含む応答メッセージをクライアントに送信します。

3.Request(要求)
クライアントは、提供された情報の中からIPアドレスを選択し、そのアドレスを要求するメッセージをDHCPサーバーに送信します。

4.Acknowledge(確認)
DHCPサーバーはクライアントの要求を承認し、そのIPアドレスをクライアントに割り当てることを確認します。
これにより、クライアントはネットワーク上で通信を開始できます。


DHCPの利点

DHCPの主な利点は以下の通りです。

・自動化
IPアドレスの手動設定が不要になり、ネットワーク管理が大幅に簡素化されます。

・一貫性
中央管理されたサーバーからIPアドレスや他の設定情報が提供されるため、ネットワーク設定に一貫性が保たれます。

・効率性
DHCPは利用可能なIPアドレスを自動的に再利用するため、IPアドレスの効率的な利用が可能です。


DHCPの構成要素

DHCPには以下の構成要素があります。

1.DHCPサーバー
IPアドレスとその他のネットワーク設定情報を管理し、クライアントに提供。

2.DHCPクライアント
ネットワークに接続されるデバイスで、DHCPサーバーからIPアドレスを取得。

3.DHCPリソース
DHCPサーバーからクライアントに割り当てられたIPアドレスは、一定期間(リース期間)だけ有効。
リース期間が終了すると、クライアントは新しいIPアドレスを要求するか、リースを更新する必要がある。


DHCPの設定例

実際にDHCPサーバーを設定する方法について、以下の簡単な例を示します。
以下の例では、Linuxでの設定を想定しています。

DHCPサーバーのインストール
まず、DHCPサーバーソフトウェアをインストールします。
Debian系のLinuxディストリビューションを使用している場合、以下のコマンドを実行します。

sudo apt-get update
sudo apt-get install isc-dhcp-server


設定ファイルの編集
次に、DHCPサーバーの設定ファイル(通常は'/etc/dhcp/dhcpd.conf')を編集して、ネットワーク設定を指定します。
以下は基本的な設定例です。

default-lease-time 600;
max-lease-time 7200;
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 192.168.1.1, 8.8.8.8;
  option domain-name "example.com";
}

この設定では、DHCPサーバーは192.168.1.0/24サブネット内で192.168.1.100から192.168.1.200の範囲のIPアドレスをクライアントに割り当てます。
また、デフォルトゲートウェイ、サブネットマスク、DNSサーバー、ドメイン名を指定しています。

DHCPサーバーの起動
設定ファイルを編集したら、DHCPサーバーを起動します。

sudo systemctl start isc-dhcp-server

また、サーバーを再起動しても自動的に起動するように設定します。

sudo systemctl enable isc-dhcp-server

まとめ

DHCPサーバーは、ネットワーク管理を簡素化し、IPアドレスの割り当てを自動化する強力なツールです。

これがあるから、新しくデバイスが追加されたりしても手動でどのIPアドレスが使えるか探し、割り当てるといったことをしなくてよくなります。

私自身インフラ辺りはしばらくやることはなさそうなので、技術は身に付かなくとも、知識として知っておくのは損ではないと思うので覚えておきたい項目です。

更新の励みになりますので、読んでみて少しでもよかったら、スキ・コメント・サポートよろしくお願いいたします!!

記事がよければサポートお願いします!