linux之DHCP服務端搭建 ( ip分配 四個階段原理)


DHCP服務 ip分配 四個階段原理

1.DHCP服務目的 協議 作用 租約 原理四個階段

動態主機配置協議(Dynamic Host Configuration Protocol,動態主機配置協議)

①其目的主要是為TCP/IP協議網絡自動分配IP地址和相關參數(主機的IP地址、子網掩碼、廣播地址、默認網關、DNS地址等)。

②工作在局域網的網絡應用層協議,使用UDP協議工作。

主要作用:減輕管理員配置網絡,尤其是配置IP地址的壓力,靈活、方便、快捷,也減輕了IP地址的使用浪費,避免IP地址沖突。

 

DHCP的分配方式:

1、自動分配是當DHCP客戶機第一次成功的從DHCP服務器獲取到一個IP地址后,就永久的使用這個IP地址。

2、手動分配是由DHCP服務器管理員專門制定的IP地址。

3、動態分配是當DHCP客戶機第一次從DHCP服務器獲取到IP地址后,並非永久的使用該地址,而是在每次使用完后,DHCP客戶機就會釋放這個IP地址,供其他客戶機使用。

 

租約release)的概念:

IP地址的使用期限,使用期限到期可以進行續租。

可以手動獲取租約以及釋放租約。

 

四個階段原理 原理

DHCP客戶端通過和DHCP服務器的交互通訊以獲得IP地址租約。為了從DHCP服務器獲得一個IP地址,

在標准情況下DHCP客戶端和DHCP服務器之間會進行四次通訊。DHCP協議通訊使用端口UDP 67(服務器端)

UDP 68(客戶端)進行通訊,UDP68端口用於客戶端請求,UDP67用於服務器響應,並且大部分DHCP協議通訊使用廣播進行。

 

 

 

 

 

第一階段 客戶端發出DHCP DISCOVER請求IP地址等參數;

第二階段 服務器回應DHCP OFFER提供IP地址等參數;

第三階段 客戶端發出DHCP REQUEST接受基於DHCP服務器的租約;

第四階段 服務器回應DHCP ACK進行確認IP地址等參數的使用。

 

 

第一階段  DHCP DISCOVER  

DHCP客戶端進行初始化(如DHCP客戶端啟動計算機、啟用網絡適配器或者連接到網絡時)發送DHCP DISCOVERDHCP服務器有一個對應網段IP,則響應。客戶機等待1秒,否則每隔2、4、8、16秒重發廣播,若仍未收到,使用169.254.0.0/16(0.1-255.254).同時每隔5分鍾再試一次.直到從DHCP服務器獲取IP地址為止。

 

第二階段   DHCP OFFER

所有接收到DHCP客戶端發送的DHCP DISCOVER廣播消息的DHCP服務器會檢查自己的配置,如果具有有效的DHCP作用域和富余的IP地址,則DHCP服務器發起DHCPOFFER廣播消息來應答發起DHCPDISCOVER廣播的DHCP客戶端,

此消息包含以下內容:

客戶端MAC地址;

DHCP服務器提供的客戶端IP地址;

DHCP服務器的IP地址;

DHCP服務器提供的客戶端子網掩碼;

其他作用域選項,例如DNS服務器、網關、WINS服務器等;

租約期限等。

 

因此DHCP客戶端沒有IP地址,所以DHCP服務器同樣使用廣播進行通訊:源IP地址為DHCP服務器的IP地址,而目的IP地址為255.255.255.255。同時,DHCP服務器為此客戶保留它提供的IP地址,從而不會為其他DHCP客戶分配此IP地址。如果有多個DHCP服務器給予此DHCP客戶端回復DHCPOFFER消息,則DHCP客戶端接受它接收到的第一個DHCPOFFER消息中的IP地址。

 

第三階段  DHCP REQUEST

DHCP客戶端接受DHCP服務器的租約時,它將發起DHCPREQUEST廣播消息,告訴所有DHCP服務器自己已經做出選擇,

接受了某個DHCP服務器的租約。在此DHCPREQUEST廣播消息中包含了DHCP客戶端的MAC地址、接受的租約中的IP地址、

提供此租約的DHCP服務器地址等,所有其他的DHCP服務器將收回它們為此DHCP客戶端所保留的IP地址租約,以給其他DHCP客戶端使用。

此時由於沒有得到DHCP服務器最后確認,DHCP客戶端仍然不能使用租約中提供的IP地址,所以在數據包中仍然使用0.0.0.0作為源IP地址,廣播地址255.255.255.255作為目的地址。

 

第四階段   DHCP ACK

提供的租約被接受的DHCP服務器在接收到DHCP客戶端發起的DHCPREQUEST廣播消息后,

會發送DHCP  ACK廣播消息進行最后的確認,在這個消息中同樣包含了租約期限及其他TCP/IP選項信息。

如果沒有其他主機使用此IP地址,則DHCP客戶端的TCP/IP使用租約中提供的IP地址完成初始化,從而可以和其他網絡中的主機進行通訊。

至於其他TCP/IP選項,如DNS服務器和WINS服務器等,本地手動配置將覆蓋從DHCP服務器獲得的值。

 

租約到期

DHCP客戶機重新登錄,直接發起一個之前使用的IP地址的request請求,如服務器已分配,重新執行上述四階段。

DHCP服務器將IP地址提供給DHCP客戶端時,會包含租約的有效期,默認租約期限為8天691200秒),

客戶機租用的IP地址達到50%,就要更新租約,若服務器未回復,最大可以使用期限的87.5%,到達后客戶機進行

IP租用尋址,進行四個階段

 

2.案例DHCP服務  自動獲取ip

通常情況下,DHCP只能在廣播域使用,為了實現廣播域外一定范圍的DHCP服務,需要使用DHCP中繼技術。

dhcp的程序:dhcpddhcrelay

 

dhcp配置文件定義:

①默認最大租約期限(默認為秒)

②option--->指明地址和掩碼其他的相關屬性

             filename:指明引導文件名稱

             next-server:指明引導文件的服務器的IP地址

③subnet

④host

dhcp分配ip和租約記錄--->配置文件/var/lib/dhcpd/dhcpd.leases

 

實驗配置一:   搭建DHCP服務    實現動態獲取IP及相關網絡配置

1:服務器1  手動配置IP和網關或其他屬性,搭建DHCP服務,使用YUM進行安裝。

2:獲取配置文件模板,設置dhcp主配置文件

3:修改dhcp主配置文件,進行配置,然后啟動dhcp服務

在客戶機上進行驗證結果

1. 掛載鏡像sr0,配置yum環境 安裝dhcp軟件

mkdir  /media/cdiso -p              ---創建cdiso 掛載點

mount  /dev/sr0  /media/cdiso      ---掛載sr0   到cdiso下

 

配置yum環境,  只要配置yum之后就要清空緩存   

yum clean  all  清空緩存

cd /etc/yum.repos.d/

cp CentOS-Base.repo CentOS-Base.repo.bak         

vim Centos-Base.repo   

 

 

 

 

 

yu'm配置內容

 

 

 

 

 

2.安裝軟件

yum clean all       清空緩存

yum -y install dhcp     然后安裝軟件   

 

 

 

 

  

3.dhcp主配置文件,配置ip資源池

cd  /etc/dhcp/  

vim  /etc/dhcp/dhcpd.conf

進去有這一段話,復制一下

/usr/share/doc/dhcp*/dhcpd.conf.example

然后 復制一下這個文件    /etc/dhcp/dhcpd.conf

 

cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf

會顯示是否覆蓋,是

查看 cd /etc/dhcp/  ,會顯示有dhcpd.conf 這個文件

 

 

 

 

 

 

 

 

 

2.)添加地址池

vim  /etc/dhcp/dhcpd.conf

主要添加地址池   有一個地址池和靜態ip是一個段的 這樣才能成功

 

 

 

 

vim  dhcpd.conf    配置文件修改地址池

 

 

 

 

第一行指定一個段subnet 192.168.10.0 netmask 255.255.255.0 ;{

服務器網段           掩碼

range  192.168.10.2到192.168.10.90;   客戶端 ip可以用的是從2到90

       開始的IP        結束的IP         ---配置可使用ip數量

下一個domain-name-servers    8.8.8.8;  ---DNS每行注意分號  dns

domain-name "ujiuye.com";            ---域名,給他指定ujiuye.com

option routers 192.168.10.254;         ---路由網關下一跳,,(路由,中繼器)

# option broadcast-address 10.5.5.31;   ---注解掉

default-lease-time 600;                  ---下面可以不改

  max-lease-time 7200;

}                        

                    

增加下一個網段20

subnet 192.168.20.0 netmask 255.255.255.0  {

  range 192.168.20.1 192.168.20.90;

  option domain-name-servers 8.8.8.8;

  option domain-name "ujiuye.com";

  option routers 192.168.20.254;

 # option broadcast-address 10.5.5.31;

  default-lease-time 600;

  max-lease-time 7200;

保存退出

查看ip網卡是否更改

 

 

 

 

4. 測試客戶機

下面去配置客戶機

這兩個要同一個網段  都是10網段    vmnet1    

 

 

 

 

 

然后去編輯 ifcfg-ens33這個網卡  

BOOTROTO改為dhcp獲取

注釋掉ip 和PREFIX  (ip和子網掩碼注釋掉)

保存退出

 

 

 

 

 

輸入命令,自動獲取

dhclient -d ens33    ---為ens33這個網卡獲取ip地址

然后就會自動獲得最后一行的  bound  to   192.168.10.132的ip地址

 

 

 

 

5給客戶機自動分配ip

安裝dhcp服務

cd /etc/dhcp/                ---到這個目錄下

ls                            ----查看所有文件

vim dhcpd.conf              ----編輯

內容為這個

...........

上面可以配置地址池

..............

# set.

host centoszifu {                         ---指定主機名字

  hardware ethernet 00:0c:29:95:62:64;    ---那個主機的msak 即 ether 00:0c:29:cc:39:1f

  fixed-address 192.168.20.30;            ---指定的ip

}

 

 

 

 

 

改主機名字,指定主機mask ,和指定的IP

 

 

 

 

 

 

3.案例 搭建dhcp中繼器,跨網段獲取ip

實驗配置二:搭建DHCP並配置DHCP中繼服務,完成跨網段DHCP服務

1)關閉 服務器,中繼器,客戶機 的防火牆服務

 

iptables -F

iptables -X

iptables -Z

systemctl stop firewalld.service    ---關閉防火牆

setenforce  0

 

 

 

 

2)中繼路由器兩塊網卡  關閉中繼服務端虛擬機dhcp功能

虛擬機增加第二塊網卡  和關閉虛擬機的  在虛擬網絡編輯器    dhcp的功能

關閉要使用的    Vmnet1  和vmne2的  dhcp功能

 

或者去我的電腦管理  管理   服務和應用程序   服務  關閉vmnet和dhcp

或者:  Win+R    輸入services.msc   也可直接打開服務

 

 

 

 

 

 

 

 

 

3.)配置中繼器路由ip  兩個網卡 為服務器客戶端 的網關

DHCP中繼服務器配置靜態IP和網關,每個網卡的IP需是其他客戶機以及DHCP服務器的對應的網關

 

vi ifcfg-ens33    

第一個 Ip  改為服務器10.254     為下面服務器要用到的網關

即中繼器vmnet1  ens33  的IP10.254    作為服務器的  網關

 

 

 

 

 

配置第二個網卡ip               客戶機  要連接的   網關

cp ifcfg-ens33 ifcfg-ens38    --復制這個網卡,然后更改配置

vi ifcfg-ens38                --- ip 為  20.254    為客戶機的網關  

uuid注釋掉, 名字和ip改好

 

 

 

 

4.配置服務器 的ip   中繼服務端 開啟路由轉發功能

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33                           

在下面一行加入網關  GATEWAY= 192.168.10.254   --即  中繼器兼 路由的  ip

 

 

 

 

ping  192.168.10.254        看是否成功

 

 

 

 

 

 

配置dhcp中繼服務器開啟路由功能

echo "1">/proc/sys/net/ipv4/ip_forward  ---開啟臨時路由

 

永久開戶路由轉發:

vim /etc/sysctl.conf

net.ipv4.ip_forward = 1  文件里增加

sysctl -p   刷新啟動

 

 

 

 

5)配置客戶機 的ip 增加網關

多台客戶機臨時配置靜態IP,進行通信,驗證中繼服務器路由轉發效果。

先更改設置里面vmnet2為僅主機模式,因為dhcp服務器為vmnet1,所以客戶機為vmnat2            中繼器都有這兩個網段192.10.254  和192.168.20.254  的ip

 

配置修改客戶機IP和網關

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33          

GATEWAY= 192.168.20.254  -----中繼器第二個網卡IP作為客戶機的網關

 

 

 

 

 

檢測客戶機  能否ping通  服務器  

在客戶機ping  192.168.10.2     --10.2為服務器的ip

 

 

 

 

 

檢測   服務器端ping 192.168.20.20   ---20.20為客戶機ip

 

 

 

 

 

如果不通則手寫,增加路由:

(1)網段  -net

配置服務器的命令為 :        服務器網段為10網段   客戶機為20

 route add -net 192.168.20.0/24 gw 192.168.10.254

                我要到20.0網段   這個網段下一跳網關為10.254中繼器

 

配置客戶機的命令為         客戶機ip為20網段

route add -net 192.168.10.0/24 gw 192.168.20.254

   我要到10網段     我的下一跳網關為20.254 ,

下一跳為我要到的下一個主機ip ,也就是我客戶機要到的網關

 

(2)到主機 -host

 route add -host 192.168.10.254  gw 192.168.20.254

我要到的這個主機ip   本機下一跳網關

   

6.)中繼服務器安裝  dhcp   設置中繼永久保存 啟動服務查看端口

配置好yum,掛載好了之后執行以下命令

yum clean  all  清空緩存

yum -y install dhcp

 

打開中繼  設置永久保存

dhcrelay  -i  ens33  -i  ens38  192.168.10.2      打開中繼,不是永久保存

中繼服務的2個網卡  服務器ip   (有幾個網卡參與中繼都為-i  ensxxx   加到后面即可)

 

netstat -antulp | grep :67         查看網絡狀態,過濾出67端口

 

永久保存   ---寫入其腳本:

cd /usr/lib/systemd/system

vim  dhcrelay.service    永久有效去配置這個文件

Exescstart 后面直接加  -i ens33 -i ens38 192.168.10.2

 

 

 

 

vim中繼配置永久保存

 

 

 

 

 

啟動服務

 

systemctl  daemon-reload       

systemctl  enable dhcrelay.service   --開機啟動

systemctl  start dhcrelay.service     --啟動服務

 

 

 

 

 

7.配置客戶機使其自動獲取ip

首先查看客戶機的網卡, 應該為vmnet2    --客戶機為20網段

vim ifcfg-ens33          --注釋其中內容

BOOTPROTO=none     改為=dhcp  --自動獲取

注釋掉   IPADDR   和    PREFIX=24

 

systemctl  restart  network      --重新啟動網絡

Ifconfig   ---查看網卡配置信息

 

 

 

 

 

 

dhclient -d ens33   自動獲取ip

 

 

 

 

 

 

重新啟動網絡再次查看

systemctl  restart  network      --重新啟動網絡

Ifconfig   --查看網卡配置信息

 

 

 

 

進行客戶機針對性測試

重啟客戶機網卡,或者獲得dhcp租約

dhclient -d ethX 為網卡獲取IP租約         dhclient -r:釋放租約

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM