Comment récupérer le nom de la machine qui envoie le bail dhcp ? - réseaux et sécurité - Linux et OS Alternatifs
Marsh Posté le 12-09-2014 à 12:57:07
Avec un code de ce style (fait à l'arraché, pas taper ) tu peux récupérer ce que tu veux ?
tcpdump -i eth0 -vvv -s 1500 '((port 67 or port 68))' | grep Server-ID | awk -F: '{ print $2 }' |
Marsh Posté le 14-09-2014 à 11:42:54
bardiel a écrit : Avec un code de ce style (fait à l'arraché, pas taper ) tu peux récupérer ce que tu veux ?
|
La solution de bardiel nécessite que tu es lancé cette commande avant d'avoir une addresse ip.
Sinon tu peux regarder les fichiers *.lease dans /var/lib/dhclient, tu as une option dhcp-server-identifier.
Marsh Posté le 14-09-2014 à 16:28:33
c'est pas forcément necessaire, lors du renouvellement du bail, ou du refresh ça remonte aussi mais bien sur c'est pas immédiat
la solution du fichier dans /var marche pour presque tout les cas mais pas tous.
Marsh Posté le 14-09-2014 à 17:05:30
De plus mon code "fonctionne" (enfin après débug) après que tu aies déjà ton IP.
ça ne fait qu'écouter ce qu'il y a sur le réseau et en déduire le nom du DHCP qui parle en permanence.
Marsh Posté le 15-09-2014 à 10:51:25
Bonjour,
L'option dhcp-server-identifier est l'adresse IP du serveur dhcp, qu'on reçoit lors de l'attribution du bail dhcp. Je sais la récupérer au moment de l'attribution du bail dhcp, mais je ne sais pas retrouver le nom du serveur avec son IP.
J'ai contourné mon problème en ajoutant une option dont je n'ai pas besoin sur le serveur dhcp, ce que j'aurai préféré éviter mais je ne trouve pas de solution simple : on peut transmettre le nom du serveur tftp, par défaut sur mon serveur dhcp, c'est le nom du serveur lui même (ce que je recherche) donc je récupère cette variable à l'attribution du bail dhcp et je corrige ma config hostapd si besoin et redémarre le service (si le SSID a changé).
Merci pour vos idées, si vous en avez d'autres je suis preneur, car ma solution fonctionne mais est bancale (configuration du serveur dhcp, option dhcp utilisée incorrectement, et un autre serveur dhcp ne prendra peut-être pas le nom du serveur par défaut donc config manuelle supplémentaire...)
Marsh Posté le 09-09-2014 à 14:17:22
Bonjour,
J'aimerai sous Raspbian pouvoir automatiquement mettre le SSID de mon point d'accès à la valeur du nom de la machine qui héberge le serveur dhcp.
Je pensais donc utiliser un script éxécuté pendant la demande de bail après que la configuration complète aie été envoyée, donc quand les script dhcp-client sont appelés pour la raison BOUND.
Jusque là tout va bien, sauf que quand je regarde ce qu'envoi le serveur dhcp sur le réseau, j'ai la trame suivante (tcpdump) :
On y voit nettement l'option Server-ID avec la valeur qui m'intéresse dhcp.mydomain.tld (ce qui normalement devrait être l'adresse ip du serveur, sauf que là j'ai bien son nom, mais pas entre " " ), mais impossible de la retrouver dans les variables.
La seule variable concernant le serveur dhcp que j'arrive à récupérer est $new_dhcp_server_identifier qui est l'adresse IP du serveur dhcp (ce qui serait bien si je savais récupérer le nom de la machine avec son IP...)
Savez-vous comment récupérer la valeur texte de l'option 54 Server ID ? ($new_server_id ne fonctionne pas)
Ce que je veux faire, c'est transformer un raspberry en point d'accès WIFI, avec un SSID qui prendrait automatiquement la valeur du nom de la machine qui aura attribuer la configuration réseau via dhcp au raspberry.
En gros, j'ai des machines avec un PC dont le nom est le numéro de série de la machine, sur le PC j'ai un serveur dhcp pour configurer tout ce qu'on peut être amené à connecté à la machine (imprimante wifi, ethernet; tablette, portable... etc)
La règle étant qu'une machine étant équipée du wifi, le SSID est son numéro de série ce qui évite les conflits et permet d'identifier la machine à laquelle on se connecte si plusieurs sont dans la même zone.
L'idée serait d'avoir le raspberry qui gère le point d'accès de façon automatique sans paramétrage, on le branche à une machine et hop, il reçoit son IP et démarre le wifi avec le bon SSID. Du coup tous les points d'accès sont identiques et la config est dynamique (mot de passe identique).
La machine avec serveur dhcp est un PC sous windows (xp ou seven)
Mon but actuellement est donc lorsque mon raspberry reçoit une adresse IP, de modifier la conf de hostapd pour modifier le SSID d'après le nom de la machine hébergeant le serveur DHCP.
Pour le moment je n'arrive qu'à récupérer son IP, l'idéal serait de pouvoir dans la requête dhcp récupérer son nom, alternativement de le récupérer après coup depuis son IP.
J'ai éventuellement la possibilité de créer une option sur mon serveur dhcp pour y mettre son nom, après, il faudrait que je la récupère dans les variables du script dhcpclient, mais si je peux le faire sans modifier le serveur dhcp, ce serait mieux.
Merci de votre aide.
Message édité par uncle buzz le 09-09-2014 à 14:19:09