故事背景:
    作为一个网络管理员,站在公司立场其实并不应该开放 DHCP 给任何一台计算机自由连上公司网络, 但因为环境需要又不得不架设 DHCP 给一些临时的测试机来使用, 所以只好设定在每台计算机名称至少要包含自己的名字足以提供网管辨认这样的制度。

    但就是有人很不受教, 计算机名称老是取一些让我无法辨认的字符串, 或者在上班时间直接用手机连接公司网络,每当看到这种情况我就要大费周章的去找出这些计算机或不明设备是哪些同事的, 一而再 再而三让我觉得很火, 这么低级的事情却占掉我不少时间来处理, 棍!! 这真的是很气人! 我脑海里就在想既然大家都不照游戏规则来走那我就只好做绝了:直接在DHCP Server 上挡掉这些机器, 不发 IP 给你们看你们怎么连网!! 

    然后经过多翻周折,上网查阅多方面资料,发现只要安装一个小插件就可以轻松解决此问题,特此将此好方法分享给兄弟姐们妹,让我们在管理网络的时候显得格外轻松。

解决方法:
1,下载 MacFilterCallout.zip解压并找到对应版本安装,分别有32位和64位版本,安装完在 C:\Windows\System32 目录下会有一个 MacFilterCallout.dll 的文件。
 

2,然后找到 C:\Windows\System32\dhcp\MACList.txt 文件,打开并编辑内容,这个档案的第一行一定得是 MAC_ACTION = {ALLOW} 或是 AC_ACTION = {DENY}, 第二行开始就是 MAC Address, 每行一个, 英文字请用小写字母;切记,一定要是连续的哦,把中间的分隔符去掉,不然不会成功的。 
 
说明
如果你的第一行是 MAC_ACTION = {ALLOW} 那就代表你采 用正面列表, 如:
MAC_ACTION = {ALLOW}
109add613f10
000dea19bbca
......
那就代表只有 109add613f10 和 000dea19bbca 这两台计算机可以自 DHCP Server 取得 IP 连网, 其他的任何计算机都无法自 DHCP Server 取得 IP.

如果你的第一行是 MAC_ACTION = {DENY} 那就代表你采用负面列表,
如:
MAC_ACTION = {DENY}
109add613f10
000dea19bbca
......
那就代表 109add613f10 和 000dea19bbca 这两台计算机无法自 DHCP Server 取得 IP 连网, 其他任何不在列表上的计算机都可以取得 IP.

3,内容设定无误之后,如果都没有问题的话在事件查看器的系统日志中可看见一个来源于DhcpServer  事件ID=1033 的讯息  
 
4,设置完成后,进入到 计算机管理--服务和应用程序--服务,找到DHCP Client 和DHCP Server 服务重新启动,之后每当 DHCP Server 接到来自 client 端的 request 之后都会先去检查MAC Address 清单, 并依照条件决定是否发放 IP 给 client 端。
 
5,我这里使用的是正面列表,现在我们来测试一下DHCP限制是否成功,先用有限权获取IP的计算机来向DHCP服务器获取地址,

OK,可以正常获取IP地址了。在服务器上也可以看到客户端了 
 
6,现在我们再来测试一下使用没有经过授权的计算机来获取IP地址,
 
未经过授权的计算机不能向DHCP服务器获得IP地址。

小结:
       经过以上两台计算机的实验测试证明,只有经过MAC允许的计算机才能够从服务上获取到IP地址,相反,如果你是设定了负面列表,侧指定的列表是无法通过DHCP服务器获得IP地址的,此文章主要用来限制于手机用户使用无钱连接公司网络上网之用。