Ausführen von zwei DHCP-Servern im selben Netzwerk

9

Ich habe meinen Himbeer-Pi mit einem drahtlosen Zugangspunkt verbunden und möchte einen DHCP-Server auf dem RPi ausführen, um die IP und das Gateway korrekt zuzuweisen. Dies liegt daran, dass das RPi als Gateway zu einem VPN dient. Leider läuft auf dem Access Point auch ein DHCP-Server, den ich aus irgendeinem Grund nicht deaktivieren kann. Was ist der beste Weg, um automatisch die richtigen Einstellungen aus dem RPi-Spread für alle WLAN-Benutzer zu erhalten?

Goldgrube
quelle

Antworten:

13

Lustige Frage. Wenn Sie zwei DHCP-Server im selben LAN haben, wird es im Grunde genommen ein Rennen geben, um Adressen auszuteilen, und Sie können nicht sicher sein, wer gewinnt: Möglicherweise erhalten Sie einige Adressen, die von der Himbeere, einige vom AP und a bereitgestellt werden Einmal getrenntes Gerät, das nicht die gleiche Adresse wie zuvor erhält. Schlimmer noch, Sie haben möglicherweise zwei Geräte mit derselben Adresse.

Es ist also eine gute Idee, einen der beiden zu blockieren. Am einfachsten ist Folgendes:

  1. Stellen Sie zunächst sicher, dass sich die Bereiche, aus denen Adressen gezogen werden , nicht überschneiden : Möglicherweise haben Sie 192.168.1.11-74 für einen, 192.168.1.139-202 für den anderen. Dies verhindert zumindest Konflikte.

  2. Wir verhindern jetzt, dass der AP IP-Adressen an verkabelte Clients weiterleitet. Angenommen, der AP ist auf eth1 an die Himbeere angeschlossen , dann reicht der folgende Befehl aus:

    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  
    

Wir sind fertig. Zwei Kommentare:

DHCP verwendet die Ports 67 und 68 für das Protokoll UDP. Indem Sie die Kommunikation auf diesen blockieren, verhindern Sie, dass DHCP-Anforderungen von verkabelten Clients den DHCP-Server auf dem AP erreichen. Daher werden verkabelte Clients nur von der Himbeere bedient.

Zweitens Sie müssen die AP - Stecker direkt in die Himbeere (ich weiß , das Himbeere nur einen Ethernet - Anschluss hat, der bereits verwendet wird: Sie einen USB-to-Ethernet - Adapter kaufen, und Ihre Himbeere wird eine zweite Ethernet - Karte haben). Der Grund dafür ist, dass, wenn Sie den AP an einen Switch anschließen, DHCP-Anforderungen und -Antworten vom AP eingehen / kommen, ohne die Himbeere zu passieren, sodass der Befehl iptables einfach unbrauchbar ist.

BEARBEITEN:

Ich habe vergessen zu sagen, dass die obige iptables-Regel auch verhindert, dass DHCP-Anforderungen vom AP an die Himbeere fließen, so dass Sie jetzt die Situation haben, dass die Himbeere DHCP-Adressen im Bereich 192.168.1.0xx an verkabelte Clients weitergibt Adressen im Bereich 192.168.1.1xx werden vom AP an WLAN-Clients vergeben. Zumindest ist das ordentlich.

MariusMatutiae
quelle
Vielen Dank! Aber das bedeutet, dass ich nichts über die Clients wissen kann, die über WLAN mit dem AP verbunden sind, oder?
Bonanza
2
@bonanza Angst, dass der gesamte Datenverkehr von drahtlosen Clients zu Ap niemals über die Himbeere geleitet wird, weder Anfragen noch Antworten. Es gibt also keine Möglichkeit, es zu blockieren: Alles findet im AP statt.
Marius Matutiae