3 votes

Comment générer un scénario de déclin DHCP / paquets

J'ai un renifleur de paquets dhcp, qui doit enregistrer s'il voit déclin dhcp J'ai besoin de connaître le scénario dans lequel le client peut envoyer une réponse de refus dhcp au serveur dhcp. J'ai essayé de reproduire ce scénario en réduisant au minimum la plage d'adresses IP du serveur dhcps et en allouant des adresses IP statiques en double à un client appelé client_A et en exécutant dhclient sur le client_B. Mais le client_B accepte l'adresse IP en double (l'adresse IP qui est déjà celle du client_A), au lieu d'envoyer une réponse de refus dhcp.

Est-ce un moyen meilleur et garanti de reproduire le scénario de déclin de dhcp. Les clients que j'utilise sont ubuntu et pour le serveur dhcp, plusieurs options sont disponibles comme vyos/microsoft.

Merci et avancez ! !

0 votes

La plupart des serveurs DHCP enregistrent déjà les réponses de refus.

0 votes

J'ai une application sniffer séparée, qui recherche les requêtes dhcp.

1voto

leftcase Points 710

Il semble que ce soit possible, mais cela va nécessiter un peu de bricolage...

Comme vous l'avez suggéré dans les commentaires, dhclient ne valide pas les réponses du serveur DHCP pour les adresses de routeur. J'ai donc consulté les documents et découvert quel type de situation pouvait amener dhclient à envoyer un DHCPDECLINE.

Dhclient Les documents montrent que dhclient-script est appelé lorsqu'un bail est émis :

...configuration du réseau script invoqué par dhclient quand il obtient un bail. Si non spécifié, le CLIENTBINDIR/dhclient-script par défaut est utilisé. utilisé. Voir dhclient-script(8)pour une description de ce fichier.

http://manpages.ubuntu.com/manpages/wily/en/man8/dhclient.8.html

Dhclient-script Les docs montrent qu'avant de configurer l'adresse offerte par le serveur DHCP, dhclient-script ARPs pour elle et soulève un DHCPDECLINE si l'adresse existe déjà.

Avant de configurer réellement l'adresse, dhclient-script devrait d'une certaine manière ARP pour elle et sortir avec un statut non nul s'il reçoit une réponse. Dans ce cas, le client envoie un message DHCPDECLINE au serveur et acquiert une autre adresse. serveur et acquiert une autre adresse.

http://manpages.ubuntu.com/manpages/wily/en/man8/dhclient-script.8.html

Je n'ai pas de copie d'Ubuntu à regarder pour le moment (vérifiez votre /etc/dhclient-script), mais le code source de l'application Linux dhclient-script peuvent être trouvés ici http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/wily/isc-dhcp/wily/view/head:/client/scripts/linux

Je pense (mais je ne peux malheureusement pas le tester) que vous pourriez sauvegarder votre dhclient-script existant et modifier cette section

 Must be used on exit.   Invokes the local dhcp client exit hooks, if any.
exit_with_hooks() {
  exit_status=$1
  if [ -f /etc/dhclient-exit-hooks ]; then
    . /etc/dhclient-exit-hooks
  fi
# probably should do something with exit status of the local script
  exit $exit_status
}

Je pense que changer exit $exit_status à exit 1 entraînerait le refus de tout bail DHCP...

Essayez-le. S'il fonctionne comme je pense qu'il le devrait, il cassera complètement le client DHCP mais devrait générer un DHCPDECLINE à chaque fois que vous exécutez le programme. dhclient .

0 votes

J'ai essayé d'éditer dhclient-script, mais sans succès !Je me demandais s'il y avait un moyen de ne pas éditer le code source de n'importe quel client/serveur.

0 votes

Désolé - c'est ma faute. Essayez un statut de sortie non nul (c'est-à-dire 1). (Je ne suis pas sûr de ce qui déclenche un DHCPDECLINE, et je n'ai malheureusement pas de système Linux sous les yeux pour le tester.

0 votes

Malheureusement, je ne vois pas comment modifier cela sans éditer le code source. Consultez la documentation - la seule façon pour le client DHCP par défaut de refuser d'accepter une offre DHCP est lorsqu'une vérification ARP montre que l'adresse IP a déjà été émise...

0voto

Nir Points 1

A partir de n'importe quel générateur de trafic, créer un message ethernet IPv4-DHCP de type 53 avec 04 pour Decline et 06 bytes pour NAK.

1 votes

Ce n'était pas la question, l'ouvreur a demandé, QUELLE est la raison et non pas comment générer de tels messages - veuillez améliorer votre réponse

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X