理論+實驗:Linux的DHCP原理與配置

0 day發表於2020-10-20

一、DHCP工作原理

1.1、瞭解DHCP服務

  • DHCP (Dynamic HostConfiguration Protocol,動態主機配置協議)
  • 由lnternet工作任務小組設計開發
  • 專門用於為TCP/IP網路中的計算機自動分配TCP/IP引數的協議

1.2、使用DHCP的好處

  • 使用DHCP的好處
  • 減少管理員的工作量
  • 避免輸入錯誤的可能
  • 避免IP地址衝突
  • 當更改IP地址段時,不需要重新配置每個使用者的IP地址
  • 提高了IP地址的利用率
  • 方便客戶端的配置

1.3、DHCP的分配方式

  • 自動分配:分配到一個IP地址後永久使用
  • 手動分配:由DHCP伺服器管理員專門指定IP地址
  • 動態分配:使用完後釋放該IP,供其它客戶機使用

1.4、DHCP租約過程

客戶機從DHCP伺服器獲得IP地址的過程稱為DHCP的租約過程

分為四個步驟:

  • 客戶端在網路中搜尋伺服器
  • 伺服器向客戶端響應服務
  • 客戶端向目標伺服器發出服務請求
  • 伺服器向客戶端提供服務

1.4.1、客戶機請求IP地址

  • 當一個DHCP客戶機啟動時,客戶機還沒有IP地址,所以客戶機要通過DHCP獲取一個合法的地址
  • 此時DHCP客戶機以廣播方式傳送DHCP Discover發現資訊來尋找DHCP伺服器

在這裡插入圖片描述

1.4.2、伺服器響應

  • DHCP伺服器接收到來自客戶機請求IP地址的資訊時,在自己的IP地址池中查詢是否有合法的IP地址提供給客戶機
  • 如果有,DHCP伺服器將此IP地址做上標記,加入到DHCPOffer的訊息中,然後廣播─則DHCP Offer訊息

在這裡插入圖片描述

1.4.3、客戶機選擇IP地址

  • DHCP客戶機從接收到的第一個DHCP Offer訊息中提取IP地址,發出IP地址的DHCP伺服器將該地址保留,這樣該地址就不能再分配給另一個DHCP客戶機

在這裡插入圖片描述

1.4.4、伺服器確定租約

  • DHCP伺服器接收到DHCP Request訊息後,以DHCPACK訊息的形式向客戶機廣播成功確認,該訊息包含有IP地址的有效租約和其他可配置的資訊
  • 當客戶機收到DHCP ACK訊息時,配置IP地址,完成TCP/IP的初始化

在這裡插入圖片描述

1.4.5、重新登陸

  • DHCP客戶機每次重新登入網路時,不需要再傳送DHCPDiscover資訊,而是直接傳送包含前一次所分配的IP地址的DHCP Request請求資訊

在這裡插入圖片描述

1.4.6、更新租約

  • 當DHCP伺服器向客戶機出租的IP地址租期達到50%時,就需要更新租約
  • 客戶機直接向提供租約的伺服器傳送DHCP Request包,要求更新現有的地址租約

二、DHCP伺服器的配置

2.1、使用DHCP動態配置主機地址

  • DHCP服務
    1、為大量客戶機自動分配地址,提供集中管理
    2、減輕管理和維護成本、提高網路配置效率

  • 可分配的地址資訊主要包括
    1、網路卡的IP地址、子網掩碼
    2、對應的網路地址、廣播地址
    3、預設閘道器地址
    4、DNS伺服器地址

2.2、主配置檔案

2.2.1、dhcpd.conf的內容構成

在這裡插入圖片描述

2.2.2、全域性配置,作用於整個DHCP伺服器

  • ddns-update-style none; ## 禁止dns動態更新

  • default-lease-time 21600; ## 預設租約期限

  • max-lease-time 43200; ## 最大租約期限

  • option domain-name “domain.org”; ## 指定域名

  • option domain-name-servers 202.106.0.20; ## 指定分配dns地址

2.2.3、Subnet網段宣告,作用於整個子網段

  • range引數:設定用於分配的P地址池
  • option subnet-mask引數:設定客戶機的子網掩碼
  • option routers引數:設定客戶機的預設閘道器地址

2.2.4、host主機宣告,作用於單個主機

  • hardware ethernet引數:指定對應主機的MAC地址
  • fixed-address引數:指定為該主機保留的IP地址

三、DHCP中繼服務實驗

3.1、實驗拓撲

在這裡插入圖片描述

3.2、SW2 配置

######SW2二層交換機########
vlan batch 10 20 30
#
interface Ethernet0/0/1
 port link-type access
 port default vlan 10
#
interface Ethernet0/0/2
 port link-type access
 port default vlan 20
#
interface Ethernet0/0/3
 port link-type access
 port default vlan 30
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094

3.3、SW1 配置

sysname RSW1
vlan batch 10 20 30
#
dhcp enable
#
interface Vlanif10
 ip address 192.168.10.1 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.100.66
 Un sh
#
interface Vlanif20
 ip address 192.168.20.1 255.255.255.0
 dhcp select relay
 dhcp relay server-ip 192.168.100.66
 Un sh
#
interface Vlanif30
 ip address 192.168.100.1 255.255.255.0
 Un sh
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 to 4094
 Un sh

3.4、伺服器配置

在這裡插入圖片描述

3.5、PC1、PC2配置

PC1,2開啟DHCP服務

在這裡插入圖片描述
在這裡插入圖片描述

3.6、虛擬機器配置

192.168.10.0 網段

yum -y install dhcpd
在虛擬機器進入 vi  /etc/dhcp/dhcpd.conf
在裡面新增配置檔案
注意!逐個PC新增然後儲存退出
192.168.10.1網段的PC:
subnet 192.168.10.0 netmask 255.255.255.0{
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option domain-name "www.bdqn1.com";
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 21600;
max-lease-time 43200;
}
配置完之後
systemctl restart dhcpd  ###配完之後重啟一下dhcp服務

然後進入PC1,獲取並驗證一下
-在這裡插入圖片描述

  • 192.168.20.0 網段
192.168.20.1網段的PC:
subnet 192.168.20.0 netmask 255.255.255.0{
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option subnet-mask 255.255.255.0;
option domain-name "www.bdqn2.com";
option domain-name-servers 114.114.114.114,8.8.8.8;
default-lease-time 21600;
max-lease-time 43200;
}
systemctl restart dhcpd  ###配完之後重啟一下dhcp服務
  • 進入PC2,獲取並驗證一下

在這裡插入圖片描述

  • 可以抓個包看一下
    在這裡插入圖片描述

相關文章