2009-07-03 9 views
1

En utilisant Hyper-V, j'ai construit un domaine Windows privé qui est clôturé à partir de notre réseau principal. En fin de compte, je veux provisionner ce domaine pour les autres à utiliser pour le développement et le test, afin qu'ils puissent être administrateur de domaine.Détection de serveurs DHCP distants dans .NET

Le contrôleur de domaine exécute le service dhcp (les autres systèmes de mon domaine ont des dépendances sur dhcp). Le problème est que, si un idiot (c'est-à-dire moi) connecte accidentellement le contrôleur de domaine au réseau principal, il répondra aux requêtes dhcp (c'est une supposition) et distribuera des configurations ip invalides. Donc, je voudrais écrire un service Windows .NET qui démarre le service dhcp local seulement quand aucun autre serveur dhcp n'est disponible. Idéalement, cela permettrait de vérifier périodiquement en arrière-plan, donc si vous changez votre config réseau virtuel pendant que la machine fonctionne, dhcp peut être arrêté automatiquement et les dommages potentiels sont limités.

Je suis un peu bloqué sur la façon de détecter les serveurs dhcp distants. Jusqu'à présent, j'ai envisagé d'écrire un wrapper pour l'outil de ligne de commande dhcploc, mais y a-t-il une alternative meilleure/plus simple qui permettrait d'atteindre l'objectif? Y at-il des mises en garde dont je devrais être au courant?

Merci

+1

Je pense que si vous posez la question sur serverfault.com, vous pourriez obtenir une solution qui n'implique pas de programmation. Il suffit de demander quoi faire quand vous avez deux serveurs dhcp sur le même réseau. –

Répondre

1

Comme suggéré par Shay Erlichmen j'ai posté la question sur la panne de serveur here. Il s'avère que vous pouvez spécifier que le serveur DHCP attribue uniquement des adresses IP aux adresses MAC connues. Étant donné que mes machines virtuelles (peuvent) ont toutes des adresses MAC connues, je peux l'utiliser pour verrouiller le serveur DHCP du domaine privé.

0

Quelqu'un a écrit un C# network sniffer vous pourriez adapter à vos besoins, mais cela semble trop compliqué. Il n'y a pas de support DHCP intégré dans le framework, il n'y a donc pas de méthode simple que vous pouvez appeler. Je pense que pour vos objectifs, il vaut probablement mieux que d'envelopper l'outil de ligne de commande comme vous le dites.

+0

Merci, j'ai également trouvé this serveur dhcp minuscule sur codeproject - probablement une référence utile si j'essaie d'intercepter les paquets dhcp. –

Questions connexes