动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。
工作原理
1.客户端开机没有IP,局域网内需要发送一个广播形式的DISCOVER(局域网内不知道谁是DHCP服务器),只要能收到的DHCP都能响应
2、如果发现DHCP服务器 此时发现了有多个服务器,每个DHCP服务器都会发送一个OFFER(分配IP地址,但是仅仅是IP),客户端接收IP的时候,会通过ARP协议验证一下,是否被其他主机占用,客户端一般会选择第一个给OFFER的DHCP服务器。
3、此时客户端会发送一个REQUESRT的广播包(发送REQUEST,①确定已经选定了此服务器②不仅给自己选定的DHCP服务器发送,还会给此服务器以外的DHCP服务器,声明已经选定好了DHCP服务器。)
4、此时DHCP通过ACK机制会正式的将IP、网关、子网掩码等信息都分配给客户端
关机之后再次开机,能否使用之前的Ip?
1)如果之前的IP没有被使用,那么回应一个ACK,但是不能永久使用,要在租期到达50%时,重新更新租期
2)如果IP被别人占用,那么就要重新分配IP 按照上面的流程再走一遍.
DHCP的分配方式
1、自动分配:分配到一个IP地址后永久使用
2、手动分配:由DHCP服务器管理员专门指定IP地址
3、动态分配:使用完后释放该IP,供其他客户机使用
搭建DHCP
让win自动获取来自linux的IP地址
先将win的IP地址改为自动获取
在linux修改配置文件
将linux虚拟机地址设置为静态
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens33"
UUID="b86ab99f-cff4-417d-8817-cd545ec523d7"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.0.155
NETMASK=255.255.255.0
GATEWAY=192.168.0.2
重启网卡
systemctl restart network
vi /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
subnet 192.168.0.0 netmask 255.255.255.0 {
option routers 192.168.0.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.0.150 192.168.0.153; //设置IP所在的范围
default-lease-time 21600; // 租期时间
max-lease-time 43200;
next-server 192.168.0.155;
filename "pxelinux.0";
}
重启DHCP服务
systemctl restart dhcpd
在客户端查看
DHCP服务搭建成功