一、DHCP工作原理
1.1了解DHCP协议
DHCP(动态主机配置协议):由Internet工作任务小组设计开发,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。
1.2使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
1.3DHCP的分配方式
- 自动分配:分配到一个IP地址后永久使用(一般情况下不使用)
- 手动分配:由DHCP服务器管理员专门指定IP地址
- 动态分配:使用完后释放该IP,供其它客户机使用
1.4DHCP的租约过程
- 客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
- 分为四个步骤
补充:当有多个服务器时,以客户机先收到谁的offer报文为准。
1.首先客户机加入到当前网络中是没有地址的,它会发送一个dhcp,discover 广播报文来寻找dhcp服务器
2.服务器接收到discover 报文会回复offer报文 【ip地址(合法地址地址中挑出),子网掩码,dns地址,网关等信息】
3.客户机收到offer报文以后,会发送一个request的请求报文,告诉服务器我收到了你的offer报文,并且我很满意你的地址,我就使用它了,不要再分配给别人了
4.当服务器收到request的报文以后,会发送一个ack报文,确认消息告诉客户端你放心使用,不会再给别人分配你的ip地址
1.5DHCP共有八种报文
- DHCP DISCOVER:客户端到服务器
- DHCP OFFER:服务器到客户端
- DHCP REQUEST:客户端到服务器
- DHCP ACK:服务器到客户端
- DHCP NAK:服务器到客户端通知用户无法分配合适的IP地址
- DHCP DECLINE:客户端到服务器,指示地址已被使用
- DHCP RELEASE:客户端到服务器,放弃网络地地口取消剩余的租约时间
- DHCP INFORM:客户端到服务器,客户端如果需要从DHCP服务器端获取更为单ffl的配置信息,则发送Inform报文向服务器进行请求,极少用到
1.6更新租约
- 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
- 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
二、DHCP服务器的配置
实验1:
实验环境:CentOS7.4虚拟机和Windows10虚拟机 实验目的:最基本的DHCP动态获取IP地址 第一步:安装服务 [root@server ~]#yum -y install dhcp 第二步:修改网卡(将ens33和vm1调成同一网段) [root@server ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33 ipaddr=192.168.100.110 [root@server ~]#systemctl restart network #重启网卡 第三步:将虚拟机网卡修改成仅主机模式 第四步:修改配置文件 [root@server ~]#rpm -qc dhcp #查看配置文件位置 [root@server ~]#cd /etc/dhcp/ [root@server ~]#cat dhcpd.conf [root@server ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example ./dhcpd.conf #复制模板文件 [root@server ~]#cp dhcpd.conf dhcpd.conf.bak #备份dhcpd.conf [root@server ~]#vim dhcpd.conf subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.100 192.168.100.200; option routers 192.168.100.1; option domain-name-servers 114.114.114.114; } [root@server ~]#systemctl start dhcpd #启动服务 第五步:验证实验结果 开启window虚拟机,将虚拟网卡改成仅主机模式 进入cmd:ipconfig #查看IP地址 ipconfig/all #查看详细信息 ipconfig/release #释放IP地址 ifconfig/renew #重新生成IP地址
操作1:
第一步:安装服务
第二步:修改网卡
第三步:修改CentOS虚拟机网卡模式,修改成仅主机模式
第四步:修改配置文件
第五步:测试验证实验结果
修改windows虚拟机网卡模式为仅主机模式
Win+R进入cmd中,输入ipconfig查看地址或者ipconfig/all查看地址详细信息
实验2:继续上一个实验环境开始的
实验环境:CentOS7.4虚拟机和Windows10虚拟机 实验目的:分配固定的IP地址 第一步:先获取windows的固定地址物理地址(太网卡) cmd:ipconfig/all 第二步:修改配置文件 vim /etc/dhcp/dhcpd.conf host hostname{ #指定需要分配固定IP地址的客户机名称 hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址 fixed-address 192.168.100.120; #指定保留给该主机的IP地址 systemctl restart dhcpd #重启服务 第三步:测试 将window虚拟机修改网卡设置:仅主机 释放ip地址:ipconfig /release ipconfig /renew ipv4自动获取
操作2:
第一步:ifconfig/all查看windows中的物理地址,复制下来下面修改配置文件用到(物理地址:00:0C:29:B0:0B:FE)
第二步:修改配置文件
第三步:测试
将window虚拟机修改网卡设置:仅主机
因为上一个实验残留的DNS信息我们需要释放它,使用ipconfig /release释放,使用ipconfig /renew,重新生成DNS。
最后使用命令ipconfig/all查看地址验证结果:
三、DHCP中继原理
- 当企业的内部网络规模较大时,通常被划分为多个不同的子网,网络内配置了VLAN,VLAN能隔离广播,而DHCP协议使用广播
- DHCP服务器再VLAN100中,就只有VLAN100内的客户机能从在此获取IP地址