LinuxでDHCPサーバーを構築する方法

LinuxでDHCPサーバーを構築する方法

1. 基礎知識:

1. DHCPの概要:
DHCP (Dynamic Host Configuration Protocol) は、通常、大規模なローカル エリア ネットワーク環境で使用されます。その主な機能は、IP アドレスを集中的に管理および割り当てることです。これにより、ネットワーク環境内のホストは、IP アドレス、ゲートウェイ アドレス、DNS サーバー アドレスなどの情報を動的に取得でき、アドレスの利用率を向上させることができます。
2. DHCPサーバーの紹介:
DHCP サーバーとは、IP アドレスの範囲を制御するサーバーのことです。クライアントがサーバーにログインすると、サーバーによって割り当てられた IP アドレスとサブネット マスクを自動的に取得できます。

2. DHCPサーバーの設定:

今日は DHCP サーバーを作成します。

這里寫圖片描述

仮想マシンサーバーをDHCPサーバーとして使用し、テストにはデスクトップを使用します。便宜上、サーバーのホスト名をdhcp.server.comに、デスクトップのホスト名をdhcp.test.comに変更します。
次に、ホスト dhcp.server.com で設定します。

1. サーバーのIPを確認する

這里寫圖片描述

2. DHCP サービスの依存パッケージを確認します。

這里寫圖片描述

3. DHCP サービスをインストールします。

這里寫圖片描述

4. 設定:

(1)DHCPサービスを有効にする

systemctl dhcpd を起動します

(2)設定ファイルを変更する

dhcpd.conf の例を /etc/dhcp/dhcpd.conf にコピーします。

vim /etc/dhcp/dhcpd.conf
次のセクションを変更します。

  7 オプションドメイン名 "server.com"; 
      ##ドメイン名: /etc/resolv.conf を参照
  8 オプション ドメインネームサーバー 172.25.10.254;
      ## DNS サーバーを指定します。複数のサーバーはコンマで区切ります。
 30 サブネット 172.25.10.0 ネットマスク 255.255.255.0 {
      ##サブネットとサブネットマスクを指定します 31 範囲 172.25.10.10 172.25.10.20;
      ## IP 範囲 32 オプション ルータ 172.25.10.254 を指定します。
 ##デフォルトゲートウェイを指定する 33 }
 34#### 27行目、28行目、34行目以降を削除します

以下は dns.test.com の設定です。
(1)ネットワークパラメータ設定:
/etc/sysconfig/network-scripts/ifcfg-eth0を編集する

デバイス=eth0
ブートプロトコル=dhcp
###重要な部分はdhcpです
ONBOOT=はい

(2)ネットワークを再起動します。

systemctl ネットワークを再起動
###この実験では、コマンドの実行時にエラーが発生し、DHCP サーバー経由で IP アドレスを取得できないという問題が発生しました。解決策は次のとおりです。DHCP は通常、ローカル エリア ネットワークで使用される通信プロトコルです。主に、クライアントを介して物理ネットワーク セグメント全体のすべてのホストにブロードキャスト データ パケットを送信します。ローカル エリア ネットワークに DHCP サーバーがある場合にのみ、クライアントの IP パラメーター要件に応答します。したがって、DHCP サーバーとクライアントは同じ物理ネットワーク セグメントに存在する必要があります。サーバとクライアント間のDHCPパケットの相互作用全体を図(1)に示します。
###ファイアウォールがデータ パケットの送信をブロックしていると思われます###私が実行した解決策は次のとおりです。
両方の仮想マシンは次のコマンドを実行します。
ファイアウォールコマンド --permanent --add-service=dhcp
ファイアウォール-cmd --reload 
DHCP が動作しているかどうかを確認します。
ファイアウォールコマンド --list-all
仮想マシンを再起動すると問題は解決します。 


(図(1)サーバとクライアント間のDHCPパケットの相互作用の模式図)

テスト マシンは DHCP サーバー経由で IP を取得します。

這里寫圖片描述

(3)ネットワーク全体を再起動した後、実行結果で正しいDHCPホストが見つかった場合は、以下のファイルを変更することができます。

1. /etc/resolv.confを表示する

這里寫圖片描述

2. ルートを確認する

這里寫圖片描述

3. サーバーによって記録されたDHCP情報を表示します。cat /var/lib/dh​​cpd/dhcpd.leases

這里寫圖片描述

3. 構成例

/etc/dhcp/dhcpd.conf を編集する

dhcpd.conf の
#
# ISC dhcpd のサンプル設定ファイル
#

# サポートされているすべてのネットワークに共通のオプション定義...
オプションドメイン名「example.org」;
オプション ドメインネームサーバー 192.168.0.199;

デフォルトのリース時間 600;
最大リース時間 7200;

# これを使用して、動的 DNS 更新をグローバルに有効/無効にします。
#ddns 更新スタイルなし;

# このDHCPサーバーがローカルの公式DHCPサーバーである場合
# ネットワークの場合、authoritative ディレクティブのコメントを解除する必要があります。
#権威ある;

# これを使用して、DHCPログメッセージを別のログファイルに送信します(
# リダイレクトを完了するには syslog.conf をハッキングする必要があります。
ログ機能 local7;

# このサブネットではサービスは提供されませんが、宣言することで 
# ネットワーク トポロジを理解するための DHCP サーバー。


# これは非常に基本的なサブネット宣言です。

サブネット 192.168.0.0 ネットマスク 255.255.255.0 {
  範囲 192.168.0.10 192.168.0.20;
  オプションルーター 192.168.0.199;
}

Linux での DHCP サーバーの設定に関するこの記事はこれで終わりです。Linux DHCP サーバーの設定の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • LinuxがDHCPサーバーを開始する手順
  • Linux での DHCP サービス設定チュートリアル
  • Linux での DHCP サービスの完全な構成 (画像とテキスト付き)
  • Linux DHCPサービスの詳細な説明

<<:  海外でダウンロードできる25個の新鮮で便利なアイコンセット

>>:  vue の v-for ディレクティブはリストのレンダリングを完了します

推薦する

ウェブページを作るときに知っておくべきいくつかのスキル

1. IE6 では z-index が無効です。 CSS では、階層を変更するために z-index...

CSSはクーポンスタイルを実装するために放射状グラデーションを使用します

この記事では、CSS で放射状グラデーションを使用して、次の図に示すクーポン スタイルの効果を実現す...

MySQL 5.7 の /etc/my.cnf パラメータの紹介

以下は、mysql 5.7 の /etc/my.cnf の一般的なパラメータの一部です。これらを自分...

CentOS7 環境での DHCP 設定チュートリアル

目次CentOS7環境での設定コマンド手順1. DHCP設定ファイルを設定する2. グローバル構成を...

WeChatミニプログラム公式顔認証の詳しい説明

ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...

ウェブページの要素の検査とソースコードの表示の違いについて

Chrome ブラウザで Web ページを開くと、ページを右クリックすると 2 つの非常によく似たオ...

Linux で誤って削除したメッセージ ファイルを復元する方法

プロセスで使用されていて、誤って削除されたファイルがある場合、それらを回復することができます。プロセ...

Reactフックとzarmコンポーネントライブラリ構成に基づいてh5フォームページを開発するためのサンプルコード

最近、React Hooks を zarm コンポーネント ライブラリと組み合わせて使用​​し、js...

MySql 8.0.11 のインストール プロセスと Navicat とのリンク時に発生する問題の概要

私のシステムとソフトウェアのバージョンは次のとおりです。システム環境: win7、64ビットMySQ...

Angularルーティングアニメーションと高度なアニメーション機能の詳細な説明

目次1. ルーティングアニメーション2. グループクエリとスタガー1. ルーティングアニメーションル...

WeChatミニプログラムビデオ集中砲火位置ランダム

この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...

親コンテナの CSS 均等分割 (完全三分の一) の実装

親コンテナの幅は固定されています。子要素が親の幅を均等に分割するには、どのような方法がありますか?コ...

MySql 5.7.17 無料インストール構成チュートリアルの詳細な説明

1. mysql-5.7.17-winx64.zip インストール パッケージをダウンロードします ...

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

Vue の高度な構築プロパティの詳細な説明

目次1. ディレクティブカスタムディレクティブ2. ミックスイン3. 継承を拡張する4. 提供して注...