DHCP概念
概念:动态主机配置协议,自动为计算机分配tcp/ip参数
DHCP服务采用传输层UDP协议,客户机使用UDP协议的68端口,服务器使用UDP的67端口。
DHCP优点
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改lP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP的分配方式
- 自动分配,自己配置,可以永久使用
- 手动分配,由管理员直接分配
- 动态分配,即插即用,使用完释放IP,其他计算机也可以使用
DHCP工作过程
客户机请求IP地址(DHCP Discover)
PC发生DISCOVER报文,寻址DHCP服务器
服务器响应(DHCP Offer)
dhcp服务器收到discover报文,回复offer报文(基本网络配置)给pc
客户机选择IP地址(DHCP Request)
pc1收到offer报文会将报文参数设置好,回复request报文给DHCP服务器,让dhcp删除以及分配过的IP地址
服务器确定租约(DHCP Ack)
dhcp回复ack,确认收到
重新登录:
- DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的
DHCP Request请求信息。
实验:设置DHCP服务器并分配地址
Linux虚拟机关闭防火墙和selinux。
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
安装 dhcp 软件包,并查看配置文件。
[root@localhost ~]# yum install dhcp -y //安装dhcp
[root@localhost ~]# rpm -qc dhcp
将Linux虚拟机的网络模式改成仅主机模式。
修改网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,之后重启网络服务。
[root@localhost ~]# vim /sysconfig/net-scripts/ifcfg-ens33 //修改网卡配置文件
IPADDR=
GETWAY=
DNS1=
[root@localhost ~]# systemctl restart network //重启网络服务
编辑dhcp服务的配置文件/etc/dhcp/dhcpd.conf,设置网段(要和虚拟网络编辑器中的保持一致)、地址池、网关地址。之后重启dhcp服务。
# 将模板文件复制为配置文件
[root@localhost ~]# cd /usr/share/doc/dhcp-4.2.5/
[root@localhost dhcp-4.2.5]# ls
dhcpd6.conf.example dhcpd.conf.example ldap
[root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
------------------------------------
subnet 192.168.137.0 netmask 255.255.255.0 { //设置子网IP、子网掩码
range 192.168.137.20 192.168.137.80; //设置地址池
option routers 192.168.137.10; //设置网关地址
}
验证虚拟机能否获取DHCP服务器分配的IP地址
ifconfig