一.DHCP服務
① DHCP (Dynamic HostConfiguration Protocol,動態主機配置協議)
② 由Internet] C作任務小組設計開發
③ 專門用於為TCP/IP網絡中的計算機自動分配TCP/IP參數的協議
④ 使用DHCP的好處
• 減少管理員的工作量
• 避免輸入錯誤的可能
• 避免IP地址沖突
• 當更改IP地址段時,不需要重新配置每個用戶的IP地址
• 提高了IP地址的利用率
• 方便客戶端的配置
⑤ DHCP的分配方式
• 自動分配:分配到一個IP地址后永久使用
• 手動分配:由DHCP服務器管理員專門]指定IP地址
• 動態分配:使用完后釋放該IP,供其它客戶機使用
二.DHCP的租約過程
① 客戶機從DHCP服務器獲得IP地址的過程稱為DHCP的租約過程
② 分為四個步驟
(1)客戶端在網絡中搜索服務器
(2)服務器向客戶端響應服務
(3)客戶端向目標服務器發出服務請求
(4)服務器向客戶端提供服務
詳情解析:
1.客戶機請求IP地址
• 當一個DHCP客戶機啟動時,客戶機還沒有IP地址,所以客戶機要通過DHCP獲取一個合法的地址
• 此時DHCP客戶機以廣播方式發送DHCP Discover發現信息來尋找DHCP服務器
2.服務器響應
• DHCP服務器接收到來自客戶機請求IP地址的信息時,在自己的IP地址池中查找是否有合法的IP地址提供給客戶機
• 如果有,DHCP服務器將此IP地址做上標記,加入到DHCP Offer的消息中,然后廣播- -則DHCP Offer消息
3.客戶機選擇IP地址
• DHCP客戶機從接收到的第一個DHCP Offer消息中提取IP地址,發出IP地址的DHCP服務器將該地址保留,這樣該地址就不能再分配給另一個DHCP客戶機
4.服務器確定租約
• DHCP服務器接收到DHCP Request消息后,以DHCP ACK消息的形式向客戶機廣播成功確認,該消息包含有IP地址的有效租約和其他可配置的信息
• 當客戶機收到DHCP ACK消息時,配置IP地址,完成TCP/IP的初始化
5.重新登錄
• DHCP客戶機每次重新登錄網絡時,不需要再發送DHCP Discover信息,而是直接發送包含前一次所分配的IP地址的DHCP Request請求信息
6.更新租約
• 當DHCP服務器向客戶機出租的IP地址租期達到50%時,就需要更新租約
• 客戶機直接向提供租約的服務器發送DHCP Request包,要求更新現有的地址租約
租約過程:
重新登錄:
三.使用DHCP動態配置主機地址
① DHCP服務
• 為大量客戶機自動分配地址,提供集中管理
• 減輕管理和維護成本、提高網絡配置效率
② 可分配的地址信息主要包括
• 網卡的IP地址、子網掩碼
• 對應的網絡地址、廣播地址
• 默認網關地址
• DNS服務器地址
四.安裝DHCP服務器
DHCP服務器軟件
• CentOS光盤中的dhcp-4.2.5-47.el7.centos.x86_ 64 .rpm
• DHCP軟件包的主要文件
◆主配置文件: /etc/dhcpd.conf
◆執行程序: /usr/sbin/dhcpd、/usr/sbin/dhcrelay
詳情:
配置DHCP服務器
yum install -y dhcp
cd /etc/dhcp/
ls
less dhcpd. conf
cd /usr/ share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example
cp /usr/ share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/ dhcpd. conf
vim /etc/ dhcp/ dhcpd.conf
#設置全局配置參數
default-lease-time 21600;
#默認租約為6小時,單位為秒
max-lease-time 43200;
#最大租約為12小時,單位為秒
option domain-name "benet . com";
#指定默認域名
option domain-name-servers 202.106.0.20,202.106.148.1;
#指定DNS服務器地址
ddns-update-style none;
#禁用DNS動態更新
#subnet網段聲明(作用於整個子網段,部分配置參數優先級高於全局配置參數)
subnet 192.168.80.0 netmask 255.255.255.0 { #聲明要分配的網段地址
range 192.168.80.10 192.168.80.20; #設置地址池
option routers 192.168.80.254; #指定默認網關地址
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192. 168.1.100 192.168.1.200;
option routers 192.168.1.254;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.20 192.168.2.30;
option routers 192. 68.2.254;
}
#host主機聲明(給單機分配固定的IP地址)
host hostname{ #指定需要分配固定IP地址的客戶機名稱
hardware ethernet 00:c0:c3:22:46:81; #指定該主機的MAC地址
fixed-address 192. 168.4.100; #指定保留給該主機的IP地址
}
#后面內容可都刪除
systemctl start dhcpd
systemctl stop firewalld
setenforce 0
subnet網段聲明
subnet 192.168.80.0 netmask 255.255.255.0 { #首先聲明dhcp服務器網段以及子網掩碼
range 192.168.80.10 192.168.80.20; #設置ip地址池
option routers 192.168.80.254; #指定默認網關
}
host主機聲明
systemctl start dhcpd #開啟dhcp服務
systemctl stop firewalld #關閉防火牆
sentenforce 0 #關閉防火牆
netstat -naup | grep 67 #查看服務是否啟動
tail -f /var/log/messages #如果啟動失敗,可以通過查看日志文件來排查錯誤
Linux客戶端使用DHCP 動態獲取IP
#方法一:
vi /etc/ sysconfig/network-scripts/i fcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp
ifdown ens33 ; ifup ens33
#方法二:
dhclient -d ens33
查看租約文件
less / var/lib/ dhcpd/ dhcpd. lease
五. 小實驗
1、需求
LSW2為DHCP中繼
Cloud1為Linux服務器
PC1和PC2獲取到IP地址
-
虛擬機安裝DHCP
-
配置網卡及網關
-
找到模板文件並復制到/etc/dhcp/dhcpd.conf目錄文件下
-
配置dhcpd.conf文件
-
虛擬機設置僅主機模式或者自定義選擇VMnet1
-
對LSW1設置
The device is running!
################################
<Huawei>
<Huawei>sys
[Huawei]sysname SW1
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]p l a
[SW1-Ethernet0/0/1]p d v 10
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]p l a
[SW1-Ethernet0/0/2]p d v 20
[SW1-Ethernet0/0/2]int e0/0/3
[SW1-Ethernet0/0/3]p l a
[SW1-Ethernet0/0/3]p d v 100
[SW1-Ethernet0/0/3]int e0/0/4
[SW1-Ethernet0/0/4]p l t
[SW1-Ethernet0/0/4]p t a v a
[SW1-Ethernet0/0/4]un sh
[SW1-Ethernet0/0/4]int e0/0/1
[SW1-Ethernet0/0/1]un sh
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]un sh
[SW1-Ethernet0/0/2]int e0/0/3
[SW1-Ethernet0/0/3]un sh
-
對LSW2進行設置
The device is running!
########
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sys
[Huawei]sysname SW2
[SW2]v b 10 20 100
[SW2]int g0/0/1
[SW2-GigabitEthernet0/0/1]p l t
[SW2-GigabitEthernet0/0/1]p t a v a
[SW2-GigabitEthernet0/0/1]un sh
[SW2-GigabitEthernet0/0/1]q
[SW2]dhcp
[SW2]dhcp e
[SW2]dhcp enable
[SW2]int vlanif10
[SW2-Vlanif10]ip add 192.168.10.254 24
[SW2-Vlanif10]dhcp select relay
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.50
[SW2-Vlanif20]int vlanif20
[SW2-Vlanif20]ip add 192.168.20.254 24
[SW2-Vlanif20]dhcp select relay
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.50
[SW2-Vlanif20]int vlanif100
[SW2-Vlanif100]ip add 192.168.100.254 24
[SW2-Vlanif100]dhcp select relay
[SW2-Vlanif100]dhcp relay server-ip 192.168.100.50
-
查看連通性
- 開啟DHCPD服務
-
給PC1和PC2進行設置
-
查看結果