但就是有人很不受教, 電腦名稱老是取一些讓我無法辨認的字串, 每當看到這種電腦連上網路之後我就要大費周章的去找出這些電腦是哪些同事的, 一而再再而三讓我覺得很 dirty, 這麼 low 的事情卻佔掉我不少時間來處理, 棍!! 這真的是很氣人! 既然大家都不照遊戲規則來走那我就只好放大絕:直接在 DHCP Server 上擋掉這些機器, 不發 IP 給你們看你們怎麼連網!! 如果你也是有這方面困擾的網管人員的話不妨參考一下.
下載 MacFilterCallout.zip 至 M$ Windows DHCP Server 上並解開至某個目錄 (eg: C:\MacFilterCallout\) 存放.
在該目錄中建立一個新的空白純文字檔, 檔名可以自取 (eg: C:\MacFilterCallout\MAClist.txt), 這個檔案就是將來要用到的 Mac Address 清單.
打開登錄編輯程式 (regedit.exe) 並新增以下 registry key:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DHCPServer\Parameters\
Key Name | Key Type | 說明 |
CalloutDlls | REG_MULTI_SZ | 指出存放 MacFilterCallout.dll 的完整路徑. eg: C:\MacFilterCallout\MacFilterCallout.dll |
CalloutEnabled | DWORD | 0 = DHCP Server 不使用 MacFilterCallout 1 = DHCP Server 要使用 MacFilterCallout |
CalloutErrorLogFile | REG_MULTI_SZ | 指出將來要存放錯誤訊息的完整路徑. eg: C:\MacFilterCallout\Error.txt |
CalloutInfoLogFile | REG_MULTI_SZ | 指出將來要存放紀錄檔的完整路徑. eg: C:\MacFilterCallout\Log.txt |
CalloutMACAddressListFile | REG_MULTI_SZ | 指出存放 Mac Address 清單的完整路徑. eg: C:\MacFilterCallout\MAClist.txt |
接著就要編輯 MAC Address 清單 (eg: C:\MacFilterCallout\MAClist.txt), 這個檔案的第一行一定得是 MAC_ACTION = {
如果你的第一行是 MAC_ACTION = {
MAC_ACTION = {ALLOW} 109add613f10 000dea19bbca ...... |
如果你的第一行是 MAC_ACTION = {DENY} 那就代表你採用負面表列, 如:
MAC_ACTION = {DENY} 109add613f10 000dea19bbca ...... |
都設定無誤之後 restart DHCP service, 如果都沒有問題的話在事件檢視器中可看見一個 ID=1033 的訊息
之後每當 DHCP Server 接到來自 client 端的 request 之後都會先去檢查 MAC Address 清單, 並依照條件決定是否發放 IP 給 client 端.
蝌蚪是採用 DENY 的方式來管制, 一旦發現無法識別的機器就把他的 MAC Address 寫入清單中, 再在 DHCP Server 上把它 kick 掉, 他就永遠再也無法自這台 DHCP Server 取得 IP 連網, 進而達到管制 DHCP Server 停止發放 IP 給未知電腦的目的.
9 則回應:
那他是要帶珍奶來拜見你,才能再取得DHCP嗎?
您好,
請問一下,如果是透過無線AP上線的話,也是有效的嗎??
目前我使用 DENY 的方式來管制,但是該電腦如果透過無線AP上網的話,還是沒有辦法管制。
謝謝您的問覆。
另外有個問題,採用正向列表的話,第一行應該要設成 MAC_ACTION = {ALLOW} 才對吧!!
感謝大大的分享
有些受益
讚!
我也是想用deny的方式去阻擋,但是我第一步該怎麼取得無法辨識的mac來設定呢,若是有清單外的機器要去取得dhcp,會有哪邊記錄下他的mac嗎
張貼留言
歡迎留下您寶貴的意見, 但廣告以及無意義的夢囈會被砍哦~