# DHCP服务 动态主机配置协议DHCP(Dynamic Host Configuration Protocol)是一种用于集中对用户IP地址进行动态管理和配置的技术。 DHCP采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,服务器返回为客户端分配的配置信息(包括IP地址、缺省网关、DNS Server、WINS Server等参数),可以实现IP地址动态分配,以及其他网络参数的集中配置管理。 DHCP(Dynamic Host Configuration Protocol),动态主机配置协议,是一个应用层协议。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这个IP上网。 DHCP的前身是BOOTP协议(Bootstrap Protocol),BOOTP被创建出来为连接到网络中的设备自动分配地址,后来被DHCP取代了,DHCP比BOOTP更加复杂,功能更强大。后面可以看到,在用Wireshark过滤显示DHCP包,需要输入过滤条件BOOTP,而不是DHCP,但或许是因为我使用的Wireshark版本是比较旧的1.12.9,没有在新版本中尝试过,也许可以输入DHCP让其只显示DHCP包。 #### DHCP的实现 ![这里写图片描述](D:/工作室/轮训/轮训方案/第二轮/第二轮笔记.assets/20160321233138127) DHCP的实现分为4步,分别是: 第一步:Client端在局域网内发起一个DHCP Discover包,目的是想发现能够给它提供IP的DHCP Server。 第二步:可用的DHCP Server接收到Discover包之后,通过发送DHCP Offer包给予Client端应答,意在告诉Client端它可以提供IP地址。 第三步:Client端接收到Offer包之后,发送DHCP Request包请求分配IP。 第四步:DHCP Server发送ACK数据包,确认信息。 拓扑图:![image-20210423151159172](https://panfeng-biji.oss-cn-beijing.aliyuncs.com/img/20210924154216.png) #### 配置步骤(有些顺序不重要) 1.创建地址池 2.分配的地址池范围 3.配置网关 4.配置dns 5.给路由器端口配置IP 6.如有需要则配置不自动分配的地址段或某个地址 ``` 命令配置 Router>en Router#config t Router(config)#ip dhcp pool 1 (创建地址池,名字(1)自定义) Router(dhcp-config)#network 192.168.1.0 255.255.255.0 (地址池范围) Router(dhcp-config)#default-router 192.168.1.1 (默认网关) Router(dhcp-config)#dns-server 192.168.1.2 (dns-server服务,dns地址) Router(dhcp-config)#int fa 0/0 Router(config-if)#ip address 192.168.1.1 255.255.255.0 (路由端口IP) Router(config-if)#no shutdown Router(config-if)#exit show ip route #查看路由表 拓展 Router(config)#ip dhcp excluded-address 192.168.1.1 192.168.1.9 (表示某一段IP地址不由DHCP分配) Router(config)#ip dhcp excluded-address 192.168.1.254 (表示某一个IP地址不由DHCP分配) ``` 方法2 ``` 给vlan ip版 int vlan 10 #进入vlan ip add 192.168.10.254 255.255.255.0 int f0/1 sw mode acc sw acc vlan 10 Router(config)#service dhcp //开启DHCP服务 Router(config)#ip dhcp pool gzs //创建地址池 后面跟你想要创建的地址 池名字 Router(dhcp-config)#network 192.168.10.0 255.255.255.0 //地址池中的 ip Router(dhcp-config)#default-router 192.168.10.254 //配置默认网关 Router(dhcp-config)#dns-server 8.8.8.8 // 配置dns地址 ``` # DHCP中继 DHCPRelay(DHCPR)DHCP中继(也叫做DHCP中继代理)是一个小程序,其可以实现在不同子网和物理网段之间处理和转发dhcp信息的功能。如果DHCP客户机与DHCP服务器在同一个物理网段,则客户机可以正确地获得动态分配的ip地址。如果不在同一个物理网段,则需要DHCP Relay Agent(中继代理)。 中继代理:如果DHCP 客户端和DHCP 服务器都位于同一个网段内,客户端获取IP 地址的过程与描述的基 本相同。但是,如果DHCP 客户端和DHCP 服务器位于被一个或多个路由器分展开的不同的网段上,整 个过程就会变得更复杂一些。路由器通常是不能将广播发送到其他网络上的。为了DHCP 可以工作,需 要有一个中介来协助完成DHCP 的处理过程。这个中介是与DHCP 客户端在相同网络中的另一台主机(通 常就是路由器)。 在客户端设备和DHCP服务器不在同一广播域内的时候,中间设备即路有器(路有功能的设备)必须要 能够转发这种广播包,具体到cisco的设备上,则启用ip helper-address命令,来实现这种中继。 DHCP中继的指向地址是服务器上的网关 拓扑图 ![image-20210424185734626](https://panfeng-biji.oss-cn-beijing.aliyuncs.com/img/20210924154220.png) ``` 路由器1(dhcp服务器) int g0/0 ip address 172.16.1.2 255.255.255.0 ip dhcp pool 1 #创建dhcp地址池,命名为1 network 192.168.10.0 255.255.255.0 dns-server 8.8.8.8 #dns服务器(可不打) default-route 192.168.10.254 #指定地址池默认网关 ip route 192.168.10.0 255.255.255.0 172.16.1.1 #配置下一跳使路由器1与PC0连同 三层交换机(dhcp中继) int f0/2 no shutdown no switch #关闭二层交换功能开启三层 ip address 172.16.1.1 255.255.255.0 no shutdown ip routing #开启路由功能 vlan 10 int vlan 10 ip helper-address 172.16.1.2 #指向dhcp服务器的ip地址 int f0/1 sw mode acc sw acc vlan 10 no sh int vlan 10 ip add 192.168.10.254 255.255.255.0 no shutdown int vlan 10 ip helper-address 172.16.1.2 交换机0 vlan 10 int vlan 10 no shutdown int range f0/1-2 switchport access vlan 10 ```
最后修改:2021 年 10 月 19 日
如果觉得我的文章对你有用,欢迎打赏