ウェブサイト検索

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 はどのように機能しますか?

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

  • クライアント コンピュータ (DHCP を使用するように構成されている) がネットワークに接続されている場合、電源がオンになると、DHCPDISCOVER メッセージが DHCP サーバーに転送されます。
  • そして、DHCP サーバーはDHCPDISCOVER リクエスト メッセージを受信すると、DHCPOFFER メッセージで応答します。
  • 次に、クライアントは DHCPOFFER メッセージを受信し、DHCPOFFER で提供されたネットワーク構成を取得する準備ができていることを示す DHCPREQUEST メッセージをサーバーに送信します。強い>メッセージ。
  • 最後に重要なことですが、DHCP サーバーはクライアントからDHCPREQUEST メッセージを受信し、クライアントが割り当てられた IP アドレスの使用を許可されたことを示すDHCPACK メッセージを送信します。 。

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

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

yum -y install dhcp

重要: システムに複数のネットワーク インターフェイスが接続されているが、そのうちの 1 つのインターフェイスでのみ 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 種類のステートメントが定義されています。

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

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

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 アドレスを明示的に指定する必要があります。割り当てられる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;
 }

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

: 次のコマンドを使用して、Linux MAC アドレスを確認または表示できます。

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 を使用して設定を実行することもできます。以下のスクリーンショットに示すように、[方法] を [自動 (DHCP)] に設定します (Ubuntu 16.04 デスクトップ)。

10. 次に、次のようにネットワーク サービスを再起動します (システムを再起動することもできます)。

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

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

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

以下もお読みください:

  1. Debian Linux にマルチホーム ISC DHCP サーバーをインストールして構成する方法
  2. ネットワークインターフェイスを設定するための 10 の便利な「IP」コマンド

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