DHCP (Dynamic Host Confiduration Protocol,动态主机配置协议)是由Internet工作任务小组设计开发,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。DHCP服务自动分发ip地址分(作用在局域网中),避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成的地址冲突。DHCP提供了安全、可靠且简单的TCP/IP网络设置,降低了配置IP地址的负担。
使用DHCP的好处:
DHCP的分配方式:
IP地址的获取和释放命令(用于windows)
ipconfig/release 释放
ipconfig/renew 重新获取
客户机从DHCP服务器获得IP地址的过程成为DHCP的租约过程
1、客服端在网络中搜索服务器(广播发送到整个局域网,确定有没有DHCP服务器)
客户机请求IP地址:(Discover消息)
2、服务器向客户端响应服务(广播,因为客户端没有ip)
3、客户端向目标服务器发出服务请求(广播,确认)
客户机选择IP地址:(request消息)
4、服务器向客户端提供服务(广播)
ACK确认:哪台服务器先给offer,并且地址可用,才会给ack确认
当租约到期需要续约时,DHCP服务器宕机,找不到了,原来的地址将会自动释放掉,然后分配一个不可用的地址(169.254.0.0~169.254.255.255)
DHCP服务
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
可分配的地址信息主要包括
网卡的IP地址、子网掩码
对应的网络地址、广播地址
默认网关地址
DNS服务器地址
安装DHCP服务器
DHCP服务器软件
当全局与子网段冲突时,已子网段为主
查看租约文件 /var/lib/dhcpd/dhcpd.lease
修改网卡配置文件(如 ifcfg-ens33)
[root@localhost ~]#vim /etc.sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=dhcp //DHCP自动获取
…………省略内容
[root@localhost ~]#ifdown ens33
[root@localhost ~]#ifup ens33
使用dhclient命令
dhclient [-d] [网络接口名]
实验中分别划分vlan,而三层交换中路由有隔离广播的作用
(DHCP中继在网关中帮忙跨越vlan广播,从而为两台PC及分配地址)
DHCP端口号是UDP 的67
sw配置:二层交换连接了DHCP服务器及两台PC机,分别划分vlan10,20,100。f1/0接口连接了三层交换,而三层交换中的f1/0则作为PC机服务器的网关。所以需要将连接创建trunk链路
sw_3配置:三层交换在这里起到了网关的作用,需要为其划分vlan10,20,100并分别为其配置地址作为网关地址,另外为f1/0配置trunk。最重要的一点,路由隔离广播,所以这里我们要使用dhcp中继,允许dhcp服务通过
到这里,连接上的配置都已经完成了,下面来进行DHCP上的配置
首先服务器需要有一个固定地址,为服务器配地址
[root@localhost ~]# yum install dhcp -y //先安装dhcp服务
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 //为服务器配置IP
[root@localhost ~]# systemctl restart network //配置完成重启网络服务
[root@localhost ~]# ifconfig //查询验证配置成功
ens33: flags=4163 mtu 1500
inet 192.168.100.100 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::d847:7ee6:3c15:c62 prefixlen 64 scopeid 0x20
…………省略部分内容…………
[root@localhost ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf //进入dhcp全局配置
服务器地址配置完成后,就需要对DHCP服务的配置文件进行配置,分别分配10,20,100段的地址
[root@localhost ~]# systemctl start dhcpd //配置完成启用dhcp服务
[root@localhost ~]# systemctl status dhcpd //查询验证已启用
● dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
Active: active (running) since 二 2019-11-19 19:01:19 CST; 37s ago
所有配置完成,记得要启动服务,然后我们就去验证,两台PC机是否有获取到IP
我们看到两台PC机已经分别获取了10段及20段的地址
下面,我们来为win10指定一个固定ip:
还是进入DHCP配置页面:将需要配置固定地址主机的MAC地址填写进来并指定一个IP即可
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
[root@localhost ~]# systemctl restart dhcpd
配置完成后不要忘记重启服务,接下来我们来验证,win10的IP地址是否为我们配置的指定IP地址:
总结:/etc/dhcp/dhcpd.conf 服务中的主配置文件是核心使用DHCP服务需安装dhcp-4.2.5-47.el7.centos.x86_64.rpm,具体配置须在/etc/dhcp/dhcpd.conf 来做相应的操作