ウェブサイト検索

Ubuntu および Debian に DHCP サーバーをインストールする方法


動的ホスト構成プロトコル (DHCP) は、ホスト コンピュータに IP アドレスと関連するネットワーク構成をサーバーから自動的に割り当てるために使用されるネットワーク プロトコルです。

DHCP サーバーによって DHCP クライアントに割り当てられる IP アドレスは「リース」されており、リース時間は通常、クライアント コンピュータが接続または DHCP 構成を必要とする可能性がある期間によって異なります。

DHCP はどのように機能しますか?

以下は、DHCP が実際にどのように動作するかを簡単に説明したものです。

  • ネットワークに接続されたクライアント (DHCP を使用するように構成されている) が起動すると、DHCPDISCOVER パケットが DHCP サーバーに送信されます。
  • DHCP サーバーは DHCPDISCOVER 要求パケットを受信すると、DHCPOFFER パケットで応答します。
  • 次に、クライアントは DHCPOFFER パケットを取得し、DHCPOFFER で提供されたネットワーク構成情報を受信する準備ができていることを示す DHCPREQUEST パケットをサーバーに送信します。strong>パケット。
  • 最後に、DHCP サーバーはクライアントからDHCPREQUEST パケットを受信した後、クライアントに割り当てられた IP アドレスの使用が許可されたことを示すDHCPACK パケットを送信します。

この記事では、Ubuntu/Debian Linux で DHCP サーバーをセットアップする方法を説明し、sudo コマンドですべてのコマンドを実行して root ユーザー権限を取得します。

テスト環境のセットアップ

このセットアップでは次のテスト環境を使用します。

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

ステップ 1: Ubuntu に DHCP サーバーをインストールする

1. 以下のコマンドを実行して、以前は dhcp3-server と呼ばれていた DCHP サーバー パッケージをインストールします。

sudo apt install isc-dhcp-server

2. インストールが完了したら、ファイル /etc/default/isc-dhcp-server を編集して、INTERFACES オプションを使用して、DHCPD が DHCP 要求を処理するために使用するインターフェイスを定義します。 。

たとえば、DHCPD デーモンが eth0 をリッスンするようにしたい場合は、次のように設定します。

INTERFACES="eth0"

また、上記のインターフェイスの静的 IP アドレスを構成する方法も学習します。

ステップ 2: Ubuntu での DHCP サーバーの構成

3. メインの DHCP 設定ファイルは /etc/dhcp/dhcpd.conf です。クライアントに送信するすべてのネットワーク情報をここに追加する必要があります。

また、DHCP 構成ファイルには次の 2 種類のステートメントが定義されています。

  • パラメータ – タスクの実行方法、タスクを実行するかどうか、または DHCP クライアントに送信するネットワーク構成オプションを指定します。
  • 宣言 – ネットワーク トポロジを定義し、クライアントを指定し、クライアントにアドレスを提供するか、パラメータのグループを宣言のグループに適用します。

4. 次に、メイン設定ファイルを開いて変更し、DHCP サーバー オプションを定義します。

sudo vi /etc/dhcp/dhcpd.conf 

ファイルの先頭で次のグローバル パラメーターを設定します。これらは以下のすべての宣言に適用されます (シナリオに適用される値を指定してください)。

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

5. 次に、サブネットワークを定義します。ここでは、192.168.10.0/24 LAN ネットワーク用に DHCP をセットアップします (シナリオに適用されるパラメータを使用します)。

subnet 192.168.10.0 netmask 255.255.255.0 {
        option routers                  192.168.10.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.10.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

ステップ 3: DHCP クライアント マシンで静的 IP を構成する

6. 特定のクライアント コンピュータに固定 (静的) IP アドレスを割り当てるには、MAC アドレスと静的に割り当てる IP を明示的に指定する必要があるセクションを以下に追加します。

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

ファイルを保存して閉じます。

7. 次に、次のように DHCP サービスを開始し、次回のシステム起動時に自動的に開始されるようにします。

------------ SystemD ------------ 
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
sudo service isc-dhcp-server.service start
sudo service isc-dhcp-server.service enable

8. 次に、次のようにファイアウォールで DHCP サービス (DHCPD デーモンはポート 67/UDP でリッスン) を許可することを忘れないでください。

sudo ufw allow  67/udp
sudo ufw reload
sudo ufw show

ステップ 4: DHCP クライアント マシンの構成

9. この時点で、DHCP サーバーから IP アドレスを自動的に受信するようにネットワーク上のクライアント コンピュータを構成できます。

クライアント コンピュータにログインし、次のようにイーサネット インターフェイス構成ファイルを編集します (インターフェイス名/番号をメモします)。

sudo vi /etc/network/interfaces

そして、以下のオプションを定義します。

auto  eth0
iface eth0 inet dhcp

ファイルを保存して終了します。そして、次のようにネットワーク サービスを再起動します (またはシステムを再起動します)。

------------ SystemD ------------ 
sudo systemctl restart networking

------------ SysVinit ------------ 
sudo service networking restart

あるいは、デスクトップ マシンの GUI を使用して設定を実行し、以下のスクリーンショットに示すように [方式] を [自動 (DHCP)] に設定します (Fedora 25 デスクトップ)。

この時点で、すべての設定が正しく構成されていれば、クライアント マシンは DHCP サーバーから IP アドレスを自動的に受信するはずです。

それでおしまい!このチュートリアルでは、Ubuntu/Debian で DHCP サーバーをセットアップする方法を説明しました。以下のフィードバックセクションからご意見をお聞かせください。 Fedora ベースのディストリビューションを使用している場合は、CentOS/RHEL で DHCP サーバーをセットアップする方法を確認してください。