2009-07-03 56 views
1

使用Hyper-V我構建了一個專用的Windows域,它被隔離在我們的主網絡之外。最終,我想爲其他人提供此域以用於開發和測試,因此它們可以是域管理員。在.NET中檢測遠程DHCP服務器

域控制器正在運行dhcp服務(我域中的其他系統對dhcp有依賴關係)。問題是,如果一些白癡(即我)意外地將域控制器連接到主網絡,它將響應DHCP請求(這是一個假設)併發出無效的IP配置。

因此,我想編寫一個.NET Windows服務,只有當沒有其他DHCP服務器可用時才啓動本地DHCP服務。理想情況下,這將能夠在後臺定期檢查,所以如果在機器運行時更​​改虛擬網絡配置,則可以自動停止dhcp,並且可能造成的損害是有限的。

我有點卡在如何檢測遠程DHCP服務器。到目前爲止,我已經考慮爲dhcploc命令行工具編寫一個封裝器,但是是否有更好/更簡單的替代方案來實現目標?我應該注意哪些警告?

感謝

+1

我認爲,如果你在serverfault.com上提出問題,你可以得到一些不涉及編程的解決方案。只需要詢問在同一網絡中有兩臺DHCP服務器時該做什麼。 – 2009-07-03 22:34:17

回答

1

正如Shay Erlichmen所建議的,我在服務器故障here上發佈了這個問題。事實證明,您可以指定DHCP服務器僅將IP地址分配給已知的MAC。鑑於我的虛擬機(可以)都具有已知的MAC,我可以使用它來鎖定專用域DHCP服務器。

0

有人寫了一C# network sniffer你能適應你的目的,但是這似乎過於複雜。框架中沒有內置的DHCP支持,所以沒有簡單的方法可以調用。我認爲出於你的目的,你可能最好只是堅持用你所說的包裝命令行工具。

+0

謝謝,我還發現this codeproject上的小型DHCP服務器 - 如果我試圖攔截DHCP數據包可能是一個有用的參考。 – 2009-07-03 12:37:11