一 、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
完成设置