【ITニュース解説】第865回 UbuntuでDHCPサーバーを構築する(Ubuntu 24.04 LTS対応版)

作成日: 更新日:

ITニュース概要

Ubuntu 24.04 LTSでDHCPサーバーを構築する手順を解説。ネットワーク機器にIPアドレスを自動割り当てするサーバーの設定方法を、システムエンジニアを目指す初心者向けに分かりやすく説明する。

ITニュース解説

ネットワークに接続する多くのデバイス、例えばパソコンやスマートフォン、プリンターなどがインターネットを利用するためには、それぞれがネットワーク内で区別されるための住所、つまりIPアドレスを持っている必要がある。このIPアドレスは、一つ一つが重複することなく、正しく設定されていなければネットワーク通信はできない。もしネットワーク内のすべてのデバイスに手動でIPアドレスを設定しようとすると、デバイスが増えるにつれて設定の手間が増大し、設定ミスによる重複や通信不良といった問題が発生しやすくなる。このような課題を解決し、ネットワーク管理を効率化するために利用されるのがDHCPサーバーである。 DHCP(Dynamic Host Configuration Protocol)サーバーは、ネットワークに接続してきたデバイスに対し、自動的にIPアドレスやその他必要なネットワーク設定情報を提供する役割を担う。デバイスがネットワークに接続すると、DHCPサーバーはあらかじめ設定されたIPアドレスの範囲(IPアドレスプールと呼ぶ)の中から、まだ使われていないIPアドレスを一つ選んでそのデバイスに割り当てる。この際、IPアドレスだけでなく、サブネットマスク、デフォルトゲートウェイ、DNSサーバーのアドレスといった、インターネットに接続するために不可欠な情報も併せて提供する。これにより、ユーザーはデバイスをネットワークに接続するだけで、面倒な設定をすることなくすぐにネットワークを利用できるようになる。これは、ITインフラを管理するシステムエンジニアにとって非常に重要な技術の一つだ。 今回のニュース記事では、サーバーOSとして広く利用されているUbuntuの最新長期サポート版であるUbuntu 24.04 LTSを使って、このDHCPサーバーを構築する手順が解説されている。LTSとは「Long Term Support」の略で、長期間にわたってセキュリティアップデートや安定したサポートが提供されるバージョンを意味する。そのため、企業や組織のシステム基盤として安心して利用できるという特徴がある。このような安定した環境でDHCPサーバーを構築することは、信頼性の高いネットワーク運用に直結する。 DHCPサーバーの構築は、主にいくつかのステップに分かれる。まず最初に行うのは、DHCPサーバー機能を提供するソフトウェアのインストールである。Ubuntuでは通常、「ISC DHCP Server」というパッケージが利用される。このパッケージをインストールすることで、DHCPサーバーとして動作するためのプログラムがシステムに導入される。 次に、DHCPサーバーの動作を決定するための設定ファイルの編集が重要となる。主な設定ファイルは、通常`/etc/dhcp/dhcpd.conf`という場所にあり、ここでDHCPサーバーがどのようなIPアドレスを、どのようなルールで割り当てるかを詳細に記述する。例えば、どのネットワーク(サブネット)に対してサービスを提供するのか、どのIPアドレスの範囲から割り当てるのか、IPアドレスの貸与期間(リース期間)をどのくらいにするのか、といった基本的な情報を設定する。また、デフォルトゲートウェイのアドレスやDNSサーバーのアドレスもここで指定する。これらの情報は、DHCPサーバーからIPアドレスを受け取ったクライアントデバイスが、インターネットに接続したり、名前解決を行ったりするために必須となるものだ。 さらに、特定のデバイスに対しては、常に同じIPアドレスを割り当てたいというニーズがある場合がある。例えば、ネットワークプリンターやファイルサーバーなど、常に同じIPアドレスでアクセスできる方が都合が良いデバイスだ。このような場合、DHCPサーバーの設定ファイルに、そのデバイスのMACアドレス(ネットワークアダプターに固有の物理アドレス)と、割り当てたい固定IPアドレスを紐付けて記述することで、DHCPサーバーは常に指定されたIPアドレスをそのデバイスに提供するようになる。これは「固定IPアドレス割り当て」や「DHCP予約」などと呼ばれる機能である。 設定ファイルの編集が終わったら、DHCPサーバーのサービスがどのネットワークインターフェース(物理的なネットワーク接続口)で動作するかを指定する設定も行う必要がある。これにより、複数のネットワークインターフェースを持つサーバーにおいて、どのネットワークセグメントに対してDHCPサービスを提供するのかを明確にできる。この設定は、別の設定ファイル(例えば`/etc/default/isc-dhcp-server`など)で行われることが多い。 一連の設定が完了したら、DHCPサーバーのサービスを起動し、システムが起動するたびに自動的にサービスが開始されるように設定する。Ubuntuでは`systemctl`コマンドを用いてこれらのサービスの起動・停止・有効化を管理する。サービスが正常に起動すれば、DHCPサーバーはクライアントデバイスからのIPアドレス要求に応答できるようになる。 しかし、DHCPサーバーを起動しただけでは、まだ通信ができない場合がある。これは、サーバーのセキュリティを守るための「ファイアウォール」が、DHCP関連の通信をブロックしている可能性があるためだ。DHCPの通信はUDPプロトコルを使用し、クライアントからの要求は通常67番ポート、サーバーからの応答は68番ポートで行われる。そのため、これらのポート番号を使った通信をファイアウォールで許可する設定を追加する必要がある。これにより、クライアントとDHCPサーバー間の通信がスムーズに行われるようになる。 最後に、DHCPサーバーが正しく動作しているかを確認する作業が不可欠である。テスト用のクライアントデバイスをネットワークに接続し、IPアドレスが正しく自動的に割り当てられるかを確認する。また、サーバーのログファイル(`/var/log/syslog`など)を確認することで、DHCPサーバーがクライアントからの要求にどのように応答しているか、エラーが発生していないかなどを詳細に把握できる。これにより、問題が発生した場合の原因特定やトラブルシューティングを行うことが可能となる。 このように、DHCPサーバーの構築と運用は、ネットワークの安定稼働と管理効率化に大きく貢献する。大規模な企業ネットワークから、自宅の小規模ネットワークまで、現代のほとんどのIPネットワークでDHCPは必須のサービスとなっている。システムエンジニアを目指す上で、このような基本的なネットワークサービスの構築と理解は、非常に重要な基礎知識となるだろう。Ubuntuのような汎用性の高いOSでDHCPサーバーを構築する経験は、実践的なスキルを身につける上で大いに役立つ。

【ITニュース解説】第865回 UbuntuでDHCPサーバーを構築する(Ubuntu 24.04 LTS対応版)