一、了解DHCP服务
1.概述
- DHCP(Dynamic Host Configuration Protocol,动态主机配置协议),是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
- DHCP服务避免了因手动设置IP地址所产生的错误,同时也避免了把一个IP地址分配给多台工作站所造成过的地址冲突
- DHCP提供了安全、可靠且安全的TCP/IP网络设置,降低了配置IP地址的负担
2.优点
Internet是目前世界上用户最多的服务之一,有几亿人在使用Internet,由于上网时间的不确定性以及使用人员的技术水平不同,为每位用户分配一个固定的IP地址,不仅造成了IP地址的浪费,也会为ISP服务商带来高额的维护成本,而使用DHCP服务则有以下好处:
- 减少管理员的工作量
- 避免IP地址冲突
- 网络更改IP地址段时,不需要再重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
3.分配方式
- DHCP的典型应用模式如下
- 在网络中假设一台专用的DHCP服务器,负责集中分配各种网络地址参数(主要包括IP地址,子网掩码,广播地址,默认网关地址,DNS服务器地址)
- 其他主机作为DHCP客户机,将网卡配置为自动获取地址,即可与DHCP服务器进行通信,完成自动配置过程
- 在DHCP的工作原理中,DHCP服务器提供了三种分配方式:自动分配,手动分配,动态分配
- 自动分配:
当DHCP客户机第一次成功地从DHCP服务器获取到一个IP地址后,就永久的使用这个IP地址 - 手动分配:
由DHCP服务器管理员专门指定IP地址 - 动态分配:
当DHCP客户机第一次从DHCP服务器获得IP地址后,并非永久的使用该地址,而是在每次使用完后,DHCP客户机就会释放这个IP地址,供其他客户机使用
二、DHCP的工作过程
- 客户机从DHCP服务器获得IP地址的过程称为DHCP 的租约过程
客户机从DHCP服务器获得IP地址的过程称为DHCP 的租约过程 - 分为以下四个步骤
1.客户端在网络中搜索服务器
- 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
- 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器
2.服务器向客户端响应服务
- DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
- 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer 消息
3.客户机选择IP地址
- DHCP客户机从接收到的第一个DHCP Offer消息中提取 IP 地址
- 发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机了
4.服务器确定租约
- DHCP服务器接收到 DHCP Request 消息后,以DHCP ACK 消息的形式向客户机广播成功确认
- 该消息包含有IP地址的有效租约和其他可配置的信息
- 当客户机收到 DHCP ACK 消息时,配置IP地址,完成TCP/IP的初始化
5.重新登录
- DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息
- 而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
6.更新租约
- 当DHCP服务器向客户机出租的IP地址租期达至50%时就需要更新租约
- 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
三、使用DHCP动态配置主机地址
1.DHCP服务
- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本、提高网络配置效率
2.可分配的地址信息主要包括
- 网卡的IP地址、 子网掩码
- 对应的网络地址、广播地址
- 默认网关地址
- DNS服务器地址
四、安装DHCP服务器
1.DHCP服务软件
- CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
- 一般都有,没有的话RPM去安装一下
- 一般都有,没有的话RPM去安装一下
- DHCP软件包的主要文件
- 主配置文件:/etc/dhcpd.conf
- 执行程序:/usr/sbin/dhcpd、usr/sbin/dhcrelay
2.主配置文件
- dhcpd.conf 的内容构成
ddns-update-style interim; #全局配置参数
......
subnet 192.168.0.0 netmask 255.255.255.0 { #subnet以上的都是全局配置参数;网段声明(网段、子网掩码、默认网关地址)
option routers 192.168.0.1; #配置选项
......
default-lease-time 21600; #配置参数
host ns {
......
fixed-address 207.175.42.254; #主机声明(固定一个IP给主机用的)
}
}
- 全局配置,作用于整个DHCP服务器
- ddns-update-style none;
- default-lease time 21600;
- max-lease-time 43200;
- option domain-name “domain.org”;
- option domain-name servers 202.106.0.20;
- Subnet网段声明,作用于整个子网段
- range参数:设置用于分配的IP地址池
- option subnet-mask参数:设置客户机的子网掩码
- option routers参数:设置客户机的默认网关地址
[root@xcf1 ~]# vim /etc/httpd/conf.d/^C
五、配置DHCP服务器步骤
1.使用DHCP动态的给PC机分配IP地址
1.1 eNSP
- 实验拓扑图如下
- 注:配置完“Cloud”之后才能用串口线连接
- 配置Cloud
(注:第一个选择UDP,第二个选择仅主机模式VMnet1,别选8,它自带dhcp功能,与本实验有冲突) - SW1基本配置
<Huawei>sys
[Huawei]sys SW1
[SW1]un in en
Info: Information center is disabled.
[SW1]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW1]int e0/0/1
[SW1-Ethernet0/0/1]p l a
[SW1-Ethernet0/0/1]p d v 10
[SW1-Ethernet0/0/1]int e0/0/2
[SW1-Ethernet0/0/2]p l a
[SW1-Ethernet0/0/2]p d v 20
[SW1-Ethernet0/0/2]int e0/0/4
[SW1-Ethernet0/0/4]p l a
[SW1-Ethernet0/0/4]p d v 100
[SW1-Ethernet0/0/4]int e0/0/3
[SW1-Ethernet0/0/3]p l t
[SW1-Ethernet0/0/3]p t a v a
- SW2基本配置
<Huawei>sys
[Huawei]sys SW2
[SW2]un in en
Info: Information center is disabled.
[SW2]vlan batch 10 20 100
Info: This operation may take a few seconds. Please wait for a moment...done.
[SW2]int Vlanif 10
[SW2-Vlanif10]ip add 192.168.10.1 24
[SW2-Vlanif10]un sh
Info: Interface Vlanif10 is not shutdown.
[SW2-Vlanif10]q
[SW2]int Vlanif 20
[SW2-Vlanif20]ip add 192.168.20.1 24
[SW2-Vlanif20]un sh
Info: Interface Vlanif20 is not shutdown.
[SW2-Vlanif20]q
[SW2]int Vlanif 100
[SW2-Vlanif100]ip add 192.168.100.1 24
[SW2-Vlanif100]un sh
Info: Interface Vlanif100 is not shutdown.
[SW2-Vlanif100]int g0/0/1
[SW2-GigabitEthernet0/0/1]port link-type trunk
[SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all
- 配置DHCP中继(三层交换机)
[SW2]dhcp enable ##开启DHCP功能
Info: The operation may take a few seconds. Please wait for a moment.done.
[SW2]int Vlanif 10 ##配置虚接口ip,选择dhcp中继模式,请求指向dhcp服务器ip
[SW2-Vlanif10]dhcp select relay
[SW2-Vlanif10]dhcp relay server-ip 192.168.100.100
[SW2-Vlanif10]q
[SW2]int Vlanif 20
[SW2-Vlanif20]dhcp select relay
[SW2-Vlanif20]dhcp relay server-ip 192.168.100.100
[SW2-Vlanif20]int Vlanif 100
[SW2-Vlanif100]dhcp select relay
[SW2-Vlanif100]dhcp relay server-ip 192.168.100.100
1.2 虚拟机
- 选择虚拟机网络类型
- 配置网卡IP
- 安装dhcp软件包,并查看和找到配置文件
[root@xcf1 ~]# yum -y install dhcp
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 12:dhcp-4.2.5-58.el7.centos.x86_64 已安装并且是最新版本
无须任何处理
[root@xcf1 ~]# cd /etc/dhcp/ ##dhcp的配置文件是/etc/dhcp/dhcpd.conf
[root@xcf1 dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@xcf1 dhcp]# less dhcpd.conf ##查看一下内容
...略
[root@xcf1 ~]# cd /usr/share/doc/dhcp-4.2.5/ 到该目录下去寻找dhcp配置模板
[root@xcf1 dhcp-4.2.5]# ls ##“dhcpd.conf.example”
dhcpd6.conf.example dhcpd.conf.example ldap
[root@xcf1 dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf ##将模板覆盖到/etc/dhcp/dhcpd.conf中
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@xcf1 ~]# cd /etc/dhcp/ ##回到/etc/dhcp目录下
[root@xcf1 dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@xcf1 dhcp]# less dhcpd.conf ##查看配置文件并进行下一步编辑
- 编辑dhcp配置文件
- [root@xcf1 dhcp]# vim dhcpd.conf
- [root@xcf1 dhcp]# vim dhcpd.conf
- 关闭防火墙,重启网卡,再去“ping”进行验证网络
[root@xcf1 dhcp]# systemctl stop firewalld
se[root@xcf1 dhcp]# setenforce 0
##记得重启一下网卡!
[root@xcf1 dhcp]# systemctl restart dhcpd
[root@xcf1 dhcp]# ping 192.168.100.1
...略
[root@xcf1 dhcp]# ping 192.168.10.1
...略
[root@xcf1 dhcp]# ping 192.168.20.1
...略
1.3 验证
- 到eNSP中验证一下
- 首先开启两台PC的DHCP来自动获取一下IP地址
- 进入命令行“ipconfig”
- pc1
- pc2
- pc1
2.给PC机分配固定的IP地址
- 首先将虚拟机Win10的网络适配器改成VMnet1仅主机模式
2.1 修改宿主机网络适配器(注意,不是虚拟机的!)
- 设置VMnet1
2.2 在w10虚拟机中查找该主机MAC地址
- 输入“ipconfig/renew”或“ipconfig/release”刷新网络信息(按回车以显示)
- 查看MAC地址
2.3 虚拟机CentOS7中编辑dhcp配置文件
[root@xcf1 ~]# cd /etc/dhcp/
[root@xcf1 dhcp]# ls
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@xcf1 dhcp]# vim dhcpd.conf
- 记得按wq保存退出
- 修改完成,重启dhcp服务
[root@xcf1 dhcp]# systemctl stop dhcpd ##重启DHCP服务
[root@xcf1 dhcp]# systemctl start dhcpd
2.4 回到win10中刷新网络配置再查看就有绑定的IP了
- 大功告成,上床睡觉