目录
1、什么是DHCP?
DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。
2、DHCP的作用:
DHCP通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP--动态主机配置协议:
作用:为客户机分发IP地址、子网掩码、网关、DNS服务器、租期等参数。
使用DHCP好处:
1、简化了客户机设置
2、防止用户误操作
3、避免IP地址重复
3、封包格式:
架构:C/S架构 (客户机/服务器架构) C-Client 客户机 S-Server 服务器
DHCP服务对应传输层是UDP协议,因为是C/S架构,所以DHCP服务是分为客户机占用UDP67号端口DHCP服务器占用UDP 68号端口。
4、系统组成:
DHCP Client (客户端):通过DHCP协议请求获取IP地址等网络参数的设备;
DHCP Server (服务器):能提供DHCP功能的服务器或网络设备;
DHCP Relay(中继):负责转发DHCP服务器和DHCP客户端之间的DHCP报文,协助DHCP
服务器向DHCP客户端动态分配网络参数的设备;
报文类型:
5、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可以被客户机使用,DHCP客户机将此IP与自己的MAC绑定起来,以便下次继续使用,而其他DHCP服务器将把分配给该DHCP客户机的IP回收。
6、租期:
DHCP客户机使用IP地址是有期限的。一般DHCP客户机使用DHCP分配得的IP地址到了租期的50%的时候,会主动的向DHCP服务器发出续约请求,DHCP服务器接收到DHCP客户机的续约请求后,DHCP服务器会检查此IP地址有没有被别的DHCP客户机抢先占用,如果没有,就续约成功。如果此IP地址有被其他的DHCP客户机占用, 那么续约不成功,此时DHCP客户机将会重新发起DHCPdiscovery请求来获取新的IP地址。
DHCP服务的实现分为两种情况:
情况一:DHCP服务器和DHCP客户机在同一个网段。
情况二:DHCP服 务器和DHCP客户机不在同一个网段。--DHCP中继, 只能由路由器实现,DHCP服务器无法单独实现。
7、同网段DHCP实验:
(1)创建拓扑图,添加两台PC机,两个二层交换机,一个三层交换机:
(2)对两台二层交换机进行配置:
交换机SW2:
[ ]vlan bat 10 20 //创建vlan10,vlan20
[ ]int e0/0/1 //进入接口e0/0/1
[ ]port link-type access //设置接口链路类型为access
[ ]port default vlan 10 //将接口划分进vlan10
[ ]int e0/0/2 //进入接口e0/0/2
[ ]port link-type access //设置接口链路类型为access
[ ]port default vlan 20 //将接口划分进vlan20
[ ]int g0/0/1 //进入接口g0/0/1
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
(3)对三层交换机进行配置:
三层交换机SW3:
[ ]int g0/0/1 //进入接口g0/0/1
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
[ ]int g0/0/2 //进入接口g0/0/2
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
[ ]vlan bat 10 20 //创建vlan10,vlan20
[ ] dhcp enable //开启DHCP功能
方法一:接口分发IP地址
[ ]int vlan 10 //进入vlanif10接口
[ ]ip add 192.168.10.1 255. 255. 255.0 //配置 IP地址和子网掩码
[ ]dhcp select interface //指定dhcp接口分发IP地址( 为DHCP客户机下发的IP地址默认
是和DHCP服务器同网段的,网关IP默认是指向192.168. 10. 1)
[ ]dhcp server dns-list 4.4.4.4 8.8.8. 8 //下发DNS服务器地址是4.4.4.4和8. 8.8.8
方法二:建DHCP地址池,地址池分发IP地址
[ ]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 7 //指 定dhcp客户机可以使用的地址租期
[ ]int vlan 20 //进 入vlanif20接口
[ ]ip add 192.168.20.1 255.255.255.0 //配置IP地址和子网掩码
[ ]dhcp select global //接口下指定dhcp以地址池方式分配IP地址
(4)进行测试:查看自己的IP地址,子网掩码,网关,DNS等信息;
客户机DHCP获取IP地址,子网掩码,网关:
验证:ipconfig
8、不同网段DHCP实验:
(1)创建拓扑图:两台PC机,两台二层交换机,一台三层交换机,一台路由器;
(2)规划好vlan,链路类型access和trunk要清晰,标出网段和相应的网关;
(3)对两台二层交换机进行配置:
[ ]vlan bat 10 20 //创建vlan10,vlan20
[ ]int e0/0/1 //进入接口e0/0/1
[ ]port link-type access //设置接口链路类型为access
[ ]port default vlan 10 //将接口划分进vlan10
[ ]int e0/0/2 //进入接口e0/0/2
[ ]port link-type access //设置接口链路类型为access
[ ]port default vlan 20 //将接口划分进vlan20
[ ]int g0/0/1 //进入接口g0/0/1
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
(4)对三层交换机SW3进行配置:
三层交换机SW3:
[ ]int g0/0/1 //进入接口g0/0/1
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
[ ]int g0/0/2 //进入接口g0/0/2
[ ]port link-type trunk //设置接口链路类型为trunk
[ ]port trunk allow-pass vlan all //将所有vlan纳入trunk白名单
[ ]vlan bat 10 20 100 //创建vlan10,vlan20,vlan100
[ ]int vlan 10 //进入vlan10接口
[ ]ip add 192.168.10.1 24 //设置IP地址和子网掩码长度
[ ]int vlan 20 //进入vlan20接口
[ ]ip add 192.168.20.1 24 //设置IP地址和子网掩码长度
[ ]int g0/0/3 //进入接口g0/0/3
[ ]port link-type access //设置接口链路类型为access
[ ]port default vlan 100 //将接口划分进vlan100
[ ]int vlan 100 //进入vlan100接口
[ ]ip add 10.10.10.1 24 //设置IP地址和子网掩码长度
[ ]dhcp enable //开启DHCP功能
[ ]int vlan 10 //进入vlan10接口
[ ]dhcp select relay //开启DHCP中继
[ ]dhcp relay server-ip 10.10.10.2 //指定DHCP服务器接口的ip地址
[ ]int vlan 20 //进入vlan20接口
[ ]dhcp select relay //开启DHCP中继
[ ]dhcp relay server-ip 10.10.10.2 //指定DHCP服务器接口的ip地址
(5)对路由器R1进行配置:
路由器R1:
[ ]int g0/0/0 //进入接口g0/0/0
[ ]undo shutdown //开启g0/0/0接口
[ ]ip add 10.10.10.2 24 //设置IP地址和子网掩码长度
[ ]dhcp enable //开启DHCP功能
[ ]ip pool dhcp1 //新建一个DHCP地址池, 地址池名称叫dhcp1
[ ]network 192.168.10.0 mask 24 //指定 dhcp1地址池的分发的网段和子网掩码长度
[ ]gateway-list 192.168.10.1 //指定dhcp客户机获取到的网关地址
[ ]dns-list 3.3.3.3 5.5.5.5 //指定dhcp客户 机获取的DNS服务器地址
[ ]lease day 7 //指定dhcp客户 机可以使用的地址租期
[ ]ip pool dhcp2 //新建一个DHCP地址池, 地址池名称叫dhcp2
[ ]network 192.168.20.0 mask 24 //指定 dhcp1地址池的分发的网段和子网掩码长度
[ ]gateway-list 192.168.20.1 //指定dhcp客户机获取到的网关地址
[ ]dns-list 20.20.20.20 1.1.1.1 //指定dhcp客户 机获取的DNS服务器地址
[ ]lease day 5 //指定dhcp客户 机可以使用的地址租期
[]int g0/0/0 //进入接口g0/0/0
[ ]dhcp select global //dhep在接口g0/0/0下选择地址池方式分发IP
[ ]ip route-static 192. 168. 10.0 24 10. 10.10.1 //添加一条静态路由,目的网段是192.168.10.0 子网掩码长度是24 ,下一 跳入接口ip为10.10. 10.1
[ ]ip route-static 192. 168.20.0 24 10. 10. 10.1 //添加一 条静态路由,目的网段是192.168.20.0 子网掩码长度是24 ,下一 跳入接口ip为10. 10. 10. 1
[ ]display ip routing-table //查看路由表
(6)进行测试:
客户机DHCP获取IP地址,子网掩码,网关:
验证:ipconfig
上面实验是成功例子,相应代码以给出,实验部分成功完成。
总结:
1、DHCP是动态主机配置协议;
2、DHCP好处:简化了客户机设置,防止用户误操作,避免IP地址重复;
3、架构为C/S架构 (即客户机/服务器架构) C-Client 客户机 S-Server 服务器 ;
4、Info:提示信息,给用户一个消息提示,是一个常规消息,不能说明这个提示信息是报错;
5、error :严重错误,需要你去维护;