ウェブサイト検索

CentOS および Ubuntu で DHCP サーバーとクライアントをセットアップする方法


DHCP (Dynamic Host Configuration Protocol の略) は、サーバーが IP アドレスやその他の関連構成パラメータ (サブネット マスクなど) を自動的に割り当てることができるクライアント/サーバー プロトコルです。およびデフォルト ゲートウェイ) をネットワーク上のクライアントに送信します。

DHCP は、システム管理者やネットワーク管理者が、ネットワークに追加された新しいコンピュータや、あるサブネットから別のサブネットに移動されたコンピュータの IP アドレスを手動で構成することを防ぐため、重要です。

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

この記事では、CentOS および Ubuntu Linux ディストリビューションで DHCP サーバーを構成し、クライアント マシンに IP アドレスを自動的に割り当てる方法を説明します。

CentOS および Ubuntu への DHCP サーバーのインストール

DCHP サーバー パッケージは、主流の Linux ディストリビューションの公式リポジトリで入手できます。インストールは非常に簡単で、次のコマンドを実行するだけです。

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

インストールが完了したら、DHCP デーモンがリクエストを処理するインターフェイスを構成ファイル /etc/default/isc-dhcp-server または で構成します。 >/etc/sysconfig/dhcpd

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

たとえば、DHCPD デーモンが eth0 をリッスンするようにする場合は、次のディレクティブを使用して設定します。

DHCPDARGS=”eth0”

ファイルを保存して終了します。

CentOS および Ubuntu での DHCP サーバーの構成

メインの DHCP 構成ファイルは /etc/dhcp/dhcpd.conf にあります。このファイルには、何を行うか、どこで実行するか、および提供するすべてのネットワーク パラメータの設定が含まれています。クライアントへ。

このファイルは基本的に、次の 2 つの大きなカテゴリにグループ化されたステートメントのリストで構成されています。

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

ここで、構成ファイルを開いて編集し、DHCP サーバーを構成します。

------------ On CentOS ------------ 
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
sudo vim /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;

次に、内部サブネット、つまり図に示すように 192.168.1.0/24 のサブネットワークを定義する必要があります。

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

特別な構成オプションを必要とするホストはホスト ステートメントにリストされる場合があることに注意してください (dhcpd.conf マニュアル ページを参照してください)。

DHCP サーバー デーモンの構成が完了したので、当面はサービスを開始し、次回のシステム起動時に自動的に開始されるようにし、次のコマンドを使用してサービスが起動して実行中かどうかを確認する必要があります。

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

次に、実行してポート 67/UDP をリッスンするファイアウォール上の DHCP デーモンへのリクエストを許可します。

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

DHCP クライアントの構成

最後に、DHCP サーバーが正常に動作しているかどうかをテストする必要があります。ネットワーク上のいくつかのクライアント マシンにログオンし、サーバーから IP アドレスを自動的に受信するように構成します。

クライアントが IP アドレスを自動受信するインターフェイスの適切な構成ファイルを変更します。

CentOS での DHCP クライアントのセットアップ

CentOS では、インターフェイス設定ファイルは /etc/sysconfig/network-scripts/ にあります。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

以下のオプションを追加します。

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

ファイルを保存し、ネットワーク サービスを再起動します (またはシステムを再起動します)。

systemctl restart network

Ubuntu での DHCP クライアントのセットアップ

Ubuntu 16.04 では、構成ファイル /etc/network/interfaces ですべてのインターフェイスを構成できます。

   
sudo vi /etc/network/interfaces

以下の行をそこに追加します。

auto  eth0
iface eth0 inet dhcp

ファイルを保存し、ネットワーク サービスを再起動します (またはシステムを再起動します)。

sudo systemctl restart networking

Ubuntu 18.04 では、ネットワークは Netplan プログラムによって制御されます。たとえば、ディレクトリ /etc/netplan/ にある適切なファイルを編集する必要があります。

sudo vim /etc/netplan/01-netcfg.yaml 

次に、イーサネットens0 などの特定のインターフェイスで dhcp4 を有効にし、静的 IP 関連の設定をコメントアウトします。

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

変更を保存し、次のコマンドを実行して変更を有効にします。

sudo netplan apply 

詳細については、dhcpd および dhcpd.conf のマニュアル ページを参照してください。

man dhcpd
man dhcpd.conf

この記事では、CentOS および Ubuntu Linux ディストリビューションで DHCP サーバーを構成する方法を説明しました。何か点についてさらに説明が必要な場合は、以下のフィードバック フォームから質問するか、コメントを共有してください。