DHCP 配置

? 最近發現,自己使用虛擬機建立的集群,在斷電關機或者關機一段時間后,集群之間的鏈接散了,并且節點自身的 IP 也發生了變化,發現是 DHCP 的問題,這里記錄一下。

DHCP

? DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一種用于自動分配IP地址網關DNS服務器等網絡參數的協議,使得設備可以在網絡中無需手動配置即可獲得正確的網絡設置。

DHCP的工作流程

DHCP采用客戶端-服務器架構

  1. **DHCP Discover(發現)
    設備(客戶端)加入網絡后,發送廣播請求 (DHCPDISCOVER) 詢問是否有可用的IP地址。
  2. **DHCP Offer(提供)
    DHCP服務器收到請求后,提供一個可用的IP地址 (DHCPOFFER) 并發送給客戶端。
  3. **DHCP Request(請求)
    客戶端收到多個服務器的DHCPOFFER時,會選擇一個并發送DHCPREQUEST請求,表明自己想要這個IP。
  4. **DHCP Acknowledge(確認)
    DHCP服務器最終確認分配 (DHCPACK),并將IP地址、子網掩碼、網關、DNS等信息發送給客戶端,配置完成。

DHCP的常見配置

  • DHCP服務器:管理IP地址分配,一般由路由器、Windows/Linux服務器等設備提供
  • DHCP客戶端:請求并獲取IP地址
  • DHCP中繼(Relay):用于跨網段轉發DHCP請求,使得不同子網的客戶端也能獲取IP地址

? 在 DHCP(動態主機配置協議)中,IP 地址的租期(Lease Time)決定了客戶端何時需要重新請求 DHCP 服務器分配 IP

DHCP 命令

使用 dhclient 查看 DHCP 租期信息

使用 dhclient
sudo dhclient -v -d

如果想查看當前租約信息,可以檢查 lease 文件

cat /var/lib/dhcp/dhclient.leases

image-20250318140851892

手動釋放 IP 后重新申請

使用 DHCP 更改 IP

sudo dhclient -r ens18  # 釋放當前 DHCP IP
sudo dhclient -v ens18  # 重新申請 DHCP IP

但是,這種方法更換的 IP 取決于 DHCP 的分配策略,更改后的 IP 也是隨機的,如果想要指定更換 IP (前提是 IP 沒有沖突,申請的 IP 并沒有被分配給其他的節點)

修改 dhclient.conf 申請特定 IP

通過配置文件申請,修改 dhclient.conf 發送 dhcp-requested-address

sudo dhclient -v -r ens18  # 釋放當前租約
sudo dhclient -v ens18 -sf /bin/true

更改 /etc/dhcp/dhclient.conf文件,添加如下配置

interface "ens18" {send dhcp-requested-address 172.100.0.120
}

然后向 DHCP 發送請求

sudo dhclient -v ens18

注意,這里只是請求,請求分配我們想要的指定的 IP,但是如果申請的 IP 出現沖突,則 DHCP 服務器不會給予分配

下面是正常情況下的執行情況

image-20250318133002697

image-20250318133025838

如果有權限,可以在 DHCP 服務器上綁定 MAC 地址,這樣每次 DHCP 分配給節點的 IP 都是固定的

設置靜態IP

但是呢,使用 DHCP 為節點設置指定 IP,在遇到下一次斷電或者長時間未重啟還是會變化 IP ,所以我們可以設置靜態 IP

DHCP 服務器上設置靜態 IP

這里最推薦的是,有DHCP管理權限的話,登錄DHCP服務器,將 IP 綁定指定節點 MAC 地址

使用命令獲取客戶端的 MAC 地址 bc:24:11:ea:14:01

ip link show ens18
ifconfig ens18 | grep ether

image-20250318144334257

在 DHCP 服務器上,編輯 /etc/dhcp/dhcpd.conf

sudo nano /etc/dhcp/dhcpd.conf

subnet 配置塊中,添加以下內容

host my-static-device {hardware ethernet bc:24:11:6f:82:13;   # 客戶端的 MAC 地址fixed-address 172.100.0.109;           # 希望分配的靜態 IP
}

確保 subnet 也包含這個 IP 段

subnet 172.100.0.0 netmask 255.255.0.0 {range 172.100.0.100 172.100.0.200;option routers 172.100.0.1;option domain-name-servers 8.8.8.8;
}

重啟 DHCP 服務器

sudo systemctl restart isc-dhcp-server

或者:

sudo service isc-dhcp-server restart

在客戶端重新獲取 IP

sudo dhclient -r ens18  # 釋放當前 IP
sudo dhclient -v ens18  # 重新獲取 IP

如果一切配置正確,客戶端應該會獲取 172.100.0.120

客戶端手動配置靜態 IP

如果沒有 DHCP 管理權限或者無法操作 DHCP 服務器

那么也可以在客戶端設置靜態IP

編輯設置 /etc/netplan 下的 /etc/netplan/00-installer-config.yaml

修改之前,建議先備份當前 Netplan 配置

sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak

image-20250318133543844

image-20250318134349446

獲取 默認網關

ip route | grep default
route -n

image-20250318134014723

DNS 服務器

cat /etc/resolv.conf

image-20250318134051464

image-20250318134454224

network:ethernets:ens18:dhcp4: noaddresses:- 172.110.0.120/24routes:- to: defaultvia: 172.110.0.1 # 默認網關nameservers:  # DNS 服務器addresses:- 127.0.0.53 - 10.96.0.10version: 2

應用配置

sudo netplan apply

則設置成功

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

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

相關文章

股指期貨合約的命名規則是怎樣的?

股指期貨合約的命名規則其實很簡單,主要由兩部分組成:合約代碼和到期月份。 股指期貨合約4個字母數字背后的秘密 股指期貨合約一般來說都是由字母和數字來組合的,包含了品種代碼和到期的時間,下面我們具體來看看。 咱們以“IF23…

OSPF 協議詳解:從概念原理到配置實踐的全網互通實現

什么是OSPF OSPF(開放最短路徑優先)是由IETF開發的基于鏈路狀態的自治系統內部路由協議,用來代替存在一些問題的RIP協議。與距離矢量協議不同,鏈路狀態路由協議關心網絡中鏈路活接口的狀態(包括UP、DOWN、IP地址、掩碼…

深入探究 JVM 堆的垃圾回收機制(二)— 回收

GC Roots 枚舉需要遍歷整個應用程序的上下文,而在進行可達性分析或者垃圾回收時,如果我們還是進行全堆掃描及收集,那么會非常耗時。JVM 將堆分為新生代及老生代,它們的回收頻率及算法不一樣。 1 回收算法 在進行可達性分析時&am…

藍橋杯 之 數論

文章目錄 習題質數找素數 數論,就是一些數學問題,藍橋杯十分喜歡考察,常見的數論的問題有:取模,同余,大整數分解,素數,質因數,最大公約數,最小公倍數等等 素…

Unity Shader編程】之渲染流程之深度及pass詳解

關于透明物體的渲染,首先需要了解以下部分 深度緩沖區深度寫入深度測試pass渲染和深度測試的過程深度測試和顏色混合過程 ** 一,深度緩沖區 ** 深度即物體距離相機的距離,深度寫入即是把物體的距離相機信息記錄下來,寫入一個名…

csv文件格式和excel數據格式有什么區別

CSV(Comma-Separated Values)和Excel(XLS/XLSX)數據格式的主要區別如下: 1. 文件格式 CSV:純文本格式,每一行表示一條記錄,字段之間用逗號(,)或其他分隔符&…

Beans模塊之工廠模塊注解模塊@Qualifier

博主介紹:?全網粉絲5W,全棧開發工程師,從事多年軟件開發,在大廠呆過。持有軟件中級、六級等證書。可提供微服務項目搭建與畢業項目實戰,博主也曾寫過優秀論文,查重率極低,在這方面有豐富的經驗…

C# HTTP 文件上傳、下載服務器

程序需要管理員權限,vs需要管理員打開 首次運行需要執行以下命令注冊URL(管理員命令行) netsh advfirewall firewall add rule name"FileShare" dirin actionallow protocolTCP localport8000 ipconfig | findstr "IPv4&quo…

基于 TRIZ 理論的筏式養殖吊籠清洗裝備設計研究

基于 TRIZ 理論的筏式養殖吊籠清洗裝備設計研究 一、引言 筏式養殖在水產養殖業中占據重要地位,吊籠作為養殖貝類、藻類等生物的關鍵器具,其清潔程度直接影響養殖生物的健康與產量。傳統的吊籠清洗方式多依賴人工,效率低下、勞動強度大且清洗…

QA:備份產品的存儲架構采用集中式和分布式的優劣?

分布式和集中式各有優劣,且這兩者下面的存儲類型也都不盡相同,從備份與恢復的數據層面來看,這兩者存儲相結合才是優解。 眾所周知,備份數據只存一份還只放在一個存儲里是不現實的。假設把備份數據訪問頻率、生命周期等參數分為三個…

FPGA中串行執行方式之計數器控制

FPGA中串行執行方式之計數器控制 使用計數器控制的方式實現狀態機是一種簡單且直觀的方法。它通過計數器的值來控制狀態的變化,從而實現順序邏輯。計數器的方式特別適合狀態較少且狀態轉移是固定的場景。 基本原理 計數器控制的狀態機 ?例程1:簡單的順序狀態機 以下是一個…

純vue手寫流程組件

前言 網上有很多的vue的流程組件,但是本人不喜歡很多冗余的代碼,喜歡動手敲代碼;剛開始寫的時候,確實沒法下筆,最后一層一層剝離,總算實現了;大家可以參考我寫的代碼,可以拿過去定制…

數字化轉型驅動衛生用品安全革新

當315晚會上晃動的暗訪鏡頭揭露衛生巾生產車間里漂浮的異物、紙尿褲原料倉中霉變的碎屑時,這一觸目驚心的場景無情地撕開了“貼身安全”的遮羞布,暴露的不僅是部分企業的道德缺失,更凸顯了當前檢測與監管體系的漏洞,為整個行業敲響…

【C++】:異常

目錄 C語言處理錯誤的方式 C異常的概念 C異常的使用 異常的拋出與捕獲匹配原則 函數調用鏈中的棧展開 異常重新拋出 異常安全 異常規范 標準庫異常體系 自定義異常體系 異常的優缺點 C語言處理錯誤的方式 返回值檢查:函數返回特定錯誤碼或值標識失敗&am…

SZU軟件工程大學生涯 2022~2026

用于個人面試前自我介紹,防止忘記或談吐不流利。 面試官您好,我是來自深圳大學計算機與軟件學院的軟件工程專業的王雅賢。在校期間,我修讀了程序設計基礎、面向對象程序設計、數據結構、算法分析與設計、操作系統等核心課程,系統…

【JavaWeb學習Day27】

Tlias前端 員工管理 條件分頁查詢&#xff1a; 頁面布局 搜索欄&#xff1a; <!-- 搜索欄 --><div class"container"><el-form :inline"true" :model"searchEmp" class"demo-form-inline"><el-form-item label…

Linux 系統運行 Android 應用的幾種方案

這幾年&#xff0c;國產操作系統替代正在有條不紊地進行中。但生態是繞不過去的一道坎&#xff0c;指望應用廠商一下子完成國產系統適配也不現實。之前介紹過使用 Wine 運行 Windows 應用的方案&#xff0c;減少了國產系統應用偏少的難題。比如我在辦公室使用最多的企業微信&am…

Python進階教程丨lambda函數

1. lambda函數是什么&#xff1f; 在 Python 里&#xff0c;lambda 函數是一種特殊類型的函數&#xff0c;也被叫做匿名函數。匿名”意味著它不需要像常規函數那樣使用 def 來進行命名。lambda lambda 函數本質上是簡潔的臨時函數 &#xff0c;它適用于只需要簡單邏輯的場景&a…

TK矩陣系統:高效管理與智能化操作平臺

隨著TikTok等社交媒體平臺的快速發展&#xff0c;短視頻創作和內容運營逐漸成為互聯網行業的重要組成部分。為了幫助內容創作者、品牌運營商以及數據分析人員更高效地管理多個TikTok賬號并優化運營策略&#xff0c;TK矩陣系統提供了一種全新的解決方案&#xff0c;結合了先進的…

Spring Boot整合Apache BookKeeper教程

精心整理了最新的面試資料和簡歷模板&#xff0c;有需要的可以自行獲取 點擊前往百度網盤獲取 點擊前往夸克網盤獲取 Spring Boot整合Apache BookKeeper教程 1. 簡介 Apache BookKeeper 是一個高性能、持久化的分布式日志存儲系統&#xff0c;適用于需要強一致性和高吞吐量的…