CentOSとUbuntuでDHCPサーバーとクライアントを設定する方法


DHCP 動的ホスト設定プロトコルの略)は、サーバーが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つの大きなカテゴリに分類されたステートメントのリストで構成されています。

  • Global parameters: specify how to carry out a task, whether to carry out a task, or what network configuration parameters to provide to the DHCP client.
  • Declarations: define the network topology, state a clients is in, offer addresses for the clients, or apply a group of parameters to a group of declarations.

それでは、設定ファイルを開いて編集し、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 のmanページを参照)。

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

次に、実行して、ファイアウォールのDHCPデーモン(ポート 67/UDP で待機)への要求を許可します。

------------ 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 では、インターフェース設定ファイルは/etc/sysconfig/network-scripts/にあります。

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

以下のオプションを追加してください。

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

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

# systemctl restart network

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ページをご覧ください。

$ man dhcpd
$ man dhcpd.conf

この記事では、 CentOS および Ubuntu LinuxディストリビューションでDHCPサーバーを設定する方法について説明しました。あなたが何らかの点でより明確にする必要があるならば、あなたは以下のフィードバックフォームを通して質問をするか、単に私達とあなたのコメントを共有することができます。