DHCP(Dynamic Host Configuration Protocol)とは?初心者向けにわかりやすく解説

DevOps

DHCP (Dynamic Host Configuration Protocol) とは?

ネットワークに接続された機器に対して、自動でIPアドレスを割り当てる仕組みがあると便利だと感じる方は多いでしょう。

DHCP は、そのようなニーズを満たすための仕組みです。

特に初心者の皆さんにとっては、IPアドレスの手動設定が負担に感じられることも少なくありません。

DHCPを使えば、ネットワークに繋ぐだけで機器が自動的に必要な設定を受け取り、すぐに通信を始められます。

ここでは、その基本的な仕組みや実務での活用方法を紹介します。

DHCPの目的と基本的な仕組み

DHCPは、ネットワークに参加する機器へ動的にIPアドレスやサブネットマスク、ゲートウェイなどを配布するプロトコルです。

ネットワーク内には DHCPサーバー と呼ばれるものが存在し、クライアント(PCやスマホなど)は接続時にサーバーへ設定を要求します。

サーバーはIPアドレスを割り当て、必要なネットワーク情報を返します。

これによって利用者は、IPアドレスを自分で管理しなくても、ネットワークにアクセスできるようになります。

一方で、IPアドレスには有効期限があり、割り当てられたIPアドレスの期間が切れると再度サーバーとやり取りをして更新を行います。

この仕組みによって同じネットワーク内のIPアドレスを重複なく、効率的に管理できるわけです。

手動設定との違い

IPアドレスを手動設定する場合は、管理者がどのアドレスをどの機器に割り当てるかを記録し、重複を防ぐ必要があります。

複数の機器が多い環境では、IPアドレスの整理が大変です。

DHCPを導入すると、ユーザーは特に意識せずともネットワーク接続が行えます。

オフィスや自宅のWi-Fiがパスワードを入力しただけですぐに使える状態なら、それは多くの場合DHCPのおかげと考えられます。

また、IPアドレスが頻繁に変わる状況でもDHCPサーバーが管理するため、誤設定を防ぎやすいのが利点です。

実務での活用シーン

会社のオフィスネットワークや自宅のWi-Fiルーターでは、DHCPはほぼ当たり前のように利用されています。

たとえば、以下のようなシーンが考えられます。

  • ノートPCを持ち運んでいろいろなオフィスへ行く場合
  • スマートフォンをWi-Fiに接続する場合
  • ホテルやカフェなどのフリーWi-Fiでゲストが利用する場合

これらでは、利用者が細かいIPアドレスの設定をする必要はありません。

管理者はルーターやサーバーをDHCPサーバーとして設定しておけば、アクセスする機器に自動的にアドレスなどを割り当ててくれます。

企業の大規模ネットワークでは、複数のサブネットにわたってDHCPサーバーを運用しているケースもあります。

その場合は、特定の部署や拠点ごとにアドレス範囲を分けて管理することも多いです。

DHCPサーバーを用意する方法

ルーターとして使われる機器には、あらかじめDHCPサーバーの機能が備わっていることがあります。

自宅向けのブロードバンドルーターや企業向けのファイアウォールなどがその代表例です。

もし自前でDHCPサーバーを立ち上げたいなら、Linuxサーバーで ISC DHCPサーバー をインストールして構築する方法があります。

ここでは、Ubuntu系のLinux環境を例に簡単に紹介します。

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

インストール後は設定ファイルを編集して、DHCPサーバーがIPアドレスをどの範囲で割り当てるかを指定します。

DHCPサーバー設定ファイルの例 (Ubuntu)

次の例は /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 8.8.8.8, 8.8.4.4;
}

subnet は対象となるネットワークを示します。

range は割り当てるIPアドレスの範囲で、ここでは 192.168.1.100 から 192.168.1.200 までを動的に配布する設定です。

option routers はデフォルトゲートウェイを設定します。

option subnet-mask はサブネットマスクを指定します。

option domain-name-servers はDNSサーバーのIPアドレスを指定し、ここでは外部のDNSサービスを利用しています。

編集を終えたら、systemctl restart isc-dhcp-server などのコマンドでDHCPサービスを再起動すると設定が反映されます。

クライアント側の操作

DHCPクライアントは、設定を有効にすると自動的にDHCPサーバーへ問い合わせます。

Windowsの場合はネットワーク設定を「自動で取得」にしておくと、DHCPが優先的に利用されます。

LinuxやmacOSの場合も同様に、自動取得の設定にしておけばDHCPの割り当てを受けられます。

ネットワークトラブルが起きた際は、Windowsなら「ipconfig /release」「ipconfig /renew」、LinuxやmacOSなら「dhclient -r」「dhclient」などのコマンドで割り当ての再取得を試すことがよくあります。

DHCPのメリット

DHCPの大きなメリットは、手作業が減ることでしょう。

一括管理が可能になるため、ネットワーク管理者の負担を軽減できます。

同じアドレスの重複を防ぎやすく、ネットワーク上のトラブルを回避しやすい点も魅力的です。

また、接続する機器の台数や種類が増えても柔軟に対応できます。

スマートフォンやタブレット、IoTデバイスなど、さまざまな機器が登場してもDHCPがあれば問題ありません。

訪問者用のネットワークを用意する場合にも、DHCPが動的にIPを割り当ててくれるため、管理者は新しく来る人に静的アドレスを教える必要がなくなります。

注意点とトラブルシューティング

DHCPを使っていても、IPアドレスの割り当て範囲が狭いと、利用者が多くなったときに割り当てられるアドレスが足りなくなることがあります。

そのため、サブネットの規模や利用者数を見越してレンジを広めに確保することが大切です。

さらに、ネットワーク機器の配置によっては、DHCPリレーという仕組みを使わないと、別セグメントのDHCPサーバーからIPを取得できないことがあります。

DHCPリレーが適切に設定されていないと、クライアントがいつまでもIPアドレスを取得できません。

管理者としては、特定の端末に常に固定アドレスを割り当てたいケースもあります。

そういった場面では、DHCPサーバー側でMACアドレスに基づく 予約IPアドレス の設定が可能です。

これを使うと、サーバーやプリンターなどは常に同じIPを使用できます。

障害が起きた場合は、まずDHCPサーバーが起動しているかどうかを確認します。

設定ファイルのエラーがないかや、ファイアウォールによってDHCPの通信がブロックされていないかをチェックしてみるとよいでしょう。

DHCPv4とDHCPv6

現在、多くのネットワークで使われているのは DHCPv4 と呼ばれるIPv4向けの仕組みです。

一方で、IPv6向けにも DHCPv6 が存在します。

IPv6ネットワークでは「SLAAC」と呼ばれる自動設定機能があるため、DHCPが不要なケースもあります。

ただ、企業環境などでは細かいポリシーを実現するためにDHCPv6が選ばれることがあります。

初心者の皆さんがまず理解しておくべきなのはDHCPv4のほうです。

IPv4ネットワーク環境でDHCPの役割をしっかり理解しておくと、あとでIPv6に触れるときもスムーズに学習しやすくなります。

バージョン管理と最新情報への注意

DHCPサーバーにはいくつかの実装がありますが、LinuxではISC DHCPサーバーやKea DHCPなどが広く使われています。

いずれの実装も、運用されているバージョンによって設定方法やパラメータが変わる場合があります。

運用環境のドキュメントを必ず確認し、最新のマニュアルを参照することが大切です。

企業のセキュリティポリシーやネットワーク要件によっては、アップデートを行うタイミングが厳しく管理されている場合もあります。

そのため、変更を行うときには管理者同士で連携し、ネットワーク全体への影響を把握する必要があるでしょう。

運用で意識したいポイント

DHCPによる運用を快適にするためには、いくつかのポイントがあります。

  • 割り当て範囲のサイズを十分に確保する
  • 予約アドレスを設定し、固定が必要な機器には常に同じアドレスを与える
  • 有効期限を適切に設定し、短すぎず長すぎない期間を選ぶ
  • ログを監視し、異常がないかを定期的にチェックする

どれも大きな手間ではないですが、ネットワークを安定稼働させるうえで大切な取り組みです。

初心者の皆さんが最初にDHCPを運用するときは、まず手元の小規模な環境から設定を試してみるとよいでしょう。

DHCPとセキュリティの考え方

DHCP自体は、機器へIPアドレスを配布するプロトコルなので、認証の仕組みはほとんど含まれていません。

そのため、ネットワークに接続できる機器が多い状況では、不正な端末が勝手にIPアドレスを取得してしまう恐れがあります。

これを防ぐためには、ポート認証やMACアドレスフィルタリング、VLANなどの仕組みを組み合わせることが多いです。

さらに、社内ネットワークとゲスト用ネットワークを分離し、それぞれ別のDHCPサーバーを運用する設計もよく見かけます。

このようにDHCPだけではセキュリティが保証されないので、管理者はほかの対策と組み合わせる必要があります。

DHCP導入時のチェックリスト

導入や運用を始める際に、押さえておくとよい項目をまとめます。

  • ネットワーク構成を整理して、サブネットを明確に定義する
  • DHCPサーバーのIPレンジが十分な数をカバーできるように設定する
  • 特定の機器には予約IPアドレスを検討する
  • VLANセグメントをまたぐ場合はDHCPリレーを設定する
  • セキュリティ対策を考慮し、物理ポートやMACアドレスの制限も必要かどうか検討する
  • 定期的にログを監視し、アドレスが枯渇していないかなどを確認する

これらの項目を踏まえて環境を構築すると、ネットワーク利用者が快適に作業できるようになります。

DHCPは地味に感じるかもしれませんが、ネットワークの基盤となる大切な要素です。

まとめ

ここまで DHCP の基本から活用シーン、設定例、注意点などを解説しました。

企業や自宅など、ネットワークを使うあらゆる場面でDHCPは役立ちます。

初心者の皆さんでも、ルーターの管理画面を見れば「DHCPが有効」という項目を目にすることがあるでしょう。

その項目が、IPアドレスなどを自動で配布してくれる仕組みそのものです。

手動でのアドレス管理が不要になる反面、DHCPサーバーが止まるとネットワークに接続できなくなるというリスクもあります。

しかし、正しく設定・運用していれば、利便性や管理のしやすさを手にできます。

実際の現場で運用を始めるときは、まずは小規模な環境で試し、ログの確認やリレー設定などのノウハウを身につけるのがおすすめです。

DHCPに慣れておくと、ほかのネットワーク技術を学ぶときも理解しやすくなります。

ぜひ皆さんもDHCPをうまく活用して、ネットワーク管理を楽にしてみてください。

DHCPはシンプルな仕組みですが、ネットワーク管理の手間を大きく減らす効果があります。

活用シーンや設定を理解しておくと、将来の業務や学習にも役立つでしょう。

Shell Scriptをマスターしよう

この記事で学んだShell Scriptの知識をさらに伸ばしませんか?
Udemyには、現場ですぐ使えるスキルを身につけられる実践的な講座が揃っています。