CentOS、RHEL、FedoraにDHCPサーバーをインストールする方法


DHCP(動的ホスト構成プロトコル)は、サーバーがIPアドレスを自動的に割り当て、事前定義されたIPプールからネットワーク上のクライアントに他の関連するネットワーク構成パラメーターを提供できるようにするネットワークプロトコルです。

これは、(ネットワークに接続された)クライアントが起動するたびに、変更されない「静的」IPアドレスではなく、「動的」IPアドレスを取得することを意味します。 DHCPサーバーによってDHCPクライアントに割り当てられたIPアドレスは「リース」であり、リース時間は、クライアントが接続またはDHCP構成を必要とする可能性のある期間によって異なります。

このチュートリアルでは、CentOS/RHELおよびFedoraディストリビューションにDHCPサーバーをインストールして構成する方法について説明します。

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

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

先に進む前に、DHCPがどのように機能するかを簡単に説明しましょう。

  • When a client computer (configured to use DHCP) and connected to a network is powered on, it forwards a DHCPDISCOVER message to the DHCP server.
  • And after the DHCP server receives the DHCPDISCOVER request message, it replies with a DHCPOFFER message.
  • Then the client receives the DHCPOFFER message, and it sends a DHCPREQUEST message to the server indicating, it is prepared to get the network configuration offered in the DHCPOFFER message.
  • Last but not least, the DHCP server receives the DHCPREQUEST message from the client, and sends the DHCPACK message showing that the client is now permitted to use the IP address assigned to it.

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

1. DCHPのインストールは非常に簡単で、以下のコマンドを実行するだけです。

# yum -y install dhcp

重要:システムに複数のネットワークインターフェイスが接続されているが、DHCPサーバーをいずれかのインターフェイスでのみ起動するようにしたい場合は、次のようにDHCPサーバーをそのインターフェイスでのみ起動するように設定します。

2.ファイル/ etc/sysconfig/dhcpdを開き、特定のインターフェイスの名前をDHCPDARGSのリストに追加します。たとえば、インターフェイスが eth0 の場合は、次を追加します。

DHCPDARGS=eth0

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

ステップ2:CentOSでDHCPサーバーを構成する

3.まず、DHCPサーバーをセットアップするための最初のステップは、 dhcpd.conf 構成ファイルを作成することです。メインのDHCP構成ファイルは通常/etc/dhcp/dhcpd.conf(デフォルトでは空)、クライアントに送信されたすべてのネットワーク情報を保持します。

ただし、サンプル構成ファイル/usr/share/doc/dhcp*/dhcpd.conf.sampleがあります。これは、DHCPサーバーを構成するための適切な開始点です。

また、DHCP構成ファイルで定義されているステートメントには2つのタイプがあります。これらは次のとおりです。

  • parameters – state how to carry out a task, whether to perform a task, or what network configuration options to send to the DHCP client.
  • declarations – specify the network topology, define the clients, offer addresses for the clients, or apply a group of parameters to a group of declarations.

したがって、次のように、サンプル構成ファイルをメイン構成ファイルとしてコピーすることから始めます。

# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 

4.次に、メイン構成ファイルを開き、DHCPサーバーオプションを定義します。

# 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.56.0/24 LANネットワーク用にDHCPを構成します(シナリオに適用されるパラメーターを使用することを忘れないでください)。

subnet 192.168.56.0 netmask 255.255.255.0 {
        option routers                  192.168.56.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.56.1;
        range   192.168.56.10   192.168.56.100;
        range   192.168.56.120  192.168.56.200;
}

手順3:DHCPクライアントに静的IPを割り当てる

ネットワーク上の特定のクライアントコンピューターに静的IPアドレスを割り当てることができます。以下のセクションを/etc/dhcp/dhcpd.confファイルで定義するだけで、MACアドレスと割り当てる固定IPを明示的に指定する必要があります。

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

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

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

注:次のコマンドを使用して、LinuxMACアドレスを検索または表示できます。

# ifconfig -a eth0 | grep HWaddr

6.ここで、DHCPサービスをしばらくの間開始し、次のコマンドを使用して、次回のシステム起動から自動的に開始できるようにします。

---------- On CentOS/RHEL 7 ---------- 
# systemctl start dhcpd
# systemctl enable dhcpd

---------- On CentOS/RHEL 6 ----------
# service dhcpd start
# chkconfig dhcpd on

7.次に、次のようにDHCPサービス(DHCPDデーモンがポート67/UDPでリッスンする)を許可することを忘れないでください。

---------- On CentOS/RHEL 7 ----------
# firewall-cmd --add-service=dhcp --permanent 
# firewall-cmd --reload 

---------- On CentOS/RHEL 6 ----------
# iptables -A INPUT -p tcp -m state --state NEW --dport 67 -j ACCEPT
# service iptables save

ステップ4:DHCPクライアントを構成する

8.これで、DHCPサーバーからIPアドレスを自動的に受信するようにネットワーク上のクライアントを構成できます。クライアントマシンにログインし、イーサネットインターフェイス構成ファイルを次のように変更します(インターフェイスの名前/番号は考慮しないでください)。

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

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

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

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

9.デスクトップコンピューターでGUIを使用して設定を実行し、下のスクリーンショット(Ubuntu 16.04デスクトップ)に示すように[方法]を[自動(DHCP)]に設定することもできます。

10.次に、次のようにネットワークサービスを再起動します(システムを再起動できる可能性があります)。

---------- On CentOS/RHEL 7 ----------
# systemctl restart network

---------- On CentOS/RHEL 6 ----------
# service network restart

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

あなたはまた読むかもしれません:

  1. How to Install and Configure Multihomed ISC DHCP Server on Debian Linux
  2. 10 Useful “IP” Commands to Configure Network Interfaces

このチュートリアルでは、RHEL/CentOSでDHCPサーバーをセットアップする方法を示しました。以下のコメントフォームを使用して、私たちに返信してください。次回の記事では、Debian/UbuntuでDHCPサーバーをセットアップする方法を紹介します。それまでは、常にTecMintに接続してください。