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 ディレクティブはリストのレンダリングを完了します

推薦する

Linux CentOS 7.7 システムの VMware インストールに関する詳細なチュートリアル

Linux CentOS 7.7 システムを Vmware にインストールする方法。最小限のインスト...

Nginx でアンチホットリンクを設定するための手順を完了する

必要:通常、サイト側は、ウェブサイト上の動画や写真が盗まれるのを防ぎたいと考えています。結局のところ...

Vueでショッピングカートのすべての機能を実装する簡単な方法

主な機能は次のとおりです。製品情報を追加する製品情報を変更する単一の製品を削除する複数の製品を削除す...

HTML マークアップ言語 - リファレンス

123WORDPRESS.COM HTML チュートリアル セクションに戻るには、ここをクリックして...

モバイル開発における 1px ラインの理解と解決策

1pxの線が太くなる理由モバイルプロジェクトに取り組むとき、設計図に従って要素ノードのサイズとスタイ...

JDBC 接続 (MySQL への接続) の 6 ステップのサンプル コード

JDBC の 6 つのステップ: 1. ドライバーを登録する2. データベース接続を取得する3. デ...

CSSプロパティに基づいたボタンホバーボーダーと背景アニメーションのコレクション

ハートの属性不透明度: .999 は要素のスタッキングコンテキストを作成し、ボタン6と8のアニメーシ...

Linuxでホスト名を永続的に変更する方法

ホスト名を変更する場合は、以下の手順に従ってください。ホスト名の使用hostnameコマンドを使用す...

Dockerの動作モードと原理の詳細な説明

次の図に示すように: 仮想マシンと Docker を使用するとき、「なぜ Docker は VM よ...

Dockerコンテナ間のホスト間通信 - オーバーレイベースの実装方法

オーバーレイネットワーク分析組み込みのホスト間ネットワーク通信は、常に Docker の待望の機能で...

ウェブサイトを黒、白、グレーにする4つのコードの詳細な説明

2008年5月12日に四川省汶川市で発生した地震により、多くの命が失われ、遺憾なことと存じます。国務...

MySQL メタデータで Hive テーブル作成ステートメントのコメント スクリプトを生成する方法

序文この記事は主にMySQLメタデータ生成Hiveテーブル作成ステートメントコメントスクリプトに関す...

jsを使用して簡単な抽選機能を実現する

この記事では、参考までに、簡単な抽選機能を実装するためのjsの具体的なコードを共有します。具体的な内...

Vue コンポーネントでのアンチシェイクとスロットリングの使用例の分析

入力ボックスへのユーザー入力、ウィンドウのサイズ変更、スクロール、Intersection Obse...

Vue を使用した Amap アプリケーション開発のベスト プラクティス

目次序文非同期読み込みパッケージコンポーネントコンポーネントの使用インターフェースをカスタマイズする...