web-dev-qa-db-fra.com

Exécution de deux serveurs DHCP sur le même réseau

J'ai connecté mon Raspberry Pi à un point d'accès sans fil et j'aimerais utiliser un serveur DHCP sur le RPi pour attribuer correctement l'adresse IP et la passerelle. En effet, le RPi sert de passerelle vers un VPN. Malheureusement, le point d'accès utilise également un serveur DHCP que je ne peux pas désactiver pour une raison quelconque. Quel est le meilleur moyen d'obtenir automatiquement les paramètres corrects du RPi propagé pour tous les utilisateurs du wifi?

9
bonanza

Question amusante. Fondamentalement, si vous avez deux serveurs DHCP sur le même réseau local, il y aura une course pour distribuer les adresses, et vous ne pouvez pas savoir qui gagne: vous risquez de vous retrouver avec certaines adresses servies par le framboisier, certaines par le PA et un seul périphérique, une fois déconnecté, ne pas obtenir la même adresse qu'avant. Ou pire, vous pourriez avoir deux appareils avec la même adresse.

C'est donc une bonne idée de bloquer l'un des deux. La chose la plus simple est la suivante:

  1. Tout d’abord, assurez-vous que les plages à partir desquelles ils tirent les adresses ne se chevauchent pas: vous pourriez avoir 192.168.1.11-74 pour l’un, 192.168.1.139-202 pour l’autre. Au moins, cela évite les conflits.

  2. Nous empêchons maintenant le point d'accès de fournir des adresses IP à des clients câblés. Supposons que le point d'accès soit connecté à la framboise sur eth1 , la commande suivante fera alors l'affaire:

    Sudo iptables  -A INPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP
    Sudo iptables  -A OUTPUT -i eth1 -p udp --dport 67:68 --sport 67:68 -j DROP  
    

Nous avons fini. Deux commentaires:

DHCP utilise les ports 67 et 68, sur le protocole UDP; en bloquant la communication sur ces derniers, vous empêchez les demandes DHCP des clients câblés d'atteindre le serveur DHCP sur le AP; ainsi, les clients connectés ne seront servis que par la framboise.

Deuxièmement, vous devez brancher le point d'accès directement dans la framboise (je sais que la framboise n'a qu'un seul port Ethernet, qui est déjà utilisé: vous pouvez acheter un adaptateur USB-Ethernet, et votre framboise aura une seconde carte ethernet). La raison en est que si vous connectez le point d'accès à un commutateur, les demandes et les réponses DHCP parviendront à/proviendront du point d'accès, sans passer par la framboise, ainsi les iptables commande sera tout simplement inutile.

MODIFIER:

J'ai oublié de dire que la règle iptables ci-dessus empêche également les requêtes DHCP de passer de l'AP à la framboise, de sorte que la situation actuelle est que l'adresse DHCP dans la plage 192.168.1.0xx est donnée par la framboise aux clients câblés, tandis que les adresses dans la plage 192.168.1.1xx sont données par l’AP aux clients wifi. Au moins, c'est ordonné.

13
MariusMatutiae