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

9

J'ai connecté mon Raspberry Pi à un point d'accès sans fil et je souhaite exécuter un serveur DHCP sur le RPi pour attribuer correctement l'IP et la passerelle. En effet, le RPi sert de passerelle vers un VPN. Malheureusement, le point d'accès exécute également un serveur DHCP que je ne peux pas désactiver pour une raison quelconque. Quelle est la meilleure façon d'obtenir automatiquement les paramètres corrects de la propagation RPi à tous les utilisateurs wifi?

aubaine
la source

Réponses:

13

Question amusante. Fondamentalement, si vous avez deux serveurs DHCP sur le même LAN, il y aura une course pour distribuer les adresses et vous ne pouvez pas être sûr de qui gagne: vous pouvez vous retrouver avec certaines adresses servies par la framboise, certaines par l'AP et un un seul appareil, une fois déconnecté, ne récupère pas la même adresse qu'auparavant. 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 dont ils tirent les adresses ne se chevauchent pas : vous pouvez avoir 192.168.1.11-74 pour l'un, 192.168.1.139-202 pour l'autre. Au moins, cela empêche les conflits.

  2. Nous empêchons maintenant l'AP de servir des adresses IP aux clients câblés. Supposons que l'AP soit branché sur la framboise sur eth1 , alors la commande suivante fera 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 requêtes DHCP des clients câblés d'atteindre le serveur DHCP sur l'AP; les clients câblés ne seront servis que par la framboise.

Deuxièmement, vous devez brancher l'AP directement sur 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 vers Ethernet, et votre framboise aura une deuxième carte Ethernet). La raison en est que si vous branchez l'AP dans un commutateur, les demandes et les réponses DHCP atteindront / proviendront de l'AP, sans passer par la framboise, ainsi la commande iptables sera tout simplement inutile.

ÉDITER:

J'ai oublié de dire que la règle iptables ci-dessus empêche également les demandes DHCP de circuler de l'AP vers la framboise, de sorte que la situation que vous avez maintenant 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é.

MariusMatutiae
la source
Merci! Mais cela signifie que je ne peux rien faire concernant les clients connectés via wifi à l'AP, non?
bonanza
2
@bonanza Peur donc: tout le trafic des clients sans fil vers Ap ne passe jamais par la framboise, ni demandes ni réponses. Il n'y a donc aucun moyen de le bloquer: tout se passe à l'intérieur de l'AP.
MariusMatutiae