Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配

简介:

企业中,为了降低管理员对于IP地址管理、分配的复杂繁琐性,很多企业都会架设Windows DHCP服务器,通过DHCP服务器为企业中的客户端自动分配IP地址。

但是面对现代如此庞大数量的客户端PC、手机、平板等,也导致安全性面临巨大挑战。其实DHCP可以通过MAC地址过滤来实现IP地址分配,可以将企业中多有授权的客户端MAC地址收集起来,在DHCP服务器中进行设置,使其顺利获取IP,而没有被授权的客户端则不能获取IP。

从Windows Server 2008 R2开始,基于MAC地址过滤已经集成在DHCP中,作为一大特性存在。但是早期的Windows Server 2003、Windows Server 2008 并没有包含该特性,那么仍然使用这些低于server 08 R2版本的DHCP Server的企业该怎么解决这个问题呢?这里给大家做详细的介绍。

对于仍然基于 2K03、2K08平台架设的DHCP服务器来说,只要安装 MacFilterCalloutInstaller(有x86和x64之分),然后进行简单的配置即可实现。

环境介绍:

VMware Workstation  虚拟机两台(运行在同一宿主机);

一台安装Windows Server 2003 SP2 (32位), 并安装DHCP  Server角色;

另一台 XP Pro  sp3, 作为DHCP Client,进行测试。

查看DHCP Server系统版本信息:

wKioOVLD9-rxEN6TAAD9mNsEkoM088.jpg

查看客户端MAC地址:

wKioOVLD--GxcIDRAABph4l6h_k034.jpg

为了防止DHCP Server对生产环境PC分配IP,造成不能上网,所以分别对两台虚拟机网络适配器作如下设置:

wKioOVLD9t3wmfrpAADgqq2hA7Q102.jpg

安装MacFilterCalloutInstaller:  

双击"MacFilterCalloutInstaller-x86.msi" 可执行文件,启动安装向导;

勾选"接受许可协议":

wKioOVLD9b7jMrWHAACsQ81_tk0725.jpg

安装完成向导,【Finish】就安装完成了。

wKioJlLD-LahvEIuAABpTFTT5lg117.jpg

安装完成后会在 system32 目录下生成两个文件:"MacFilterCallout.dll" "SetupDHCPMacFilter.rtf"

如图示:

wKioJlLD-jGwcpSGAACwKrE08SE065.jpg

wKioOVLD-iryb8NJAADfumRS9MQ872.jpg

同时,system32\dhcp 目下,生成文件 "MACList.txt":

wKioJlLD-rvDQz-oAADDsQ3-rTw738.jpg

打开MACList.txt 文件,可以看到如下图:

wKioOVLD-xHjFASKAAAvhvsq5Vo558.jpg

"MACList.txt"是主要文件,DHCP Server处理请求时就是从这个文件中读取数据,然后匹配。

这是默认配置,默认情况下,允许所有客户端从DHCP Server 请求IP地址。MAC_ACTION的

可选参数值: ALLOW,DENY,分别用来设置允许列表和拒绝列表。

进行“允许列表”配置测试:

1. 向“MACList.txt”添加一个虚假MAC(内网没有该MAC),然后重新启动DHCP Server服务,

然后测试客户端能否正常获取IP:

wKioJlLD_X7h8lbDAAAy4CNXtds163.jpg


查看DHCP Client:

wKioOVLD_XbA6BQJAADUPQkvZ2A442.jpg

IP地址获取失败,因为client MAC地址没有加入允许列表。

2. 将Client MAC 加入到允许列表并重启DHCP Server服务,然后测试客户端:

wKioJlLD_mWCsnP-AAA3K-WlVms234.jpg

查看查看DHCP Client:

wKioOVLD_oeSkY4WAADf0Y_SX5Y689.jpg

可见,IP地址成功获取,配置无误。

下面我们将DHCP服务器修改为拒绝列表方式测试。

进行“拒绝列表”配置测试:

1. 打开"MACList.txt" 文件,将"ALLOW"改为"DENY",重启DHCP Server服务:

wKioOVLD_5zQiVjhAAAuIGUDLFA129.jpg


查看客户端IP地址获取情况:

wKioJlLD_6SgUVIaAAD8s2HVQUk859.jpg

客户端正常获取IP。说明:不管是允许列表还是拒绝列表,如果列表不进行配置(为空),则默认为DHCP Server 接受所有客户端发来的DHCP 请求。


2. 将虚假MAC地址加入文件中:

wKioOVLD_5yB59-sAAAuNH08JDQ931.jpg

重启DHCP Server服务,查看客户端IP地址获取情况:

wKioJlLEALDgMisPAAEINvx2RZQ988.jpg

可见,客户端不受影响,正常获取IP地址。

3. 将客户端MAC地址加入文件中:

wKioOVLEAPXAI2C3AAAxX7QAvuI430.jpg

重启DHCP Server服务,查看客户端IP地址获取情况:

wKioJlLEAP2jXtkeAAD1eZJj-pY998.jpg

客户端不能从DHCP Server 获取IP地址了。

由此,我们可以顺利的控制内网客户端IP地址分配了,同时如果内网有主机需要固定IP,在DHCP控制台的对应作用域的"保留"中创建保留就可以了。


注意: 每次修改列表都需要重启DHCP Server服务,然后才能生效。


相关技术介绍: http://blogs.technet.com/b/teamdhcp/archive/2007/10/03/dhcp-server-callout-dll-for-mac-address-based-filtering.aspx





     本文转自marbury 51CTO博客,原文链接:http://blog.51cto.com/magic3/1347423,如需转载请自行联系原作者



相关文章
|
12月前
Mac下查看公网以及内网IP地址
Mac下查看公网以及内网IP地址
407 0
|
6月前
|
缓存 网络协议 网络架构
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
【计算机网络】第三章 数据链路层(MAC地址 IP地址 ARP协议)
112 1
|
3月前
|
域名解析 网络协议 虚拟化
|
15天前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
6月前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
241 1
|
2月前
|
缓存 网络协议 网络架构
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
本文详细介绍了如何使用网络抓包工具Wireshark进行网络抓包分析,包括以太网v2 MAC帧、IP数据报、ICMP报文和ARP报文的格式,以及不同网络通信的过程。文章通过抓包分析展示了IP数据报、ICMP数据报和ARP数据报的具体信息,包括MAC地址、IP地址、ICMP类型和代码、以及ARP的硬件类型、协议类型、操作类型等。通过这些分析,可以更好地理解网络协议的工作机制和数据传输过程。
网络抓包分析【IP,ICMP,ARP】以及 IP数据报,MAC帧,ICMP报和ARP报的数据报格式
IP和MAC的作用区别
【9月更文挑战第3天】IP 是地址,有定位功能;MAC 是身份证,无定位功能
|
5月前
|
弹性计算 Ubuntu Linux
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
为什么要学习去使用云服务器,外网 IP能干什么,MAC使用Termius连接阿里云服务器。保姆级教学
|
4月前
|
JavaScript 网络安全 iOS开发
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
如何用 Electron 打包chatgpt-plus.top并生成mac客户端
43 0
|
6月前
|
网络协议 Linux iOS开发