Je possède un Pi avec 2 interfaces sans fil, l’une est connectée à la passerelle des réseaux, l’autre sert de point d’accès grâce à hostapd .
L'AP n'exécute aucun logiciel DHCP ou NAT, il exécute simplement hostapt pour permettre à plusieurs périphériques de s'y connecter.
J'essaie de connecter mon ordinateur portable à ce point d'accès.
En utilisant une adresse IP statique et en entrant manuellement une adresse de passerelle, DNS, etc., cela fonctionne parfaitement.
Cependant, lorsque j'essaie de me connecter à l'aide de DHCP, cela ne fonctionne pas. D'après Wharshark, je peux voir que le paquet DHCP Discover initial est envoyé au point d'accès lors de la tentative de connexion. Cependant, ce paquet n'est alors pas transféré hors de l'interface connectée à la passerelle malgré le fait que j'ai un logiciel de pontage que j'ai écrit en python fonctionnant sur le Pi.
Le logiciel envoie simplement les paquets sur l’interface opposée sur laquelle ils ont été reçus (simplification excessive de son fonctionnement, mais c’est le principe général pour ce scénario, c’est un pont réseau). Donc, l'interface AP doit recevoir le paquet DHCP et le transférer sur la passerelle, qui devrait répondre avec l'offre DHCP, etc.
Le logiciel fonctionne car je peux voir d'autres messages DHCP informer sur mon ordinateur portable qui sont passés par le logiciel de pontage, ainsi que d'autres découvertes / offres / demandes / demandes d'accès DHCP que le logiciel de pontage envoie à mon ordinateur portable pour le moment en raison de leur émissions.
Je me demande si la raison pour laquelle ces paquets DHCP Discover ne sont pas transférés sur la passerelle est due à un paramètre ou à une fonctionnalité du point d'accès hostapd?
Je suis convaincu que le problème ne réside pas dans le code que j'ai écrit car il fonctionne parfaitement pour DNS et autres.
De plus, si je crée manuellement un paquet de découverte DHCP, il est transféré et émis par l’interface connectée à la passerelle sans aucun problème. Les paquets DHCP ne sont pas transmis quand ils sont envoyés automatiquement par mon ordinateur portable qui tente d’obtenir une adresse IP. depuis le point d'accès auquel il tente de se connecter.
Je suppose que le point d'accès n'a pas besoin de fournir l'adresse IP directement, mais peut contacter le serveur DHCP réel sur le réseau pour en attribuer une correctement.
Si quelqu'un a la moindre idée de la raison pour laquelle le paquet semble être absorbé par le point d'accès avant de pouvoir être transmis à l'autre interface, veuillez me le faire savoir!