DHCP服務配置與管理實戰指南

DHCP 服務配置與管理筆記

一、DHCP 核心概念

1. DHCP 定義與功能

  • DHCP (Dynamic Host Configuration Protocol):動態主機配置協議
  • 核心功能
    • 自動分配 IP 地址
    • 提供子網掩碼、網關、DNS 等網絡參數
    • 管理 IP 地址租約周期
  • 典型應用:ADSL撥號、企業無線網絡、移動辦公環境

2. 工作過程詳解

ClientServerDHCP Discover (廣播)DHCP Offer (廣播)DHCP Request (廣播)DHCP Ack (廣播)ClientServer

3. 端口與協議

組件端口協議說明
DHCP Server67UDP接收客戶端請求
DHCP Client68UDP接收服務器響應
DHCPv6 Client546UDPIPv6客戶端通信端口

4. 關鍵術語

術語說明
作用域 (Scope)可分配的 IP 地址范圍 (如 192.168.1.0/24)
地址池作用域內可分配的 IP 地址集合
租約 (Lease)客戶端使用 IP 地址的授權期限
保留地址為特定 MAC 地址固定分配的 IP
中繼代理跨網段轉發 DHCP 請求的路由器組件

二、DHCP 服務器部署

環境要求

  • 網絡模式:必須使用僅主機 (Host-Only)NAT 模式
  • 禁止橋接:避免干擾實際網絡中的 DHCP 服務

安裝與配置流程

  1. 安裝軟件包

    yum -y install dhcp
    
  2. 配置文件初始化

    cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
    
  3. 主配置文件詳解 (/etc/dhcp/dhcpd.conf)

    # 全局配置 (作用于所有子網)
    option domain-name "example.com";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    default-lease-time 600;       # 默認租約時間 (秒)
    max-lease-time 7200;          # 最大租約時間 (秒)# 子網聲明 (關鍵配置)
    subnet 192.168.100.0 netmask 255.255.255.0 {range 192.168.100.50 192.168.100.100;    # 地址池范圍option domain-name-servers yangduhan.example.com;		#DNSoption domain-name "example.com";		#域名option routers 192.168.100.254;          # 默認網關#option broadcast-address 10.5.5.31; # 廣播地址,不需要注釋掉
    }# 固定地址分配 (MAC 綁定)
    host server30 {hardware ethernet 00:0c:29:e0:86:70;  # 客戶端 MAC 地址fixed-address 192.168.100.150;            # 固定分配的 IP,地址池內外都行option host-name "server30";           # 可選:指定主機名
    }
    
  4. 服務管理

    systemctl restart dhcpd    # 重啟服務
    systemctl enable dhcpd     # 設置開機自啟
    systemctl status dhcpd     # 檢查服務狀態
    
  5. 防火墻配置

    firewall-cmd --permanent --add-service=dhcp
    firewall-cmd --reload
    

客戶端配置

  1. 網卡配置文件 (/etc/sysconfig/network-scripts/ifcfg-ens33)
    關鍵修改:

    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    BOOTPROTO=dhcp      # 啟用 DHCP 協議
    ONBOOT=yes          # 開機自動激活
    # 刪除以下行:
    # IPADDR=
    # NETMASK=
    # GATEWAY=
    # DNS1=
    
  2. 重啟網絡服務

    systemctl restart NetworkManager   # 推薦使用
    # 或
    systemctl restart network
    #查看ip是否獲取
    ip a
    

租約管理

  • 租約文件位置/var/lib/dhcpd/dhcpd.leases

  • 查看租約信息

    less /var/lib/dhcpd/dhcpd.leases
    
  • 租約文件結構

    lease 172.16.30.50 {starts 5 2023/08/11 12:34:56;ends 5 2023/08/11 12:44:56;hardware ethernet 00:0c:29:xx:xx:xx;uid 01:00:0c:29:xx:xx:xx;
    }
    

三、DHCP 中繼配置

網絡拓撲

DHCP 請求
轉發請求
響應
返回響應
DHCP 客戶端
中繼服務器
DHCP 服務器

中繼服務器配置步驟

  1. 網絡配置

    • ens33 (NAT 網絡):192.168.100.254
    • ens36 (Host-Only):192.168.200.254
  2. 啟用 IP 轉發

    # 臨時生效
    sysctl -w net.ipv4.ip_forward=1# 永久生效
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sysctl -p
    
  3. 配置網卡接口
    ens33–NAT模式—192.168.100.254
    ens36–vmnet模式(僅主機)—192.168.200.254

  4. 安裝 DHCP 中繼軟件

    yum -y install dhcp
    
  5. 啟動 DHCP 中繼服務

    dhcrelay -d -i ens36 -i ens33 192.168.100.20
    

    參數說明

    • -d:前臺運行(調試模式)
    • -i:指定監聽接口
    • 192.168.100.20:DHCP 服務器 IP

生產環境推薦配置

dhcp服務器

網卡--ens33--NAT模式---192.168.100.20
vim /etc/dhcp/dhcpd.conf
#只保留以下內容
subnet 192.168.100.0 netmask 255.255.255.0 {
}
# A slightly different configuration for an internal subnet.
subnet 192.168.200.0 netmask 255.255.255.0 {range 192.168.200.50 192.168.200.100;option routers 192.168.200.254;default-lease-time 600;max-lease-time 7200;
}
#重啟服務
systemclt  restart   dhcpd
# 創建 systemd 服務單元
cat > /etc/systemd/system/dhcrelay.service <<EOF
[Unit]
Description=DHCPv4 Relay Agent
After=network.target[Service]
ExecStart=/usr/sbin/dhcrelay -d --no-pid 192.168.100.20
Restart=always[Install]
WantedBy=multi-user.target
EOF# 啟用服務
systemctl daemon-reload
systemctl start dhcrelay
systemctl enable dhcrelay

四、排錯與監控

服務端排錯

# 檢查配置文件語法
dhcpd -t# 查看服務日志
journalctl -u dhcpd -f# 監聽 DHCP 流量
tcpdump -i ens33 port 67 or port 68 -vv

客戶端排錯

# 釋放當前租約
dhclient -r# 重新獲取 IP
dhclient -v# 查看獲得的參數
ip a show dev ens33
cat /etc/resolv.conf

五、最佳實踐

  1. 作用域規劃原則

    • 保留 20% IP 地址用于靜態分配
    • 設置合理的租約時間:
      • 辦公網絡:8 小時
      • 公共無線:1 小時
      • 服務器:永久保留
  2. 安全增強

    # 防止未授權 DHCP 服務器
    deny unknown-clients;# MAC 地址白名單
    allow known-clients;
    
  3. 高可用方案

    • 主從模式:兩臺 DHCP 服務器劃分 80%/20% 地址池
    • 負載均衡:配置 DHCP 冗余協議 (DRCP)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/95115.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/95115.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/95115.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WebSocket 在多線程環境下處理 Session并發

WebSocket 在多線程環境下處理 Session并發時&#xff0c;常見問題包括狀態沖突&#xff08;如 IllegalStateException&#xff09;、消息亂序、連接超時等。以下是綜合各技術方案的解決方案&#xff0c;分為單機多線程和分布式集群兩類場景&#xff1a;&#x1f512; 一、單機…

JDBC的連接過程(超詳細)

JDBC&#xff08;Java Database Connectivity&#xff09;是 Java 用于訪問數據庫的標準 API&#xff0c;它允許 Java 程序與各種不同類型的數據庫進行交互&#xff0c; 其連接數據庫的過程主要包含以下幾個步驟&#xff1a;1. 導入 JDBC 驅動依賴在使用 JDBC 連接數據庫之前&a…

本地WSL部署接入 whisper + ollama qwen3:14b 總結字幕校對增強版

1. 實現功能 M4-4: 校對增強版 (最終完全體) 本腳本是整個 Module 的最終形態&#xff0c;采用了“代碼預處理 LLM校對”的終極方案&#xff1a; 代碼預處理: 確定性地在每個語音片段后添加逗號&#xff0c;生成一份“標點草稿”。LLM校對: LLM 的任務被簡化為“校對和修正”這…

MySQL數據庫簡介

1 簡介 MySQL是一個關系型數據庫管理系統&#xff0c;由瑞典 MySQL AB公司開發&#xff0c;屬于 Oracle 旗下產品&#xff0c;是當今最流行的關系型數據庫管理系統之一&#xff0c;在 WEB應用方面&#xff0c;MySQL是最好的RDBMS (Relational Database Management System&#…

[Oracle] UNPIVOT 列轉行

Oracle數據庫中的UNPIVOT是一種用于將列轉換為行的SQL操作&#xff0c;它允許用戶將多個列的數據轉換為多行的形式&#xff0c;以便進行更靈活的數據分析和報表生成UNPIVOT主要用于將寬表(多列)轉換為長表(多行)&#xff0c;減少表的列數&#xff0c;增加行數語法格式SELECT pi…

node.js 學習筆記3 HTTP

path模塊 path模塊主要用于操作路徑。要使用path&#xff0c;首先需要引入path模塊。require(path) path.resolve 用于拼接規范的絕對路徑。 如果想拼接一個路徑&#xff0c;有時候是使用字符串手動拼接的&#xff0c;但由于系統的規范不同&#xff0c;路徑中的\和/無法統一…

Flutter Dialog、BottomSheet

屬性說明title標題content內容actions按鈕applicationName說明文字applicationVersion版本applicationLegalese版本基本使用class MyState extends State {AlertDialog delDialog(BuildContext context) {AlertDialog alertDialog AlertDialog(title: Text("提示"),…

《算法導論》第 19 章 - 斐波那契堆

引言斐波那契堆&#xff08;Fibonacci Heap&#xff09;是一種高效的可合并堆數據結構&#xff0c;由 Michael L. Fredman 和 Robert E. Tarjan 于 1984 年提出。它在許多優先隊列操作中提供了極佳的 amortized&#xff08;攤還&#xff09;時間復雜度&#xff0c;尤其適用于需…

MySQL-日志

MySQL-日志前言一、錯誤日志&#xff08;error log&#xff09;二、慢查詢日志(slow query log)三 、一般查詢日志(general log)四、 事務日志重做日志&#xff08;redo log&#xff09;回滾日志&#xff08;undo log&#xff09;五、 二進制日志(bin log)/歸檔日志 > 數據同…

嵌入式C語言編程:策略模式、狀態模式和狀態機的應用

概述 在沒有面向對象語法的C語言中&#xff0c;策略&#xff08;Strategy&#xff09;模式和狀態&#xff08;State&#xff09;模式都通過“上下文 接口”組合來模擬多態。 它們在代碼結構上幾乎一致&#xff0c;但設計意圖和應用場景卻差異很大。 本文分三部分深入剖析&…

人工智能、機器學習、深度學習:2025技術革命的深度解析

目錄 人工智能、機器學習、深度學習&#xff1a;技術革命的深度解析 引言 第一部分&#xff1a;人工智能的起源與演進 1.1 人工智能的定義 1.2 人工智能的歷史 1.3 人工智能的關鍵概念 a.知識表示&#xff08;Knowledge Representation&#xff09; b.搜索算法&#xf…

【Python】常用內置模塊

1.os 文件目錄 import os# 創建文件夾 os.mkdir(dir) # 判斷文件是否存在 os.path.exists(path) # 列出文件夾下文件列表 os.listdir(dir)""" 常用 """ # 當前文件相對路徑 os.getcwd()# 當前文件絕對路徑 os.path.abspath(__file__)# 當前文…

(Python)爬蟲進階(Python爬蟲教程)(CSS選擇器)

源代碼&#xff1a;#導入庫 import requests from bs4 import BeautifulSoup import pandas as pd#爬蟲函數 def scrape_books():#1.基本網址連接base_url "http://books.toscrape.com"#2.獲取基本網址responserequests.get(base_url)#3.檢查是否正常訪問if respons…

第七節 自然語言處理與Bert

自然語言處理與BERT模型&#xff1a;從基礎到實踐入門 自然語言處理&#xff08;NLP&#xff09;的核心目標之一是讓計算機理解人類語言的語義和上下文。本文將從基礎的字詞表示出發&#xff0c;逐步解析傳統模型的局限性、Self-attention的突破性思想&#xff0c;以及BERT如何…

攻擊者瞄準加密技術的基礎:智能合約

雖然利用許多智能合約中的安全漏洞已經成為網絡攻擊者的長期目標&#xff0c;但越來越多的安全公司開始關注使用欺詐性或混淆的智能合約從加密貨幣賬戶中竊取資金的騙局。 根據網絡安全公司 SentinelOne 本周發布的分析報告&#xff0c;在最近一次引人注目的攻擊中&#xff0c…

基于開源AI大模型、AI智能名片與S2B2C商城小程序的零售智能化升級路徑研究

摘要&#xff1a;在零售業數字化轉型浪潮中&#xff0c;人工智能技術正從“輔助工具”向“核心生產力”演進。本文聚焦開源AI大模型、AI智能名片與S2B2C商城小程序的協同應用&#xff0c;提出“數據感知-關系重構-生態協同”的三維創新框架。通過分析智能傳感、動態畫像與供應鏈…

機器學習 樸素貝葉斯

目錄 一.什么是樸素貝葉斯 1.1 從 “概率” 到 “分類” 二.樸素貝葉斯的數學基礎&#xff1a;貝葉斯定理 2.1 貝葉斯定理公式 2.2 從貝葉斯定理到樸素貝葉斯分類 2.3 “樸素” 的關鍵&#xff1a;特征獨立性假設 三、樸素貝葉斯的三種常見類型 3.1 高斯樸素貝葉斯&…

A Logical Calculus of the Ideas Immanent in Nervous Activity(神經網絡早期的M-P模型)

哈嘍&#xff0c;各位朋友大家上午好&#xff01;今天我們要一起啃下這篇神經科學與邏輯學交叉領域的奠基之作——McCulloch和Pitts的《A Logical Calculus of the Ideas Immanent in Nervous Activity》。這篇論文篇幅不長&#xff0c;但每一個定理、每一個假設都像精密齒輪&a…

大語言模型提示工程與應用:提示工程-提升模型準確性與減少偏見的方法

語言模型可靠性優化 學習目標 在本課程中&#xff0c;我們將學習通過提示工程提升模型事實準確性、減少偏見的有效方法。 相關知識點 語言模型可靠性優化 學習內容 1 語言模型可靠性優化 1.1 事實準確性增強 LLM可能生成看似合理但實際虛構的內容。優化策略包括&#x…

遇到前端導出 Excel 文件出現亂碼或文件損壞的問題

1. 檢查后端返回的數據格式確認接口響應&#xff1a;確保后端返回的是二進制流&#xff08;如 ArrayBuffer&#xff09;或 Base64 編碼的 Excel 文件&#xff0c;而非 JSON 字符串。用瀏覽器開發者工具&#xff08;Network 標簽&#xff09;檢查接口響應類型&#xff1a;正確的…