DHCP原理与配置

一、DHCP的定义

DHCP(Dynamic Host Configuration Protocol):动态主机配置协议,是一个用于局域网的网络协议,位于OSI模型的应用层,使用UDP协议工作,主要有两个用途:
1、用于内部网或网络服务供应商自动分配IP地址给用户
2、用于内部网管理员对所有电脑作中央管理

二、DHCP的作用

为客户机分发IP地址、子网掩码、网关、DNS服务器、租期等参数。

三、DHCP的好处

1、简化了客户机的配置
2、防止用户误操作
3、避免IP地址重复使用

四、DHCP的工作原理

工作原理图如图所示:
在这里插入图片描述
1、DHCP客户机向局域网中所有DHCP服务器发送DHCP discovery请求。DHCP客户机向DHCP服务器发送DHCP请求,来请求DHCP服务器下发IP地址。
2、局域网中所有DHCP服务器回复DHCP offer,为客户机提供IP地址。
3、客户机选择第一台DHCP服务器回复的ip地址,并且要发送DHCP request,通告给局域网中所有的DHCP服务器,它选择了哪个IP和哪个DHCP。
备注:客户机发送DHCP request通告的原因有两个,第一个是通告所有DHCP,让未被选中的服务器,把未使用的地址收回,第二个是通告给被选中的服务器,这个IP地址客户机要使用了。
4、被选中的DHCP服务器收到DHCP request消息后,会给DHCP客户机回复一个DHCP ACK,告知客户端此ip地址可以被使用了,客户机将此IP与自己的MAC地址绑定,方便下次使用,而其他DHCP服务器将收回分配给该客户机的ip地址。
:租期: DHCP客户机使用的ip地址的使用是有期限的。
一般DHCP客户机使用分配的IP地址到了租期的50%时,会主动向DHCP发送续约请求,DHCP服务器接收到续约请求后,会检查此ip有没有被别的客户机抢占,如果没有就续约,如果此IP地址被其他客户机使用,就续约不成功,此时客户机将会重新发起DHCP discovery请求,请求获取新的IP。

五、DHCP服务的实现方式

DHCP服务对应传输层UDP协议,因为是C/S架构,所以客户机占用UDP的67号端口,服务器端口号是68。
DHCP服务的实现方式分为如下两种情况:
1、DHCP客户机和DHCP服务器在同一个网段
2、DHCP客户机和DHCP服务器不在同一个网段------DHCP中继,只能用由路由器实现,DHCP无法单独实现。

六、DHCP实验配置

1、同网段的DHCP
(1)拓扑图如下图所示:在这里插入图片描述
(2)二层以及三层交换机的配置:
L2-SW1上的配置:
[L2-SW1]vlan bat 10 20//创建vlan10和vlan20
[L2-SW1]int e0/0/1 //进入接口 e0/0/1
[L2-SW1-Ethernet0/0/1]port link-type access //设置接口链路类型为access
[L2-SW1-Ethernet0/0/1]port default vlan 10 //将接口 e0/0/1划分进vlan10
[L2-SW1-Ethernet0/0/1]int e0/0/2 //进入接口 e0/0/2
[L2-SW1-Ethernet0/0/2]port link-type access //设置接口链路类型为access
[L2-SW1-Ethernet0/0/2]port default vlan 20 //将接口 e0/0/2划分进vlan20
[L2-SW1-Ethernet0/0/2]int g0/0/1 //进入接口g0/0/1
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan

L2-SW2上的配置:
[L2-SW2]vlan bat 10 20//创建vlan10和vlan20
[L2-SW2]int e0/0/1 //进入接口 e0/0/1
[L2-SW2-Ethernet0/0/1]port link-type access //设置接口链路类型为access
[L2-SW2-Ethernet0/0/1]port default vlan 10 //将接口 e0/0/1划分进vlan10
[L2-SW2-Ethernet0/0/1]int e0/0/2 //进入接口 e0/0/2
[L2-SW2-Ethernet0/0/2]port link-type access //设置接口链路类型为access
[L2-SW2-Ethernet0/0/2]port default vlan 20 //将接口 e0/0/2划分进vlan20
[L2-SW2-Ethernet0/0/2]int g0/0/1 //进入接口g0/0/1
[L2-SW2-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L2-SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan

L3-SW1上的配置:
[L3-SW1]vlan batch 10 20 //创建vlan10和vlan20
[L3-SW1]int g0/0/1 //进入接口g0/0/1
[L3-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L3-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan
[L3-SW1-GigabitEthernet0/0/1]int g0/0/2 //进入接口g0/0/2
[L3-SW1-GigabitEthernet0/0/2]port link-type trunk //设置接口链路类型为trunk
[L3-SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all //设置白名单,放行所有vlan
[L3-SW1]dhcp enable //开启地址池功能
[L3-SW1]int vlan 10 //进入虚拟接口vlanif 10
[L3-SW1-Vlanif10]ip add 192.168.10.1 24 //给vlan10配置IP地址及子网掩码长度
[L3-SW1-Vlanif10]dhcp select interface
//指定DHCP接口分发IP地址(DHCP客户机下发的IP地址是和DHCP服务器同网段的,网关IP指向192.168.10.1)
[L3-SW1-Vlanif10]dhcp server dns-list 4.4.4.4 8.8.8.8//下发dns服务器地址是 4.4.4.4和8.8.8.8
[L3-SW1]ip pool dhcp2 //新建一个DHCP地址池,地址池名叫dhcp2
[L3-SW1-ip-pool-dhcp2]network 192.168.20.0 mask 24 //指定dhcp2地址池分发的网段
[L3-SW1-ip-pool-dhcp2]gateway-list 192.168.20.1 //指定dhcp2客户机获取的网关地址
[L3-SW1-ip-pool-dhcp2]dns-list 2.2.2.2 40.40.40.40 //指定dns服务器地址是2.2.2.2和40.40.40.40
[L3-SW1-ip-pool-dhcp2]lease day 9 //指定DHCP客户机可以使用的租期
[L3-SW1]int vlan 20 //进入虚拟接口vlanif 20
[L3-SW1-Vlanif20]ip add 192.168.20.1 24 //配置IP地址及子网掩码长度
[L3-SW1-Vlanif20]dhcp select global //DHCP选择地址池方式分发IP

(3)PC机的配置:
四台PC机上的IP地址配置都选择DHCP以及自动获取DNS服务器地址,点击应用即可。
在这里插入图片描述
(4)验证测试:
每个PC上的命令行都输入ipconfig命令,可以看到四台PC机上都自动获得了IP地址。因为PC1和PC3接口被划分进vlan10,vlan10又采用的是接口分发IP的方式,故PC1:192.168.10.254,PC2:192.168.10.253,它们在同一个网段上;而PC2和PC4接口被划分进vlan20,vlan20采用的是地址池分配的方式,所以PC2:192.168.20.254,PC4:192.168.20.253,它们在同一个网段上。
注:
①同一个网段上的PC机的IP地址默认从大往小的;
②通过建立DHCP地址池来分发IP的方法最常用。
在这里插入图片描述

在这里插入图片描述
2、不同网段的DHCP
(1)拓扑图如下图所示:
在这里插入图片描述
(2)交换机以及路由器的配置:
L2-SW1配置:
[L2-SW1]vlan bat 10 20//创建vlan10和vlan20
[L2-SW1]int e0/0/1 //进入接口 e0/0/1
[L2-SW1-Ethernet0/0/1]port link-type access //设置接口链路类型为access
[L2-SW1-Ethernet0/0/1]port default vlan 10 //将接口 e0/0/1划分进vlan10
[L2-SW1-Ethernet0/0/1]int e0/0/2 //进入接口 e0/0/2
[L2-SW1-Ethernet0/0/2]port link-type access //设置接口链路类型为access
[L2-SW1-Ethernet0/0/2]port default vlan 20 //将接口 e0/0/2划分进vlan20
[L2-SW1-Ethernet0/0/2]int g0/0/1 //进入接口g0/0/1
[L2-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L2-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan
L2-SW2配置:
[L2-SW2]vlan bat 10 20//创建vlan10和vlan20
[L2-SW2]int e0/0/1 //进入接口 e0/0/1
[L2-SW2-Ethernet0/0/1]port link-type access //设置接口链路类型为access
[L2-SW2-Ethernet0/0/1]port default vlan 10 //将接口 e0/0/1划分进vlan10
[L2-SW2-Ethernet0/0/1]int e0/0/2 //进入接口 e0/0/2
[L2-SW2-Ethernet0/0/2]port link-type access //设置接口链路类型为access
[L2-SW2-Ethernet0/0/2]port default vlan 20 //将接口 e0/0/2划分进vlan20
[L2-SW2-Ethernet0/0/2]int g0/0/1 //进入接口g0/0/1
[L2-SW2-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L2-SW2-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan

L3-SW1配置:
[L3-SW1]int g0/0/1 //进入接口g0/0/1
[L3-SW1-GigabitEthernet0/0/1]port link-type trunk //设置接口链路类型为trunk
[L3-SW1-GigabitEthernet0/0/1]port trunk allow-pass vlan all //设置白名单,放行所有vlan
[L3-SW1]int g0/0/2 //进入接口g0/0/2
[L3-SW1-GigabitEthernet0/0/2]port link-type trunk//设置接口链路类型为trunk
[L3-SW1-GigabitEthernet0/0/2]port trunk allow-pass vlan all //设置白名单,放行所有vlan
[L3-SW1]vlan bat 10 20 100 //创建多个不连续vlan
[L3-SW1]int vlan 10 //进入虚拟接口vlanif 10
[L3-SW1-Vlanif10]ip add 192.168.10.1 24 //配置IP地址及子网掩码长度
[L3-SW1-Vlanif10]int vlan 20 //进入虚拟接口vlanif 20
[L3-SW1-Vlanif20]ip add 192.168.20.1 24 //配置IP地址及子网掩码长度
[L3-SW1-Vlanif20]int g0/0/3 //进入接口g0/0/3
[L3-SW1-GigabitEthernet0/0/3]port link-type access //设置接口链路类型为access
[L3-SW1-GigabitEthernet0/0/3]port default vlan 100 //将接口划分进vlan100
[L3-SW1-GigabitEthernet0/0/3]int vlan 100 //进入虚拟接口vlanif 100
[L3-SW1-Vlanif100]ip add 10.10.10.1 24 //配置IP地址及子网掩码长度
[L3-SW1]dhcp enable //开启地址池功能
[L3-SW1]int vlan 10//进入虚拟接口vlanif 10
[L3-SW1-Vlanif10]dhcp select relay //开启DHCP中继功能
[L3-SW1-Vlanif10]dhcp relay server-ip 10.10.10.2 //指定DHCP服务器地址
[L3-SW1-Vlanif10]int vlan 20//进入虚拟接口vlanif 20
[L3-SW1-Vlanif20]dhcp select relay //开启DHCP中继功能
[L3-SW1-Vlanif20]dhcp relay server-ip 10.10.10.2 //指定DHCP服务器地址

路由器R1上的配置:
[R1]dhcp enable //开启地址池功能
[R1]int g0/0/0 //进入接口g0/0/0
[R1-GigabitEthernet0/0/0]undo shutdown //开启物理接口
[R1-GigabitEthernet0/0/0]ip add 10.10.10.2 24 //配置IP地址及子网掩码长度
[R1-GigabitEthernet0/0/0]dhcp select global //DHCP选择地址池方式分发IP
[R1]ip pool dhcp1 //新建一个DHCP地址池,地址池名叫dhcp1
[R1-ip-pool-dhcp1]network 192.168.10.0 mask 24 //指定dhcp1地址池分发的网段
[R1-ip-pool-dhcp1]gateway-list 192.168.10.1 //指定dhcp1客户机获取的网关地址
[R1-ip-pool-dhcp1]dns-list 6.6.6.6 40.40.40.40 //指定dns服务器地址是 6.6.6.6和 40.40.40.40
[R1-ip-pool-dhcp1]lease day 7 //指定DHCP客户机可以使用的租期
[R1-ip-pool-dhcp1]q //退出dhcp1
[R1]ip pool dhcp2//新建一个DHCP地址池,地址池名叫dhcp2
[R1-ip-pool-dhcp2]network 192.168.20.0 mask 24 //指定dhcp2地址池分发的网段
[R1-ip-pool-dhcp2]gateway-list 192.168.20.1 //指定dhcp2客户机获取的网关地址
[R1-ip-pool-dhcp2]dns-list 114.114.114.114 8.8.8.8 //指定dns服务器地址是 114.114.114.114 和 8.8.8.8
[R1-ip-pool-dhcp2]lease day 7 //指定DHCP客户机可以使用的租期
[R1-ip-pool-dhcp2]q//退出dhcp2
[R1]ip route-static 192.168.10.0 24 10.10.10.1
//添加静态路由,目的网段192.168.10.0 子网掩码长度24,下一跳入接口10.10.10.1
[R1]ip route-static 192.168.20.0 24 10.10.10.1
//添加静态路由,目的网段192.168.20.0 子网掩码长度24,下一跳入接口10.10.10.1

(3)PC机的配置:
四台PC机上的IP地址配置都选择DHCP以及自动获取DNS服务器地址,点击应用即可。

(4)验证测试:
①每个PC上的命令行都输入ipconfig命令,可以看到四台PC机上都自动获得了IP地址。在这里插入图片描述
②通过抓包可以看到DHCP服务工作的四个流程。
在这里插入图片描述

七、总结

1、注意同网段和不同网段的DHCP配置方法
2、通过建立DHCP地址池来分发IP地址时,要开启地址池功能

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值