GNU/Linux >> Linux の 問題 >  >> Ubuntu

LinuxでDHCPサーバーをインストールして構成する方法

DHCP(動的ホスト構成プロトコルの略)は、一意のIPアドレスおよびその他の情報をクライアントシステムに動的に割り当てます。 DHCPによって割り当てられる情報には、ホスト名、ドメイン名、デフォルトゲートウェイおよびDNSサーバーのIPアドレスなどが含まれます。これにより、システム管理者は、各クライアントシステムにIPアドレスと関連情報を手動で割り当てる手間を省くことができます。通常、家庭や中小企業のセットアップでは、ルーターはDHCPサーバーの役割を果たします。ただし、大規模なセットアップでは、DHCPサーバーとして機能する専用サーバーを構成する必要があります。 Linuxでは、DHCPサーバーを簡単にセットアップし、クライアントにIPアドレスを割り当てることができます。

このチュートリアルでは、クライアントにIPアドレスを自動的に割り当てるようにLinuxでDHCPを構成する方法を示します。

DHCPのしくみ

DHCPがどのように機能するかについて少し説明しましょう:

クライアントとDHCPサーバーが同じ有線ネットワークに接続されているシナリオを考えてみましょう。

  1. クライアントマシンの電源がオンになると、ブロードキャストメッセージ DHCPDISCOVERが送信されます。 ネットワーク上のすべてのデバイスに。
  2. このメッセージがDHCPサーバーに到達すると、 DHCPOFFERが返送されます。 クライアントへのIPアドレスを含むメッセージ。
  3. 次に、クライアントは DHCPREQUESTを送信します DHCPサーバーに送信して、このIPアドレスを要求します。
  4. DHCPサーバーはDHCPACKを送信します リクエストを確認し、クライアントにIPアドレスを付与します。

前提条件

  • 最低2台のLinuxマシン(DHCPサーバーとクライアント用)
  • sudo権限を持つユーザー
  • DHCPサーバーで構成された静的IP

注:

デモンストレーションの目的で、同じLAN上にある3台のLinuxマシンを使用しました。それらはすべて、スイッチを介して相互に接続されていると考えることができます。

DHCPサーバー

DHCPサーバーには、以下を使用しました:

  • 静的IP「192.168.9.1」とホスト名「ubuntu」のUbuntu20.04LTS

DHCPクライアント

DHCPクライアントの場合、2台のマシンを使用しました:

  • ホスト名「mypc」のUbuntu20.04
  • ホスト名が「mint」のMint20

DHCPサーバーのインストール

まず、システムのシステムリポジトリインデックスを更新します。これを行うには、ターミナルで次のコマンドを発行します。

$ sudo apt update

次に、ターミナルで次のコマンドを発行してDHCPサーバーをインストールします。

$ sudo apt-get install isc-dhcp-server -y

DHCPサーバーの構成

LinuxシステムをDHCPサーバーとして構成する前に、クライアントが簡単に接続できるように、静的IPアドレスが構成されていることを確認してください。そうしないと、クライアントが接続するDHCPサーバーを見つけるのが困難になります。

/ etc / default / isc-dhcp-server ファイルの場合、DHCPサーバーがリッスンするインターフェイスを指定する必要があります。このファイルを編集するには、ターミナルで次のコマンドを発行します。

$ sudo nano /etc/default/isc-dhcp-server

INTERFACESv4 e ntryで、DHCPサーバーがリッスンするインターフェイス(ens33、eth0、eth1など)を指定します。

INTERFACESv4="interface_name"

このシナリオでは、インターフェースは ens33 、したがって、エントリは次のように変更されます:

INTERFACESv4="ens33"

ファイルを設定したら、保存して閉じます。

次に、/etc/dhcp/dhcpd.confにあるデフォルトの構成ファイルを使用してDHCPサーバーを構成します。 。

/etc/dhcp/dhcpd.confを編集します 次のようにファイルします:

$ sudo nano /etc/dhcp/dhcpd.conf

を削除して、次の行のコメントを解除します その前の記号。

authoritative;

また、ファイルに次の行を追加します。

default-lease-time 600;

max-lease-time 7200;

# subnet

subnet 192.168.9.0 netmask 255.255.255.0 {

# range of subnet

range 192.168.9.5 192.168.9.15;

# gateway address

option routers 192.168.9.1;

# DNS server address

option domain-name-servers 8.8.8.8, 8.8.4.4;

}

ファイルを設定したら、保存して閉じます。

DHCPサーバーからクライアントに静的IPアドレスを割り当てます

DHCPサーバーは、デフォルトでクライアントに動的IPアドレスを発行します。ただし、クライアントに固定または静的IPアドレスを割り当てるように構成することもできます。プリンタやルーターなどの一部のネットワークデバイス、または外部からデバイスをリモート接続する必要がある場合は、固定アドレスが必要です。静的IPアドレスを特定のマシンに割り当てるには、そのMACアドレスが必要です。

クライアントにMACアドレス00:0c:29:c1:d5:d4を割り当てたいとします。 固定IP192.168.1.13 毎回。

/etc/dhcp/dhcpd.confを編集します クライアントのMACアドレスとクライアントに割り当てる固定IPアドレスを含むホストエントリをファイルして追加します。

host mint {

hardware ethernet 00:0c:29:c1:d5:d4;

fixed-address 192.168.9.13;

}

注: 固定IPアドレスは、動的IP範囲の範囲からのものであってはなりません。

これで、一致するMACアドレス(00:0c:29:c1:d5:d4)を持つクライアントがDHCPDISCOVERメッセージをDHCPサーバーに送信するたびに、同じIPアドレス192.168.9.13を受信します。

DHCPサービスを再開します

構成が完了したら、DHCPサーバーサービスを再起動します。これを行うには、ターミナルで次のコマンドを発行します。

$ sudo systemctl restart isc-dhcp-server.service

次に、次のコマンドを使用してDHCPサーバーのステータスを確認します。

$ sudo systemctl status isc-dhcp-server.service

次の出力は、DHCPサービスがアクティブであり、エラーなしで正常に実行されていることを示しています。

DHCPクライアント構成

次に、2台のクライアントマシンを構成します。 1つのクライアントには、構成ファイルで定義されたサブネット範囲からランダムなIPが割り当てられます。他のクライアントには静的IPが割り当てられます。

デフォルトでは、動的IPアドレスはUbuntuOSで構成されています。ただし、静的IPアドレスを使用している場合は、DHCPサーバーからIPアドレスを取得するように構成できます。

クライアント1-DHCPサーバーから動的IPアドレスを取得する

まず、次のコマンドを使用してネットワークインターフェイス名を見つけます。

$ ifconfig

インターフェイス名を見つけたら、ターミナルで次のコマンドを発行してネットワークインターフェイスを構成します。

$ sudo nano /etc/network/interfaces

以下の行をファイルに挿入します:

auto <interface_name>

iface <interface_name>inet dhcp

この場合、次のようになります。

auto ens33

iface ens33 inet dhcp

ファイルを保存して閉じ、ターミナルで次のコマンドを使用してnetwork-managerサービスを再起動します。

$ sudo systemctl restart network-manager.service

次に、ifconfigコマンドを実行して、クライアントのIPアドレスを確認します。

$ ifconfig

次の出力で、クライアントがDHCPサーバー構成で定義されたサブネット範囲からのIPアドレス192.168.9.5を受信したことがわかります。

DHCPサーバーのIPアドレスを見つけるには、ターミナルで次のコマンドを発行します。

$ sudo grep -R “DHCPOFFER” /var/sys/log

出力から、DHCPサーバーのIPアドレスである192.168.9.1によってIPアドレスが割り当てられていることを確認できます。

クライアントマシンがDHCPサーバーからIPアドレスを取得していない場合は、次のコマンドを使用してIPアドレスを解放/更新します。

$ sudo dhclient -r 

$ sudo dhclient -v

次に、 ifconfigを実行します クライアントのIPアドレスを確認するコマンド。今回は、クライアントがDHCPサーバーからIPアドレスを受け取ることを願っています。

クライアント2-DHCPサーバーから静的IPアドレスを取得する

2番目のクライアントマシンでは、DHCPサーバー構成ファイルに静的/固定IPアドレスエントリを追加しました。クライアントマシンで、最初にDHCPサーバーからIPアドレスを取得するようにインターフェイスを構成します。

次のコマンドを使用して、ネットワークインターフェイス名を見つけます。

$ ifconfig

インターフェイス名を見つけたら、ターミナルで次のコマンドを発行してネットワークインターフェイスを構成します。

$ sudo nano /etc/network/interfaces

以下の行をファイルに挿入します:

auto <interface_name>
iface <interface_name>inet dhcp

この場合、次のようになります。

auto ens33

iface ens33 inet dhcp

次に、ファイルを保存して閉じ、ターミナルで次のコマンドを使用してnetwork-managerサービスを再起動します。

$ sudo systemctl restart network-manager.service

次に、ifconfigコマンドを実行して、クライアントのIPアドレスを確認します。

$ ifconfig

次の出力で、クライアントがDHCPサーバーから固定IPアドレス192.168.9.13を受信したことがわかります。これは、DHCP構成ファイルに追加したものと同じ固定IPアドレスです。

DHCPサーバーのIPアドレスを見つけるには、ターミナルで次のコマンドを発行します。

$ sudo grep -R “DHCPOFFER” /var/sys/log

出力から、DHCPサーバーである192.168.9.1によってIPアドレスが割り当てられていることを確認できます。

クライアントマシンがDHCPサーバーからIPアドレスを取得していない場合は、次のコマンドを使用してIPアドレスを解放/更新します。

$ sudo dhclient –r -v

$ sudo dhclient -v

次に、 ifconfigを実行します クライアントのIPアドレスを確認するコマンド。今回は、クライアントがDHCPサーバーからIPアドレスを受け取ることを願っています。

DHCPサーバーによって割り当てられたIPアドレスを表示する

DHCPサーバーから、DHCPサーバーによってクライアントに割り当てられた動的アドレスを確認することもできます。

DHCPサーバーマシンで、ターミナルで次のコマンドを実行して、DHCPサーバーによって割り当てられたアドレスを一覧表示します。

$ dhcp-lease-list

次の出力では、DHCPサーバーによってクライアントに動的に割り当てられたIPアドレスのみが表示されます。 DHCPサーバーによって発行された静的IPアドレスは一覧表示されないことに注意してください。

この記事では、LinuxシステムにDHCPサーバーをインストールして構成し、動的および固定IPアドレスをクライアントに割り当てる方法を学習しました。 LinuxマシンでDHCPサーバーを構成するには、いくつかの簡単な手順が必要です。構成が完了すると、割り当てられているIPアドレスと関連情報がネットワーク上の各マシンに自動的に割り当てられます。


Ubuntu
  1. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

  2. UbuntuにRedisサーバーをインストールして構成する方法

  3. Ubuntu linuxにsambaをインストールして設定する方法は?

  1. OpenVPNアクセスサーバーをインストールして構成する方法

  2. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  3. Linux NTP サーバーとクライアントをインストールして構成する方法

  1. Ubuntu20.04にVNCをインストールして構成する方法

  2. Ubuntu18.04にVNCをインストールして構成する方法

  3. Ubuntu18.04にNFSサーバーをインストールして構成する方法