一、适用场景
1、企业提高网络管理的效率,动态分配ip地址,管理员无需手动为每个终端设备(手机、笔记本电脑、ipad、台式机等)配置网络参数,减少了 IP 地址冲突的可能性。
2、动态的的终端接入,对访问网络记录的排查增加了难度,本例主要解决终端设备接入网络后,自动获取ip地址也能查到接入设备的MAC地址(每个终端设备都有全球唯一的MAC物理地址,要是有非法访问,一旦查到无法抵赖)。
3、企业采用windows Server作为DHCP服务的情况下,使用server环境下的Powershell命令获取终端设备的ip地址与MAC地址信息,根据DHCP地址池有租期的特性,通过任务计划程序,指定时间段收集所有终端设备自动获取的内网ip地址与MAC地址。
二、本例环境说明:
1、本例每天分上午、下午、晚上3个指定的时间段收集所有终端设备自动获取的内网ip地址与MAC地址(因最短租期是2小时)。
2、新建3个批处理分别为执行的原因是,比如有课室区域,每天3位-6位老师上课,讲台1条网线,该网线给老师的笔记本电脑使用,每次上课的老师使用1个ip地址,每次课最长2节-4节,2节课配置ip地址的租期为2小时足够,当超过租期50%时,也就是使用1小时后,会自动向DHCP服务器请求续租该ip地址,若服务器繁忙未应答,超过87.5%的租期时会再次向DHCP服务器请求续租该ip地址,万一DHCP服务器未响应,当租期到时,还会再续约申请,所以配置内网ip地址租期2小时的租约即可,就算是连续4节课在同一个班的老师,也够租约使用。
3、接口上开启了dhcp snooping功能,防止私接路由器,影响附近的课室使用。另外对于DHCP地址池,使用29位的掩码,对应每天同一间课室最多6位老师连接,防止私接交换机或路由器、AP,占完带宽资源。
4、对于有些需要使用笔记本电脑实训的班级,则每个班级放开的地址池满足每人(手机+笔记本电脑+ipad)至少3-4个ip地址,也就是说,60人的班级,需要给至少180个C类ip地址,再预留多一些私网ip地址,也就是基本每一个班级使用一个C类24位掩码的网段254个ip。
三、DHCP日志服务器配置,获取每个时间段的用户终端MAC地址与对应的内网ip地址
1、新建3个批处理文件,用于收取DHCP服务器分配给电脑或笔记本、手机、ipad终端的mac地址与ip地址对应关系
(1)新建上午批处理文件,内容如下:
Powershell -command "Get-DhcpServerv4Scope | Get-DhcpServerv4Lease >>D:\DHCP_LOG%date:0,4%%date:5,2%%date:~8,2%‘上午’.TXT "
(2)新建下午批处理文件,内容如下:
powershell -command "Get-DhcpServerv4Scope | Get-DhcpServerv4Lease >>D:\DHCP_LOG%date:0,4%%date:5,2%%date:~8,2%‘下午’.TXT "
(3)新建晚上批处理文件,内容如下:
powershell -command "Get-DhcpServerv4Scope | Get-DhcpServerv4Lease >>D:\DHCP_LOG%date:0,4%%date:5,2%%date:~8,2%‘晚上’.TXT "
2、以上命令的参数含义:
(1)powershell –command :powershell是一个强大的脚本语言,它提供了多种应用程序接口(API)和开发工具,以便更好地与其他应用程序集成。
(2)Get- Dhcp Serverv4Scope: 返回指定作用域的IPv4作用域配置
(3)Get-DhcpServerv4Lease:从DHCP服务器服务获取一个或多个租约记录
(4)>>:重定向符,将输出的结果追加到文件尾部(因为电脑或手机用户终端是通过服务器获取到局域网ip地址的,既不能与之前的用户终端ip地址冲突,也要确保分配空闲的局域网ip地址给电脑或手机),所以不采用覆盖的单>重定向符,而采用追加的方式。
(5)D:\DHCP_LOG%date:0,4%%date:5,2%%date:~8,2%指定日志文件保存的路径及日志的名称,为确保能与年月日对上号,快速找到对应日期的日志记录,所以文件名称做了处理
(6)%date:~0,4% 表示从左向右,系统变量%date%取字符从第0个开始,到第4个结束,得到结果即为XXXX年
(7)根据上图的显示,我们取出%date%中值的前4位即可,所以:
(8)依次类推,取系统变量%date%中的月份,即
%date:~5,2%,从第5位开始,取2位
(9)%date:~8,2%,从第8位开始,取2位得到具体的日期
(10)get-Dhcp命令用法,如下图:
3、把以上3个批处理文件添加到任务计划程序
(1)打开任务计划程序,创建计划任务
(2)触发器配置为每天,如下图:
(3)指定每天的几点执行批处理
(4)选择“启动程序“,如下图:
(5)指定批处理文件所在路径
(6)完成
(7)以此类推,把下午和晚上的DHCP日志批处理添加到任务计划中,指定好时间后,最终任务计划程序中出现有3个任务,如下图:
4、生成的DHCP日志文件如下图:
5、DHCP日志文件的内容如下图:
四、Get-Dhcp命令的参数含义说明:
Get-DhcpServerv4Binding 获取绑定了DHCP服务器服务的计算机上的IPv4接口。
Get-DhcpServerv4Class 从DHCP服务器服务中检索IPv4供应商或用户类别。
Get-DhcpServerv4DnsSetting 获取DHCP服务器服务上为特定范围,预留或服务器级别配置的DNS设置。
Get-DhcpServerv4ExclusionRange 返回从指定范围ID中排除的IPv4地址范围
Get-DhcpServerv4Failover 获取特定故障转移关系名称在DHCP服务器服务上配置的故障转移关系。
Get-DhcpServerv4Filter 获取允许列表中的MAC地址或DHCP服务器服务上的拒绝列表。
Get-DhcpServerv4FilterList获取允许过滤器列表的启用状态,并拒绝在DHCP服务器服务上设置的过滤器列表。
Get-DhcpServerv4FreelPAddress 从指定范围获取免费的IPv4地址。
Get-DhcpServerv4Lease 从DHCP服务器服务获取一个或多个租约记录,
Get-DhcpServerv4MulticastExclusionRange 检索指定多播作用域的排除范围。
Get-DhcpServerv4MulticastLease 检索指定作用域名称的多播租约。
Get-DhcpServerv4MulticastScope 获取多播作用域对象。
Get-DhcpServerv4MulticastScopeStatistics 获取多播作用域统计信息。
Get-DhcpServerv4OptionDefinition 获取指定选项ID的DHCPV4选项定义。
Get-DhcpServerv4OptionValue 在服务器,作用域或预留级别返回IPv4选项的IPv4选项值。
Get-DhcpServerv4Policy 获取服务器级别或作用域级别的策略。
Get-DhcpServerv4PolicyIPRange 从指定范围的策略中获取IP地址范围。
Get-DhcpServerv4Reservation 获取IP地址或客户端|D的IPv4保留,
Get-DhcpServerv4Scope 返回指定作用域的IPv4作用域配置,
Get-DhcpServerv4ScopeStatistics 获取与为DHCP服务器服务指定的IPv4范围ID对应的IPv4范围统计信息。
Get-DhcpServerv4Statistics 获取IPv4的DHCP服务器服务统计信息。
Get-DhcpServerv4Superscope 获取指定超类的配置,
Get-DhcpServerv4SuperscopeStatistics 返回超级用户的统计信息,