1. 程式人生 > 其它 >Linux 裡配置DHCP 伺服器

Linux 裡配置DHCP 伺服器

一:DHCP 原理

1.1 概述

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

有Internet 工作任務小組設計開發

專門用於TCP/IP 網路中的計算機自動分配TCP/IP 引數的協議

1.2 DHCP 的優點

減少管理員的工作量

避免輸入錯誤的可能

避免IP地址衝突

當更改IP地址段,不需要重新配置每個使用者的地址

提高的 IP 地址的利用率

方便客戶端的配置

1.3 DHCP 的分配方式

自動分配:分配到一個IP地址後 永久使用

手動分配:有DHCP伺服器管理員專門制定IP地址

動態分配:使用完釋放該IP,供其他客戶機使用

1.4 DHCP 的租約過程

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

分為四個步驟

(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 的初始化

1.5 重新登入 DHCP 客戶機每次重新登入網路時,不需要傳送DHCP Discover 資訊 ,而是直接傳送包含前一次分配的IP地址的 DHCP Request請求資訊 跟新租約 當DHCP 伺服器向客戶機出租的IP地址租期達到50% 時,就需要更新租約 客戶機直接向提供租約的伺服器傳送DHCP Request 包, 要求更新現有的地址租約

二: 配置DHCP 服務

DHCP 服務
  • 為大量客戶機自動分配地址,提供集中管理
  • 減輕管理和維護成本,提高網路配置效率
可分配的地址資訊主要包括
  • 網絡卡的 IP 地址,子網掩碼
  • 對應的網路地址,廣播地址
  • 預設閘道器地址
  • DNS 伺服器地址

# DHCP 服務端使用 UDP 67 埠, DHCP 客戶端使用 UDP 68

2.1 實驗拓撲

DHCP 伺服器 :192.168.23.10 /24 DHCP中繼: LSW2 pc 1 分配固定 ip 192.168.23.108 /24 ,vlan 100 PC2 valn 10 PC3 vlan20

2.2 虛擬機器配置

[root@localhost ~]# yum -y install dhcp   #下載軟體包
[root@localhost ~]# rpm -qc dhcp #檢視dhcp 的配置檔案
/etc/dhcp/dhcpd.conf

[root@localhost ~]# cd /etc/dhcp/ 4
[root@localhost dhcp]# ls dhcpd.conf
dhcpd.conf
[root@localhost dhcp]# cp \
> /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example \
> /etc/dhcp/dhcpd.conf #複製模板檔案

vim /etc/dhcp/
dhcpd.conf #注意 dhcp 配置檔案 是 /etc/dhcp/dhcpd.conf option domain-name "example.org"; #指定域名 option domain-name-servers 8.8.8.8; #指定dns 伺服器地址 default-lease-time 600; #預設租約600s max-lease-time 7200; #最大租約7200s ddns-update-style none; #禁用dns 動態更新,可以加快dns 的響應速度 subnet 192.168.23.0 netmask 255.255.255.0 { #宣告要分配的網段地址 range 192.168.23.100 192.168.23.200; #設定地址池 option routers 192.168.23.254; #指定預設閘道器 } #要先設定dhcp 所在的網段 subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.100 192.168.10.200; option routers 192.168.10.254; } subnet 192.168.20.0 netmask 255.255.255.0 { range 192.168.20.100 192.168.20.200; option routers 192.168.20.254; } host hostname { #指定需要分配固定Ip地址的客戶機地址 hardware ethernet 54:89:98:41:0A:22; #指定該主機的MAC地址。每8位)以冒號:分隔 (這裡是16進位制數 ,每個佔0.5 位元組,4位) fixed-address 192.168.23.108; #指定保留給該主機的IP地址 } #host 主機宣告(給單機分配固定IP地址) :wq [root@localhost dhcp-4.2.5]# systemctl restart dhcpd #重啟dhcp 服務 [root@localhost ~]# systemctl enable dhcpd [root@localhost dhcp-4.2.5]# systemctl stop firewalld.service #關閉防火牆 [root@localhost dhcp-4.2.5]# setenforce 0 #設定 selinux [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改網絡卡配置
...... IPADDR
=192.168.23.10 #虛擬機器ip地址 GATEWAY=192.168.23.254 #將閘道器修改為 192.168.23.254
.....
:wq
[root@localhost dhcp]# systemctl restart network #重啟網絡卡

2.3 vmware 設定

2.3.1 修改虛擬網路編輯器,將虛擬網絡卡 vmnet1 設定為僅主機模式,不使用dhcp分配 2.3.2 設定虛擬機器的網路介面卡 將網路介面卡選擇為 自定義(u):特定虛擬網路 ,vmnet1 僅主機模式

2.4 宿主機設定

宿主機設定vmnet 1 網絡卡屬性,設定 ip v4 地址(192.168.23.188)

2.5 ensp 配置

2.5.1 cloud 設定 先新增UDP,再新增 vmnet 1 ,出埠號設定為2 設定為 雙向通道 2.5.2 設定LSW1 與交換機相連的介面設定為 trunk 口, 與主機相連的介面設定為access 口
[SW1]v b 10 20 100
[sw1]int e0/0/2
[sw1-Ethernet0/0/2]p l a
[sw1-Ethernet0/0/2]p d v 10
[sw1-Ethernet0/0/2]int e0/0/3 [sw1-Ethernet0/0/3]p l a [sw1-Ethernet0/0/3]p d v 20
[sw1-Ethernet0/0/3]int e0/0/4 [sw1-Ethernet0/0/4]p l a [sw1-Ethernet0/0/4]p d v 100
[sw1-Ethernet0/0/4]int e0/0/1 [sw1-Ethernet0/0/5]p l a [sw1-Ethernet0/0/5]p d v 100
[sw1-Ethernet0/0/5]int e0/0/1 [sw1-Ethernet0/0/1]p l t [sw1-Ethernet0/0/1]p t a v a

  

2.5.3 三層交換機LSW2 設定 設定dhcp 中繼
[sw2]dhcp enable           #開啟dhcp 服務    
[sw1]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     #將與交換機相連的設定為 trunk 口
[sw2]int vlanif 100
[sw2-Vlanif10]ip add 192.168.23.254 24
[sw2-Vlanif10]dhcp relay serv	
[sw2-Vlanif10]dhcp relay server-ip  192.168.23.10    #設定dhcp 中繼

[sw2]int vlanif 10 [sw2-Vlanif10]ip add 192.168.10.254 24 [sw2-Vlanif10]dhcp relay serv [sw2-Vlanif10]dhcp relay server-ip 192.168.23.10
[sw2]int vlanif 20 [sw2-Vlanif20]ip add 192.168.20.254 24 [sw2-Vlanif20]dhcp relay serv [sw2-Vlanif20]dhcp relay server-ip 192.168.23.10

  

2.6 獲取 dhcp