当前位置: 首页 > Linux

日常工作必备的DHCP介绍及安全

时间:2023-04-07 01:08:30 Linux

前言大家有没有想过,为什么在公司工作的时候,我们的电脑插上网线就可以自动上网了?或者在麦当劳肯德基连wifi能不能自动连上网?这就是我们今天的主题DHCP。前言故事为了更好地理解DHCP,我们讲一个租房的故事。我们到了一个新的居住环境,需要租房子,但是不知道房东是谁,所以我们的租房流程可以进行如下操作。我:“谁是房东,我要租房子”(为了找到房东,你需要喊,也就是广播)房东1:“我是房东,我有一个房间出租给你”我:“我租房东1的房子,我不会租其他房东的房子”(看完租房合同,确认没有问题)房东1:“好吧,房子给你,你以后还会住这里。”至此,我们已经和房东签好了合同,我们有了房子住。以后想一想,租房是有期限的。万一到了租房期限还想继续租房怎么办临近了?这时候我们只需要在房子快到期的时候通知房东就可以了,继续租房子可以吗?DHCP的工作过程类似这样~DHCP工作过程上图是我们的DHCP协议的工作过程,下面结合前言故事来了解一下具体过程:1、当客户端启动或重启网卡时,客户端主机会向物理网络中的所有计算机发出搜索DHCP服务器的UDP包这个包的目的IP会是255.255.255.255,所以一般主机收到这个包后会直接丢弃,但是如果局域网中有DHCP服务器,就会开始进行后续动作。2.之后DHCP服务器收到客户端的请求,如果条件允许(比如有空闲IP),DHCP服务器会将当前未使用的IP取给客户端,并记录下来,服务器会保留此时的IP。然后租约开始等待来自客户端的响应。3.客户端确定所选DHCP服务器提供的网络参数租约,并向服务器报告。但是,由于局域网中可能不会只有一个DHCP服务器,客户端只能接受租用一组网络参数。因此,客户端必须选择是否同意租用服务器提供的相关网络参数。在决定使用本服务器的网络参数租约后,客户端开始使用这组网络参数来设置自己的网络环境。另外,客户端还会向物理网段内的所有主机发送一个广播包,通知它已经接受了服务器的租约。这时,如果有两个以上的DHCP服务器,这些未接受的服务器就会收回IP租约。至于被接受的DHCP服务器,它会继续执行以下操作。4.服务器记录租用行为,并向客户端返回确认的响应包信息。5、DHCP服务器租给DHCP客户端的IP地址一般都有一个租期,租期过后DHCP服务器会收回租用的IP地址。如果DHCP客户端想要延长其IP租约,它必须更新其IP租约。当DHCP客户端启动,IP租期过半时,DHCP客户端会自动向DHCP服务器发送信息,续订IP租约。DHCP租期有两种情况:1、如果我们在公司上班,我们的IP地址几乎不会变。这个租期能不能设置的长一些?2、如果我们在快餐店,快餐店有WiFi,无数人连上WiFi。如果时间设置得太长,预留的IP地址很快就会用完。这时候就要考虑把租用期设置的短一些既然有租用时间,是不是意味着我要在某个时间点用DHCP获取的IP手动获取一个新的IP呢?答案是不!因为目前大部分的DHCP客户端程序都会根据租约时间主动重新申请IP(renew)!也就是说,在租约到期之前,你的DHCP客户端程序已经重新申请续租了。所以除非DHCP主机挂了,否则你拿到的IP应该是一直可用的!一般来说,假设租期为T小时,那么客户端会在0.5T时主动向DHCP服务器发送数据包重新请求网络参数。如果本次请求包不成功,则在0.875T后再次发送包。如果这次不成功,客户端会寻找其他的DHCP服务器。既然租约是有时间的,那租约什么时候到期终止呢?或者什么情况下会再次获取IP?1、客户端下线:无论是关闭网络接口、重启、关机等,都认为是下线。这时,DHCP会回收IP,放在自己的备份区,以备日后使用。2.Clientleaseexpires:前面说了,DHCP服务器下发的IP是有时间限制的。当client使用这个IP达到timelimit中指定的时间,没有再次申请DHCP时,需要返回IP!这时候就会造成断线。但是用户也可以要求DHCP服务器重新分配IP3,可以使用如下命令重新获取IP(注意是cmd命令)ipconfig/release释放指定DHCP适配器的IPv4地址。ipconfig/release6释放指定DHCP适配器的IPv6地址。ipconfig/renew更新指定DHCP适配器的IPv4地址。ipconfig/renew6更新指定DHCP适配器的IPv6地址。在DHCP地址预留工作中,其实有一些员工需要绑定固定IP的场景,因为部门的很多功能都被防火墙限制了,只有某些固定IP才有权限访问。那么如何实现固定IP呢?我们电脑的网卡都有一个独特的标志,叫做MAC。只要网卡不变,MAC肯定不会变(不过有模拟软件可以创建虚拟MAC)。我们可以通过将MAC绑定到特定的IP固定IP来实现这一点。Windows上查看MAC和租用信息的命令是:ipconfig/all结果如图:默认情况下,我们电脑连接DHCP服务器获取的IP是不固定的,直接通过DHCP服务器随机获取.DHCP攻击与防御DHCP服务器攻击:频繁发送伪造的DHCP请求,知道DHCP地址池的资源将被耗尽防御:在交换机端口(必须是管理类型)绑定动态MAC地址到伪造的DHCP服务器攻击:黑客会自己部署为DHCP服务器,为客户提供非法IP地址防御:在交换机上(必须是管理型),除了合法DHCP服务器所在接口外,所有设置都设置为禁止发送DHCPOFFER数据包