DHCP协议(或许是最详细的版本)
前些天做了很多实验,我的小伙伴们后台私信纷纷都表示烦了想听一些干货,所以今天讲一下一个重要的协议,就是DHCP协议。
目录
DHCP
DHCP(动态主机配置协议)是一个局域网的网络协议。
- 指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
- 默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
DHCP作用
为客户机分发IP地址、子网掩码、网关、DNS服务器、租期等参数。
DHCP的好处:
1.简化了客户机设置
2.防止用户误操作
3.避免IP地址重复
架构:C/S架构,客户机/服务器架构(C-Client/S-Server)
DHCP服务对应的是UDP协议,因为是C/S架构,所以DHCP服务是分为
客户机占用UDP 67号端口,DHCP服务器占用UDP 68号端口。
DHCP原理:
1.DHCP客户机向局域网中所有DHCP服务器发送DHCPdiscovery请求。(DHCP客户机向DHCP服务器发动DHCP请求,来索要ip)
2.局域网中所有的DHCP服务器都会回复DHCPoffer,为客户机提供IP地址。
3.客户机选择第一台DHCP服务器回复的IP地址,并且要发送DHCPrequest通告给局域网内所有的DHCP服务器,他选择了哪个ip和那个DHCP服务器。
备注:客户机发送DHCPrequest通告的原因有两层。
第一层是通告给所有DHCP服务器,让其他没有被选中的DHCP服务器把未使用的地址进行回收。
第二层是通告被选中的DHCP服务器,确认此地址被DHCP客户机使用。
4.被选中的DHCP服务器收到DHCPrequest消息后,会给DHCP客户机回复一个DHCPack,
确认此ip可被客户机使用。客户机讲此ip与自身MAC绑定,以便下次继续使用,而其他dhcp服务器
将吧分配给该DHCP客户机的ip回收。
DHCP租期:
DHCP客户机使用IP地址是有限的。一般DHCP客户机使用DHCP分配得的IP地址到了租期的50%的时候,会主动的向DHCP服务器发出续约请求,DHCP服务器接受到DHCP客户机的续约请求后,DHCP服务器会检查此IP地址有没有别的DHCP客户机抢先占用,如果没有,则续约成功,如果此ip地址有被其他的DHCP客户机占用,那么续约就不成功。此时DHCP客户机将重新发起DHCPdiscovery请求来获取新的地址。
DHCP服务的实现:
情况一:DHCP服务器和DHCP客户机在同一网段
情况一:DHCP服务器和DHCP客户机不在同一网段————DHCP中继,只能由路由器实现。
情况一:同网段的DHCP
方法二更常用,因为方法一更随机一些
同网段:
二层交换机1
[]vlan bat 10 20//创建vlan10 20
[]int e0/0/1//进入e0/0/1接口
[]port link-type access//设置access类型
[]port default vlan 10//接口划分vlan 10
[]int e0/0/2//进入e0/0/2接口
[]port link-type access//设置access类型
[]port default vlan 20//接口划分vlan 20
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
二层交换机2
[]vlan bat 10 20//创建vlan10 20
[]int e0/0/1//进入e0/0/1接口
[]port link-type access//设置access类型
[]port default vlan 10//接口划分vlan 10
[]int e0/0/2//进入e0/0/2接口
[]port link-type access//设置access类型
[]port default vlan 20//接口划分vlan 20
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
三层交换机
[]dhcp enable//开启DHCP服务
[]vlan bat 10 20//创建vlan 10 20
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all设置白名单
[]int g0/0/2//进入g0/0/2接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
方法一 接口下分发IP地址
[]int vlan 10 //进入vlanif10接口
[]ip add 192.168.10.1 255.255.255.0 //配置IP地址和子网掩码
[]dhep select interface //指定DHCP接口分发ip地址
[]dhcp server dns-list 4.4.4.4 8.8.8.8 //下发DNS服务器地址是4.4.4.4和8.8.8.8下发DNS服务器地址
方法二 建DHCP地址池
[]ip pool dhcp2 //新建一个DHCP地址池,名称为DHCP2
[]network 192. 168. 20. 0 mask 24 //指定DHCP2地址池的分发网段
[]gateway-list 192. 168. 20.1 //指定DHCP客户机获取到的网关地址
[]dns-list 2.2.2.2 40.40.40.40 //指定DHCP客户机获取的DNS服务器地址
[]lease day 9 //指定DHCP客户机可以使用的地址租期
[]int vlan 20 //进入vlanif20 接口
[]ip add 192. 168. 20. 1 255.255.255.0 //配置ip地址和子网掩码
[]dhep select global//接口下指定DHCP以地址池方式分配IP地址
实验过程
准备器材
二层交换机A
二层交换机B
三层交换机
测试:
客户机1DHCP方式获取IP:>ipconfig
客户机2DHCP方式获取IP:>ipconfig
客户机3DHCP方式获取IP:>ipconfig
客户机4DHCP方式获取IP:>ipconfig
情况二:不同网段的DHCP
实验代码
各个设备间三条必打命令
<>un te mo//关闭追踪弹窗
<>sy//进入系统视图
[]sy 001//重命名
[]user-int co 0
[]idle-timeout 0 0//永不超时
二层交换机1
[]vlan bat 10 20//创建vlan10 20
[]int e0/0/1//进入e0/0/1接口
[]port link-type access//设置access类型
[]port default vlan 10//接口划分vlan 10
[]int e0/0/2//进入e0/0/2接口
[]port link-type access//设置access类型
[]port default vlan 20//接口划分vlan 20
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
二层交换机2
[]vlan bat 10 20//创建vlan10 20
[]int e0/0/1//进入e0/0/1接口
[]port link-type access//设置access类型
[]port default vlan 10//接口划分vlan 10
[]int e0/0/2//进入e0/0/2接口
[]port link-type access//设置access类型
[]port default vlan 20//接口划分vlan 20
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
三层交换机
[]dhcp enable//开启DHCP服务
[]vlan bat 10 20 100//创建vlan 10 20 100
[]int g0/0/1//进入g0/0/1接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all设置白名单
[]int g0/0/2//进入g0/0/2接口
[]port link-type trunk//设置trunk类型
[]port trunk allow-pass vlan all//设置白名单
[]int g0/0/3//进入接口
[]port link-type access//设置access类型
[]port default vlan 100//把接口划分至vlan100
[]int vlan 10//进入vlanif10
[]ip add 192.168.10.1 24//配置IP地址和子网掩码长度
[]dhcp select relay //开启DHCP中继
[]dhcp relay server-ip 10.10.10.2 //设置DHCP服务器中继地址
[]int vlan 20//进入vlanif20
[]ip add 192.168.20.1 24//配置IP地址和子网掩码长度
[]dhcp select relay //开启DHCP中继
[]dhcp relay server-ip 10.10.10.2 //设置DHCP服务器中继地址
[]int vlan 100//进入接口
[]ip add 10.10.10.1 24//配置ip地址和子网掩码
DHCP服务器
[]dhcp enable//开启DHCP功能
[]int g0/0/0//进入接口g0/0/0
[]ip add 10.10.10.2 24//配置ip地址和子网掩码
[]undo shut//开启接口
[]dhcp select global//dhcp选择地址池方式分发ip
[]ip route-static 192.168.10.0 24 10.10.10.1//添加一条静态路由,目的网段是192.168.10.0,下一条10.10.10.1
[]ip route-static 192.168.20.0 24 10.10.10.1//添加一条静态路由,目的网段是192.168.20.0,下一条10.10.10.1
[]ip pool dhcp1//新建一个DHCP地址池,名称为DHCP1
[]network 192.168.10.0 mask 24 //指定DHCP2地址池的分发网段
[]gateway-list 192.168.10.1 //指定DHCP客户机获取到的网关地址
[]dns-list 20.20.20.20 9.9.9.9 //指定DHCP客户机获取的DNS服务器地址
[]lease day 9 //指定DHCP客户机可以使用的地址租期
[]ip pool dhcp2 //新建一个DHCP地址池,名称为DHCP2
[]network 192.168.20.0 mask 24 //指定DHCP2地址池的分发网段
[]gateway-list 192.168.20.1 //指定DHCP客户机获取到的网关地址
[]dns-list 2.2.2.2 40.40.40.40 //指定DHCP客户机获取的DNS服务器地址
[]lease day 9 //指定DHCP客户机可以使用的地址租期
实验过程
准备器材
测试:
客户机1DHCP方式获取IP:>ipconfig
客户机2DHCP方式获取IP:>ipconfig
客户机3DHCP方式获取IP:>ipconfig
客户机4DHCP方式获取IP:>ipconfig
补充
地址池概念
在用户定义了 DHCP 范围及排除范围后,剩余的地址构成了一个地址池,地址池中的地址可以动态的分配给网络中的客户机使用。
地址池仅对自动获取IP的方式有效,手动设置IP只要符合规则可无视此项。
info 和 error
info:提示信息,给用户一个消息提示,是一个常规消息,不能说明这个提示信息是报错
error:严重错误,需要你去维护。
总结
本次内容有些多可能需要很多时间去消化一下,主要还是DHCP的两个实验,比较重要,如果我能坚持更新到LINUX我们还可能会降到这一部分。