1. 程式人生 > >手把手教你搭建DHCP伺服器

手把手教你搭建DHCP伺服器

目錄

DHCP實現原理

DHCP定義

DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作。它是一種流行的Client/Server協議,一般用於為主機或者為路由器等指定相關的配置資訊。DHCP服務在企業和家庭中得到了大量的應用,它能夠自動分配ip地址以及一些其他的相關資訊,整個過程對客戶透明。

DHCP分配方式

  • 自動分配方式(Automatic Allocation),DHCP伺服器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP伺服器端租用到IP地址後,就可以永久性的使用該地址。
  • 動態分配方式(Dynamic Allocation),DHCP伺服器給主機指定一個具有時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。
  • 手工分配方式(Manual Allocation),客戶端的IP地址是由網路管理員指定的,DHCP伺服器只是將指定的IP地址告訴客戶端主機。

DHCP工作過程

DHCP客戶機在啟動時,會搜尋網路中是否存在DHCP伺服器。如果找到,則給DHCP伺服器傳送一個請求。DHCP伺服器接到請求後,為DHCP客戶機選擇TCP/IP配置的引數,並把這些引數傳送給客戶端。 如果已配置衝突檢測設定,則DHCP伺服器在將租約中的地址提供給客戶機之前會使用Ping測試作用域中每個可用地址的連通性。這可確保提供給客戶的每個IP地址都沒有被使用手動TCP/IP配置的另一臺非DHCP計算機使用。

根據客戶端是否第一次登入網路,DHCP的工作形式會有所不同。

初次登入

這裡寫圖片描述
初次登入時DHCP工作包括四個步驟
1、尋找DHCP伺服器
當DHCP客戶端第一次登入網路的時候,計算機發現本機上沒有任何IP地址設定,將以廣播方式傳送DHCP discover發現資訊來尋找DHCP伺服器,即向255.255.255.255傳送特定的廣播資訊。網路上每一臺安裝了TCP/IP協議的主機都會接收這個廣播資訊,但只有DHCP伺服器才會做出響應。
2、分配IP地址
在網路中接收到DHCP discover發現資訊的DHCP伺服器就會做出響應,它從尚未分配的IP地址池中挑選一個分配給DHCP客戶機,並向DHCP客戶機發送一個包含分配的IP地址和其他設定的DHCP offer提供資訊。
3、接受IP地址


DHCP客戶端接受到DHCP offer提供資訊之後,選擇第一個接收到的提供資訊,然後以廣播的方式回答一個DHCP request請求資訊,該資訊包含向它所選定的DHCP伺服器請求IP地址的內容。
4、IP地址分配確認
當DHCP伺服器收到DHCP客戶端回答的DHCP request請求資訊之後,便向DHCP客戶端傳送一個包含它所提供的IP地址和其他設定的DHCP ack確認資訊,告訴DHCP客戶端可以使用它提供的IP地址。然後,DHCP客戶機便將其TCP/IP協議與網絡卡繫結,另外,除了DHCP客戶機選中的DHCP伺服器外,其他的DHCP伺服器將收回曾經提供的IP地址。

重新登入

以後DHCP客戶端每次重新登入網路時,就不需要再發送DHCP discover發現資訊了,而是直接傳送包含前一次所分配的IP地址的DHCP request請求資訊。當DHCP伺服器收到這一資訊後,它會嘗試讓DHCP客戶機繼續使用原來的IP地址,並回答一個DHCP ack確認資訊。如果此IP地址已無法再分配給原來的DHCP客戶機使用時,則DHCP伺服器給DHCP客戶機回答一個DHCP nack否認資訊。當原來的DHCP客戶機收到此DHCP nack否認資訊後,它就必須重新發送DHCP discover發現資訊來請求新的IP地址。
這裡寫圖片描述
1、如果客戶端DHCP request 內的IP地址在伺服器端沒有被使用,DHCP伺服器回覆DHCP ACK繼續使用IP。
2、如果客戶端DHCP request 內的IP地址在伺服器端已被使用,DHCP伺服器回覆DHCP NACK告訴客戶端IP已被使用。
3、回覆NACK後,重新開始DHCP初次登入時的流程

更新租約

DHCP伺服器向DHCP客戶機出租的IP地址一般都有一個租借期限,期滿後DHCP伺服器便會收回出租的IP地址。如果DHCP客戶機要延長其IP租約,則必須更新其IP租約。DHCP客戶機啟動時和IP租約期限到達租約的50%時,DHCP客戶機都會自動向DHCP伺服器傳送更新其IP租約的資訊。

搭建DHCP伺服器

實驗目的

手動搭建一臺DHCP伺服器,使其達到該網段內的所有主機,都能通過該伺服器自動獲取ip地址,並且獲取到的ip地址是自己在DHCP伺服器上所指定的網段

實驗環境

作業系統:CentOs7
工具:VMvare軟體

實驗步驟

1、在CentOS7上安裝DHCP軟體包

[root@CentOs7 ~]# yum -y install dhcp     

2、修改DHCP的配置檔案

[[email protected] ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 
將樣板拷貝到並替換配置檔案。
在配置檔案中加入這麼一段
subnet 172.25.0.0 netmask 255.255.0.0{
  range 172.25.0.50 172.25.0.253;
}
其中subnet 和netmask分別代表網段號和子網掩碼號。可以按需求選擇三種private ip中的任意一種。
range代表你要劃分的ip池的範圍。

這裡寫圖片描述
3、關閉VMvare自帶的dhcp伺服器,如下所示,然後所有需要分配ip的主機都使用這一張網絡卡。
例如,我們圖中所示的例子。我使用的是VMNET網絡卡2來進行相關的配置。
這裡寫圖片描述
我們取消掉該網絡卡的DHCP服務,並且讓所有主機都接入這張網絡卡。
4、服務機上啟動DHCP伺服器

[root@CentOs7 ~]# systemctl start dhcpd.service  

5、Client上重新啟動網絡卡

[root@CentOs7 ~]# systemctl restart network

實驗結果

每臺主機都得到了指定範圍的ip地址,我們使用pssh命令查詢我所開的四臺客戶端的情況,如圖所示:
這裡寫圖片描述
這四臺客戶機的ip剛好是我們在配置檔案中分配的ip!0

相關推薦

手把手搭建DHCP伺服器

目錄 DHCP實現原理 DHCP定義 DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作。它是一種流行的Client/Server協議,一般用於為主機

手把手搭建Git伺服器

最近入了臺阿里雲伺服器,就學了學搭建一個Git伺服器,其實也挺簡單的,不過中途還是遇到了一些小問題 首先伺服器系統版本為Ubuntu16.04,如果用Centos版本的同學也可以看看以下總結,相信自己也能動手完成: 如果沒有安裝ssh的先安裝ssh 安裝git 新增g

手把手搭建一個直播伺服器(Nginx+Rtsp)

本教程感謝慕課網常用工具:                ffmpeg音視訊編解碼                 ffplay音視訊播放工具搭建流媒體伺服器                準備流媒體伺服器linux                準備並安裝Nginx服務  

手把手搭建Windows環境微信小程式的本地測試伺服器

Mac環境下 問題的提出 Windows環境 方便快捷地搭建小程式的測試伺服器 小程式對於網路請求的URL的特殊要求 不能出現埠號 不能用localhost 必須用https 主要步驟 用json-server搭建簡單地伺服器,搭建出

【新手教程】手把手搭建騰訊雲伺服器,圖文詳細教程

· 背景     暑假期間,愁著無聊但也不能荒廢學業吧,畢竟以後想靠技術混口飯吃!為了實施自己的計劃,特地挑了一個便宜的雲伺服器來用作自己的後臺;這不是學生狗沒錢嘛,所以我就挑了一個騰訊雲伺服器。雖說配置很低,但夠我們玩就行。因為想寫一個電商App,資料總不能從本地資料

大數據江湖之即席查詢與分析(下篇)--手把手搭建即席查詢與分析Demo

dmi 安裝centos 用戶 author sla repo 相關 中文 plugin 上篇小弟分享了幾個“即席查詢與分析”的典型案例,引起了不少共鳴,好多小夥伴迫不及待地追問我們:說好的“手把手教你搭建即席查詢與分析Demo”啥時候能出?說到就得做到,差啥不能差

[轉]手把手搭建Hive Web環境

方式 啟動 list apach pre 手動 cli 找不到 interface 了解Hive的都知道Hive有三種使用方式——CLI命令行,HWI(hie web interface)瀏覽器 以及 Thrift客戶端連接方式。 為了體驗

0基礎手把手搭建webpack運行打包項目(未完待續)

蘊含 必須 asc 工具 過程 更多 關系圖 本地服務 spa   這些天在項目之余的時間學習了webpack打包項目的東西,非常榮幸的找到一些大神的文章來學習,死勁嚼了幾天,終於略知一二。在以後的工作上還需繼續學習,下面我將分享我這幾天學到的一點東西,希望能讓我一個還不算

2018年最新手把手搭建中小型互聯網公司後臺服務架構與運維架構

前端 詳細 token 使用詳解 restful jedis 以及 tom mvc 本課程主要是針對如何從無到有搭建中小型互聯網公司後臺服務架構和運維架構的課程,課程所涉及的內容均是當前應用最廣泛的技術和工具。本課程所講解的技術體系已經在多個中小型互聯網公司中實戰運行使用,

centos7手把手搭建zabbix監控

centos7手把手教你搭建zabbixCentos7安裝部署zabbix3.4centos系統版本: 1、安裝前需要先關閉selinux和firewall.1.1[root@zabbix ~]# vi /etc/selinux/config 將SELINUX=enforcing改為SELINUX=disa

手把手搭建一個加密貨幣交易模擬器,不用投錢就能玩

box NPU nec idp reat 監控 最簡 data- 自己 手把手教你搭建一個加密貨幣交易模擬器,不用投錢就能玩 大數據文摘,編譯:汪小七、黃文暢、小魚 我雖然不是交易員,但對加密貨幣的交易非常感興趣。然而,我不會在自己什麽都不清楚的時候就盲目投

手把手搭建HEXO免費博客

默認 鏡像 教程 環境 生成密鑰 文本 註冊 工具 即使 一、環境搭建 node安裝 百度搜索node,進入官網。下載穩定版: 下載好後直接打開安裝 我這裏將其安裝在D盤(可以自己選擇安裝位置) 可以看到安裝包中已經自帶n

手把手搭建 Selenuim 自動化環境

提示 for ESS down bmi dem def import docs 看完這篇文章,你將學到如何在 Windows 上搭建基本的 Selenium 自動化環境。 1.本次使用的系統環境是最新的 Windows 10 17134 系統; 2.本次使用的 Python

手把手搭建React Native 開發環境 - ios篇 (React [email&#

由於之前我是h5的,沒接觸過ios和安卓, 也不瞭解xcode配置,所以 建議學reace-native之前還是先去了解一下ios和安卓開發環境搭建等問題。 環境下載及配置 nodejs:https://nodejs.org/en/download/ 設定淘寶映象 $ npm con

手把手搭建 vue 環境

out ash npm ctr ref cli href http 沒有 第一步 node環境安裝 1.1 如果本機沒有安裝node運行環境,請下載node 安裝包進行安裝1.2 如果本機已經安裝node的運行換,請更新至最新的node 版本下載地址:https://no

手把手搭建 Hex0 + GitHub 部落格

1.環境安裝 1.1 Git Windows: https://gitforwindows.org/ 如果是 Mac 電腦的話,請先安裝 Xcode,因為 Xcode 自帶 Git. 1.2 Node.js 下載對應系統的 node 安裝包,一路 next 無腦安裝即

手把手搭建可自動化構建的微服務框架

詳細說明如何從零搭建微服務框架。 本文你將學到什麼? 本文將以原理+實戰的方式,首先對“微服務”相關的概念進行知識點掃盲,然後開始手把手教你搭建這一整套的微服務系統。 這套微服務框架能幹啥? 這套系統搭建完之後,那可就厲害了: 微服務架構你的整個應用程式將會被拆分成一個個功能獨立的子系統,獨立

手把手搭建vue專案

先下載node  node.js  下載完後直接傻瓜式安裝 儘量安到c盤不然還得更改環境變數。 然後再下載git https://git-scm.com/download/win  找到您對應的系統下載  git

手把手搭建springCloud--註冊中心使用eureka

  此文章寫的相對比較簡便,主要是為了方便新手開發,如果將所有內容一股腦全放出來,反而增加了新手開發的複雜度,個人認為這樣通俗易懂,我們都是先將服務搭建起來之後再去了解其中的技術要點 如果需要已經搭建好的專案,去這裡下載:https://download.csdn.net/down

手把手搭建S2-057 漏洞除錯環境

準備工具: eclipse、 (文末有附件連結) 1、解壓struts-2.5.16-all.zip,找到其中的示例應用,解壓後的目錄結構如下圖(app裡是打包好的jar包,src裡面包含示例檔案的原始碼) 2、進入src之後,找到這兩個工程所在目錄,直接匯入到e