华为数通-DHCP笔记

2 篇文章 0 订阅
1 篇文章 0 订阅

技术背景:手动配置IP地址的问题

DHCPDynamic Host Configure Protocol ,动态主机配置协议

  • 在BOOTP(BOOTstrap Protocol )基础上发展而来的
  • 实现地址的自动分配和集中管理
  • 分配出去的信息是有租期的。
  • 采用C/S构架,客户端接入网络后即插即用。

DHCP服务实现起来非常简单,你家的宽带路由器也有,华为思科专业设备也有,其次windows server也可以有,linux server也可以有,随便搞个软件打开也能有这个服务,特别简单,DHCP服务几乎可以说是,触手可得很容易实现的

有了它 我们就可以实现统一管理了

租期也有永久的 就是静态

网络设备的DHCP服务呢 它的功能简单、方便,命令也非常简单,默认一条命令就可以实现,但是它的管理功能呢,或者它DHCP的其他的一些高级特性啊,确实没有windows server 这么强,最强大的还是windows server

 

DHCP应用场景:

假如说你有两台这样的DHCP服务,我们设计的建议是这样的:不是说两台分配的地址池都一样的。如果你分配1-200地址 我也分配1-200地址,你这是主 这是备。它流量回往上面发,主设备挂掉了,它才会向下下面发,vrrp也好,还是做了服务器等价也好,我们不建议地址池这么配,理由很简单啊,你这个地址如果是从主服务器这边拿的,拿了1-50个地址,你拿了1-50地址主服务器肯定知道的啊,它会记录的啊 ,但备份服务器是没记录的,除非你做了服务器集群。如果你没做。多台独立的服务器,那你就不要这么做,因为地址记录是不同步的。他们从主拿到的地址,然后主挂了,然后他们要续租的时候,他们会找到备用服务器,备用服务器肯定会拒绝,因为备份服务器的1-50地址并没有租出去啊。而且有可能我们用的好好的,主服务器挂了,然后有个新的客户端要拿地址,找到了备用服务器,然后备份服务器把1给他了,那新的客户端的地址就和老客户端地址冲突了啊,虽然冲突了以后我会告诉服务器,服务器会记录地址冲突。但这不是浪费我们的时间吗。说白了 网络设计有问题 。因此我们建议。主服务器的地址池为1-100,备用服务器的地址池为101-200。当然了做服务器集群是最好的

所以DHCP服务的安全问题也很大,他的可怕性不亚于arp欺骗,mac地址欺骗。

再大一点的企业网络 我们就会出现中继了,DCHP服务器肯定在数据中心、机房里面,那我们拿地址,默认DHCP请求是广播方式的。所以你发的广播请求,广播的范围也就是一个广播域。所以你不可能跨网段啊。说白了就是我客户端和DHCP服务器不在一个广播域内 那我就要去通过中继去实现请求。

我们网络设备也可以是DHCP客户端。命令:

 

DHCP工作流程:

  • 举个生活中的栗子,我没有女朋友啊 谁来给我介绍个女朋友啊,然后相亲网给你推送一个,跟你匹配度相似度很高的,了解下吧 你们。然后我说:OK,我就想和她处了。相亲网:行 确认 你能和她处一个月
  • 虽然这个栗子不太很合适。其实就和你平时租房子一样,你要去租房,我需要房子,然后中介来了。带你看房,满意了。我:请求,我就要这个房子。中介:行吧 签合同,合同一签你就可以住了
  • 当然了 拥有这个地址以后,我还是会马上做一个免费ARP。因为我要确定下是不是有人用这个地址

 

DHCP报文UDP,端口号(服务器=67,客户端=68

我们主要关注带地址的,还要关注选项。DHCP强大到你难以想象,别以为只给你分配这些常见的地址就完了(地址 网关 DNS地址),这三就可以上网了,但是它能做的事情很多, AP也好,语音电话也好。很多地方都需要DHCP各种选项,其实这种都叫选项,到底有多少选项呢?太多了

 

报文的类型

Discover:寻找,如果有多台服务器的话,服务器都会收到广播,服务器都回各自的

Offer:对寻找的一个回应

Request:

  1. 如果收到多台服务器的offer报文的话,那我客户端到底要哪个呢?客户端的选择很简单,先到先得 ,但是为什么我请求Request要用广播,就是要告诉其他服务器,我要的是A服务器的地址。所以其他的服务器 就会回收刚刚发出的地址,因为DHCP服务器只要带你去看过“房”了,他不会再把这个“房子”带给别人去看,就会一直等待你的请求,就算你不要他的“房子”,你也要去告诉他 你不要他的“房子”。那他就可以带给别人去看。这也是安全的一个漏洞,我一直发Discover,DHCP的地址就马上分配出去了,而我不给你Request,那服务器就会一直等待你的回应, 我这些都是伪造的Discover。为什么能拿到那么多地址,因为DHCP服务器只看mac地址,只要mac地址不一样,他就会给地址
  2. 客户端重启之后,一般操作系统也会广播发送一下确认以前的地址是否可用,因为地址有租期的,租期没到的话 我是可以用的。要么就是等租期规则,要么就是等重启
  3. 当客户端已经和某个IP地址绑定后,单播或广播发送来更新租约

正常每过一段时间都会有Request然后ACK,一般不会让租期到头的

ACK:服务器对Request确认,此时客户端才真正获得了IP地址等配置信息

Nak:和Decline都表示拒绝的,Nak是服务器发的,一个是服务器通知客户端 我拒绝了你的请求,服务器如果没有找到相应的记录他会拒绝。

场景1: 两台DHCP服务器vrrp主备的,我从主拿地址,主有记录的。然后主挂了。客户端向备份服务器请求续约的时候他没记录的,那他就拒绝了。

场景2:就是每天上班和回家 你到公司里拿到的地址。回到家里 开机 连到家里的wifi ,假如地址没过期,操作系统开机以后肯定去请求一下 这个地址还能不能用了?那你家的路由器和你公司的路由器,记录不一样啊。所以你家的宽带路由器肯定会拒绝啊 。因为你这地址不是我租的啊。不是我管的啊,你找我续租干嘛,拒绝。所以这种Nak还是很常见的

Decline:和Nak都表示拒绝的,Decline是客户端发的。如果客户端拿到地址以后,发现冲突了(免费ARP),他也会通知服务器

题外话:dhcp服务器会不会检测他的地址池里的地址有没有分配出去?不会,他要会也可以,他要检测的话他采取的方法很简单 ICMPping的方式 但你也知道 ping的方式很不靠谱。客户端开着防火墙 那就检测不了了。第二 我的地址池很多 我没事就检测吗 所以这是浪费资源啊,所以就让客户端去检测。有一些固定的地址 什么打印机 管理机 这些地址就应该在地址池里排除了

Release释放,他的释放消息会发给服务器,服务器就知道了 你这个地址还给我了 我就可以把这个地址分给别人了

Inform:客户端想获取更为详细的配置信息(如:DNS服务器),这个报文比较少见,举个栗子:你的网卡你会发现,他在配DHCP的时候,他是把DNS和IP地址分开了。下图

就是你可以上面自动/手动 下面自动/手动,DNS这块是独立的,并不是跟地址掩码网关在一块的,所以你要请求DNS就会发送Inform消息,请求更为详细

 

模拟器的DHCP包不全,实验建议在真机去做

 

DHCP地址池(Pool所分配地址的集合

Dis ip pool 验证地址池

DHCP配置

DHCP中继

  • DHCP发现信息为广播发送,如果跨广播域,服务器无法收到客户端的请求
  • 使用需要一个中间人协助,这个中间人即中继

发来的是广播 ,中继要改变发送的方式,所以他发送的是单播,全程单播

所以左边不变,右边多一套流程,中继是以单播的方式发给服务器的

配的时候,首先我是中继,我在这接口是中继服务,然后 如果这个接口进来了Discover 我就单独的发给服务器了,哪个接口收到了Discover,你就在哪个接口开启中继,你有多个接口,多个vlan,那就在很多vlanif上开启中继就行了,三层口啊 不是二层口,如果是交换机你得是vlanif口啊,所以这时候DHCP服务器肯定要配置全局地址池

场景:

Discover发送到了三层网关,那是不是 到达DHCP服务器所经过的网络设备都要配DHCP中继呢?那肯定不是啊,我们第一个收到Discover 他的三层口配一个DHCP中继就行了,他会以单播的形式发送到服务器,服务器也以单播的形式会给你啊,跟中间的设备没有半毛钱关系

DHCP中继配置

服务器怎么知道他的分配的网段地址是172.16.1.0网段呢?服务器接口是172.16.2.0网段,他怎么知道分配的地址应该是1.0网段还是2.0 还是3.0呢?服务器会根据收到的单播报文去判断,看报文的源地址这个DHCP中继是从哪个网段来的,他就会在全局地址池里找到相应的网段去分配,所以他不会分配错。路由没通 你玩什么中继啊。包括你这边分配的,一定要有网关,不然他没办法给你做确认啊

比如说分支机构的地址从总部拿,上海和北京的地址都从合肥拿,中间走vpn隧道,那这个时候,他是要套马甲的,就是外面套了一层ip报头,而且有时候这些地址有时候会被NAT转换 ,那么DHCP服务器就无法根据源地址去判断 我要分配什么地址了,所以Relay agent IP address 字段就有用了

这个才是真正告诉你,中继的地址是192.168.10.1,所以DHCP服务器分配的时候,看这个中继地址所在的地址网段去分配 这个地址端就ok

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值