一 、DHCP 服務概述
0:dhcp原理:
集中的管理、分配IP地址,使client動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。簡單來說,DHCP就是一個不需要賬號密碼登錄的、自動給內網機器分配IP地址等信息的協議。
1、DHCP(Dynamic Host Configuration Protocol)動態主機配置協議
DHCP 是由 Internet 工作任務小組設計開發的,專門用於為 TCP/IP 網絡中的計算機自動
分配 TCP/IP 參數的協議。
使用 DHCP 可以減少管理員的工作量,避免 IP 地址沖突,當網絡更改 IP 地址網段時不
需要再重新配置每個用戶的 IP 地址,提高了 IP 地址的利用率,方便客戶端的配置。
2、可分配的地址信息主要包括:
網卡的 IP 地址、子網掩碼、對應的網絡地址、廣播地址、默認網關地址、DNS 服務器
地址等。
3、DHCP 的分配方式
(1)自動分配:分配到一個 IP 地址后永久使用
(2)手動分配:由 DHCP 服務器管理員專門指定 IP 地址
(3)動態分配:使用完后釋放該 IP,供其他客戶機使用
4、DHCP 的租約過程的四個步驟
(1)客戶機請求IP(客戶機發DHCP Discover廣播包)
(2)服務器響應(服務器發DHCP Offer⼴播包)
(3)客戶機選擇IP(客戶機發DHCP Request⼴播包)
(4)服務器確定租約(服務器發DHCP ACK廣播包)
服務腳本名:dhcpd
DHCP服務器軟件:
光盤中的dhcp-4.2.5-68.el7.centos.1.x86_64.rpm
DHCP軟件包主要文件:
主配置文件:/etc/dhcp/dhcpd.conf
執行程序:/usr/sbin/dhcpd
服務腳本:/etc/init.d/dhcpd /etc/init.d/dhcp
執行參數配置:/etc/sysconfig/dhcp
DHCP中繼配置:/etc/sysconfig/dhcrelay
========================================================================
DHCP自動化分配ip
DHCP服務機:ip 192.168.200.112
[root@localhost ~]# ip a
[root@localhost ~]# mkdir /media/cdrom
[root@localhost ~]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# rpm -ivh /media/cdrom/Packages/dhcp-4.2.5-68.el7.centos.1.x86_64.rpm
准備中... ################################# [100%]
軟件包 dhcp-12:4.2.5-68.el7.centos.1.x86_64 已經安裝
[root@localhost ~]# rpm -q dhcp
dhcp-4.2.5-68.el7.centos.1.x86_64
主配置文件
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆蓋"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl status dhcpd
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
============================================================
此處用於DHCP服務器最后檢測可不寫
[root@localhost ~]# netstat -lnpu | grep 67 //檢測端口
udp 0 0 0.0.0.0:67 0.0.0.0:* 67141/dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 7724/dnsmasq
[root@localhost ~]# cat /var/lib/dhcpd/dhcpd.leases //租約信息合同
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5
lease 192.168.200.10 {
starts 5 2019/08/23 05:40:35;
ends 5 2019/08/23 11:40:35;
tstp 5 2019/08/23 11:40:35;
cltt 5 2019/08/23 05:40:35;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:69:e1:2a;
uid "\001\000\014)i\341*";
client-hostname "
===============================================================
虛擬windows作為客戶機獲取IP:
成功啟用DHCP獲取到IP地址:
===============================================================
Linux作為客戶機獲取IP
[root@ns2 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROT=dhcp //此處改為dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=8d40acb1-964b-4dc8-9c74-a8d97b67d18c
DEVICE=ens33
ONBOOT=yes
[root@localhost ~]# dhclient -f ens33
[root@localhost ~]# dhclient -d ens33
[root@localhost ~]#ip a
===============================================================
DHCP給指定的客戶端分配指定的ip
DHCP服務機:ip 192.168.200.112
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "crushlinux.com"; option domain-name-servers 202.106.0.20, 8.8.8.8; default-lease-time 21600; max-lease-time 43200; subnet 192.168.200.0 netmask 255.255.255.0 { range 192.168.200.10 192.168.200.110; option routers 192.168.200.1; } host WIN-92C850T319S { //永久給這台windows設置固定ip hardware ethernet 00-0c-29-69-E1-2A; //windows虛擬機的網卡地址 fixed-address 192.168.200.10; //windows的ip地址 }
[root@localhost ~]# systemctl start dhcpd //啟動DHCPD服務
===============================================================
Windows測試機:
需先釋放掉已有的ip在重新獲取ip
完成設置