DHCP 配置
實驗拓撲

實驗需求
- 基於全局地址池的DHCP服務器給客戶端分配IP地址
- 基於接口的DCHP服務器給客戶端分配IP地址
實驗步驟
1. 基於全局地址池的DHCP服務器給客戶端分配IP地址
DHCP server 上配置如下
[DHCP server]dhcp enable
[DHCP server] ip pool huawei //設置一個名為 huawei 的全局地址池
[DHCP server-ip-pool-huawei] network 192.168.1.0 mask 24 //設置分配的地址網段
[DHCP server-ip-pool-huawei] gateway-list 192.168.1.1 //設置分配的網關IP
[DHCP server-ip-pool-huawei] lease day 10 hour 12 minute 59 //設置地址池IP租用有效期
[DHCP server-ip-pool-huawei] excluded-ip-address 192.168.1.2
//不參與自動分配的地址,留給DNS使用
[DHCP server-ip-pool-huawei] dns-list 8.8.8.8 192.168.1.2 //主DNS和備用DNS
[DHCP server]int g0/0/0
[DHCP server-GigabitEthernet0/0/0] ip address 192.168.1.1 24
[DHCP server-GigabitEthernet0/0/0] dhcp select global //接口下使能全局方式分配地址
[DHCP server-ip-pool-huawei]static-bind ip-address 192.168.1.3 mac-address 5489-
98e1-76a8 //IP地址和MAC地址進行綁定
2. 在PC1上設置為DHCP自動獲取方式,ipconfig 命令查看本機IP信息
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fefb:3545
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.254
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.1
Physical address..................: 54-89-98-FB-35-45
DNS server........................: 8.8.8.8
192.168.1.2
3.在PC2上設置為DHCP自動獲取方式,ipconfig 命令查看本機IP信息
分析:IP地址和MAC地址做綁定,已生效
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fee1:76a8
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.3
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.1
Physical address..................: 54-89-98-E1-76-A8
DNS server........................: 8.8.8.8
192.168.1.2
4.PC1上PING 測試如下:
PC>ping 192.168.1.1
Ping 192.168.1.1: 32 data bytes, Press Ctrl_C to break
From 192.168.1.1: bytes=32 seq=1 ttl=255 time=47 ms
From 192.168.1.1: bytes=32 seq=2 ttl=255 time=31 ms
From 192.168.1.1: bytes=32 seq=3 ttl=255 time=47 ms
From 192.168.1.1: bytes=32 seq=4 ttl=255 time=16 ms
From 192.168.1.1: bytes=32 seq=5 ttl=255 time=47 ms
--- 192.168.1.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 16/37/47 ms
5.查看全局地址池的分配信息
[DHCP server]dis ip pool name huawei all
Pool-name : huawei
Pool-No : 0
Lease : 10 Days 12 Hours 59 Minutes
Domain-name : -
DNS-server0 : 8.8.8.8
DNS-server1 : 192.168.1.2
NBNS-server0 : -
Netbios-type : -
Position : Local Status : Unlocked
Gateway-0 : 192.168.1.1
Mask : 255.255.255.0
VPN instance : --
-----------------------------------------------------------------------------
Start End Total Used Idle(Expired) Conflict Disable
-----------------------------------------------------------------------------
192.168.1.1 192.168.1.254 253 2 250(0) 0 1
-----------------------------------------------------------------------------
Network section :
--------------------------------------------------------------------------
Index IP MAC Lease Status
--------------------------------------------------------------------------
1 192.168.1.2 - - Disable
2 192.168.1.3 5489-98e1-76a8 - Static-bind used
2.基於接口的DCHP服務器給客戶端分配IP地址
DHCP server 上配置如下
[DHCP server]int g0/0/0
[DHCP server-GigabitEthernet0/0/0] ip address 192.168.1.1 24
[DHCP server-GigabitEthernet0/0/0] dhcp select interface //使能接口分配地址方式且關聯接口地址池
[DHCP server-GigabitEthernet0/0/0] dhcp server dns-list 192.168.1.3 8.8.8.8
[DHCP server-GigabitEthernet0/0/0] dhcp server lease day 10 hour 23 minute 59
[DHCP server-GigabitEthernet0/0/0] dhcp server excluded-ip-address 192.168.1.3
在PC1上設置為DHCP自動獲取方式,ipconfig 命令查看本機IP信息
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fefb:3545
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.254
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.1
Physical address..................: 54-89-98-FB-35-45
DNS server........................: 192.168.1.3
8.8.8.8
DHCP Relay配置
實驗拓撲

實驗需求
1.在DHCP 服務器上為兩個業務網段配置全局地址池;
2.R1設備為DHCP中繼,配置DHC服務器組;
3.在DHCP服務器上配置相應網段的靜態路由
實驗步驟
1.在DHCP server 上配置如下
[Huawei]dhcp enable
[Huawei]ip pool csy
[Huawei-ip-pool-csy] network 192.168.1.0 mask 24
[Huawei-ip-pool-csy] gateway-list 192.168.1.1
[Huawei-ip-pool-csy] excluded-ip-address 192.168.1.3
[Huawei-ip-pool-csy] dns-list 192.168.1.3
[Huawei]ip pool huawei
[Huawei-ip-pool-huawei] network 172.16.1.0 mask 24
[Huawei-ip-pool-huawei] gateway-list 172.16.1.1
[Huawei-ip-pool-huawei] excluded-ip-address 172.16.1.3
[Huawei-ip-pool-huawei] dns-list 172.16.1.3
[Huawei-GigabitEthernet0/0/0]ip address 10.1.12.2 24
2.在DHCP 中繼上配置DHCP服務器組
[Huawei]dhcp enble
[Huawei]dhcp server group csy //配置DHCP服務器組名
[Huawei-dhcp-server-group-csy]dhcp-server 10.1.12.2 設定DHCP服務器地址
[Huawei-GigabitEthernet0/0/0] dhcp select relay //啟動DHCP Relay功能
[Huawei-GigabitEthernet0/0/0] dhcp relay server-select csy //設定DHCP Relay要使用的服務器組
[Huawei-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[Huawei-GigabitEthernet0/0/2] dhcp select relay
[Huawei-GigabitEthernet0/0/2] dhcp relay server-select csy
[Huawei-GigabitEthernet0/0/2]ip address 172.16.1.1 24
[Huawei-GigabitEthernet0/0/1]ip address 10.1.12.1 24 //配置連接DHCP服務器的接口地址
3.在DHCP 服務器上配置靜態回程路由
[Huawei]ip route-static 172.16.1.0 24 10.1.12.1
[Huawei]ip route-static 192.168.1.0 24 10.1.12.1
4.在PC1上查看本機IP信息
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fefb:3545
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 192.168.1.254
Subnet mask.......................: 255.255.255.0
Gateway...........................: 192.168.1.1
Physical address..................: 54-89-98-FB-35-45
DNS server........................: 192.168.1.3
5.在PC4上查看本機IP信息
PC>ipconfig
Link local IPv6 address...........: fe80::5689:98ff:fe5a:642e
IPv6 address......................: :: / 128
IPv6 gateway......................: ::
IPv4 address......................: 172.16.1.254
Subnet mask.......................: 255.255.255.0
Gateway...........................: 172.16.1.2
Physical address..................: 54-89-98-5A-64-2E
DNS server........................: 172.16.1.3
6.查看中繼器配置信息
[Huawei]dis dhcp relay all
DHCP relay agent running information of interface GigabitEthernet0/0/0 :
Server group name : csy
Gateway address in use : 192.168.1.1
DHCP relay agent running information of interface GigabitEthernet0/0/2 :
Server group name : csy
Gateway address in use : 172.16.1.1
7.在DHCP服務器上查看地址池曾經分配過的地址
[Huawei]dis ip pool name csy used
Pool-name : csy
Pool-No : 0
Lease : 1 Days 0 Hours 0 Minutes
Domain-name : -
DNS-server0 : 192.168.1.3
NBNS-server0 : -
Netbios-type : -
Position : Local Status : Unlocked
Gateway-0 : 192.168.1.1
Mask : 255.255.255.0
VPN instance : --
-----------------------------------------------------------------------------
Start End Total Used Idle(Expired) Conflict Disable
-----------------------------------------------------------------------------
192.168.1.1 192.168.1.254 253 1 251(0) 0 1
-----------------------------------------------------------------------------
Network section :
--------------------------------------------------------------------------
Index IP MAC Lease Status
--------------------------------------------------------------------------
253 192.168.1.254 5489-98fb-3545 4860 Used
--------------------------------------------------------------------------
如果DHCP 客戶機與DHCP服務器在同一個物理網段,則客戶機可以正確地獲得動態分配的 ip地址。如果不在同一個物理網段,則需要DCHP Relay Agent(中繼代理)。
DHCP報文分析:
① 發現階段
我們可以看到,剛開始的主機沒有地址,也不知道網絡中DHCP 服務器是誰,所以主機發送了一個DHCP discover 報文,這個discover 報文源地址是0.0.0.0(我沒有地址),目的地址是一個廣播地址(共享網絡內的所有設備),它是用來發現網絡中的DHCP服務器的。
② 提供階段
是當網絡中的DHCP服務器收到discover 的時候會回復offer 提供報文,DHCP Server向DHCP Client提供IP地址的階段,會從自己維護的地址池中選擇一個合適的IP地址,並通過DHCP Offer消息將這個IP地址發送給DHCP Client。DHCP Server是以單播的方式來發送DHCP Offer消息的。下圖是offer報文的格式,我們可以看到 DHCP server 給主機 分配的一個地址並且在your ip address 字段進行了填充。

③ 請求階段
PC上的DHCP Client會在若干個收到的Offer(即若干個收到的DHCP Offer消息)中根據某種原則來確定出自己將要接受哪一個Offer。通常情況下,DHCP Client會接受它所收到的第一個Offer(即最先收到的那個DHCP Offer消息)
這個DHCP Request消息中攜帶有Server Identifier,是DHCP服務器標識,表示PC上的DHCP 客戶機 只願意接受此DHCP Server所給出的Offer。
其他的DHCP Server收到並分析了該DHCP Request消息后,會明白PC拒絕了自己的Offer。於是,這些DHCP Server就會收回自己當初給予PC的Offer。也就是說,當初准備提供給PC使用的IP地址現在可以用來分配給別的設備使用了。

④ 確認階段
在確認階段,DHCP Server會向PC上的DHCP Client發送一個DHCP Ack消息。注意,由於種種原因,DHCP Server也可能會向PC上的DHCP Client發送一個DHCP Nak消息。如果PC接收到了DHCP Nak消息,就說明這次獲取IP地址的嘗試失敗了。在這種情況下,PC只能重新回到發現階段來開始新一輪的IP地址申請過程。
下圖報文分析:當DHCP server 收到request 后,服務器就把地址分配給了主機,並在ack 報文里面的 Your ip address 字段進行了填充,當主機收到ack 后,就獲取到了該地址了,並且server 會在option 字段告訴主機一些其他的信息,比如掩碼,網關,租期等信息。
通過這四種報文的交互,主機就獲取到了一個地址;抓包的時候抓到了一個叫做gratuitous arp 的報文,此報文是為了檢查IP地址是否沖突

- DHCP RELEASE :一般出現在客戶端關機、下線等狀況。這個報文將會使DHCP服務器釋放發出此報文的客戶端的IP地址
- DHCP INFORM :客戶端發出的向服務器請求一些信息的報文
- DHCP DECLINE :當客戶端發現服務器分配的IP地址無法使用(如IP地址沖突時),將發出此報文,通知服務器禁止
使用該IP地址。
使用UDP協議工作,常用的兩個端口號,客戶端 67 服務器 68
