Plug & Play für Netzwerke mit und ohne DHCP-Server

377
Kenji

Ich habe ein Gerät, das in zwei verschiedenen Szenarien verwendet werden kann.

  1. Zum einen ist es an ein gewöhnliches Ethernet-LAN-Firmennetzwerk angeschlossen. Dieses Netzwerk verfügt über einen DHCP-Server und es wird erwartet, dass das Gerät ein DHCP-Client ist und automatisch eine IP-Adresse erhält.

  2. Das zweite Szenario ist, dass das Gerät über ein Ethernet-LAN-Kabel direkt an einen PC / Laptop angeschlossen wird. In diesem Fall wird erwartet, dass das Gerät seine eigene IP wählt und dem PC / Laptop auch eine IP gibt. In diesem Fall muss das Gerät die Rolle eines DHCP-Servers übernehmen.

Sie sehen wahrscheinlich schon, wohin das führt. Ich möchte nicht, dass der Benutzer des Geräts irgendetwas konfigurieren muss. Sie sollten es einfach einstecken können und es funktioniert für sie. Nun ist das Problem, zuverlässig, herauszufinden, ob es einen anderen DHCP - Server in Ihrem Netzwerk ist hart . Ja, ich kann DHCP-Anfragen machen und so weiter. Ich finde den Server zu 99% der Zeit. Aber diesmal, wenn ich es nicht finde (z. B. aufgrund von Paketverlust oder langen Paketlaufzeiten), wird mein Gerät, wenn es zu einem DHCP-Server wird, zum Vergiften des gesamten Unternehmensnetzwerks, indem IP-Adressen im falschen Bereich ausgegeben werden. Wie kann ich dieses Problem lösen? Gibt es Protokolle oder Sicherheitsmaßnahmen, durch die sichergestellt werden kann, dass sie das Unternehmensnetzwerk nicht beeinträchtigen?

Mein Gerät ist ein Client-Gerät, das einen Dienst anbietet, ähnlich wie ein Drucker. Es läuft OpenWRT. Ich kompiliere es selbst und kontrolliere alle Konfigurationsdateien. Die Benutzer führen normalerweise Windows 7, 8 oder 10 aus. Wie kann ich APIPA unter OpenWRT aktivieren? Oder kann ich AVAHI aktivieren und ist das mit der APIPA von Windows kompatibel?

0
Herzlich Willkommen bei Super User! Wir freuen uns immer über die Beiträge unserer Community-Mitglieder, aber bitte senden Sie keine Vorschläge als Antwort. Wenn die Frage tatsächlich beantwortet wird, senden Sie eine entsprechende Antwort. Informationen zu diesem Szenario finden Sie in den folgenden Stack Exchange-Anleitungen: [Warum brauche ich einen guten Ruf, um einen Kommentar abzugeben? Was kann ich stattdessen tun?] (Https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead) Vielen Dank Eure Hilfe! Run5k vor 5 Jahren 1
Das Problem besteht nicht darin, Verbindungen herzustellen, bei denen es keinen DHCP-Server gibt. In solchen Fällen werden die über das Netzwerk angebotenen Dienste erkannt. Die DHCP- und DNS-Server in Netzwerken kündigen auch die verfügbaren Dienste an. Wenn Sie wissen, WAS Sie über solche Netzwerke kommunizieren möchten, ist es hilfreich, eine Lösung zu finden. music2myear vor 5 Jahren 0
Möglicherweise können Sie den internen DHCP-Server auf dem Gerät so ändern, dass er nur auf Anfragen von der _ ** first ** _ Mac-Adresse reagiert, die er hört (und nur dann, wenn er keinen anderen aktiven DHCP-Server erkennt). Joel Coehoorn vor 5 Jahren 0
für 2. Ist der PC / Laptop ein bestimmtes Gerät oder ist ein Standort? cybernard vor 5 Jahren 0
@cybernard Es ist ein beliebiger Ort. Stellen Sie sich vor, es ist so etwas wie ein Drucker. Stecken Sie es in ein Firmennetzwerk, stecken Sie es überall und jederzeit in einen PC. Es sollte Plug & Play sein. Kenji vor 5 Jahren 0

2 Antworten auf die Frage

0
music2myear

Dies ist bereits in die meisten IP-Clients integriert und wird als APIPA (Automatic Private IP Addressing) bezeichnet.

Wenn Geräte eine Verbindung zu einem LAN herstellen, in dem es keinen DHCP-Server gibt, unterhalten sie sich untereinander und entscheiden über die APIPA-Adressen. Diese werden in der Regel leicht erkannt, da sie mit 169.254 beginnen und oft darauf hinweisen, dass kein LAN-Management oder Internetzugang verfügbar ist.

Sie bedeuten auch, wenn Sie wissen, dass Sie mit einem Netzwerk verbunden sind, dass Sie die APIPA-Adressen der anderen Geräte im Netzwerk finden und mit deren Adressen kommunizieren können.

Danke, diese Antwort hat mir sehr geholfen! Gibt es eine Möglichkeit, APIPA auf einem Gerät zu verwenden, auf dem OpenWRT ausgeführt wird? Während meine Windows-Computer zu 169.254.xx wechseln, wird auf meinem Gerät OpenWRT ausgeführt, das einfach auf 0.0.0.0 bleibt, wenn der DHCP-Client keine Adresse erhalten kann, und ich kann APIPA weder über uci noch über die Befehlszeile aktivieren. Kenji vor 5 Jahren 0
APIPA ist auf Clientgeräten sinnvoller als auf Routern und Modems. Daher würde ich vermuten, dass Ihr OpenWRT-Gerät APIPA standardmäßig nicht oder überhaupt nicht ausführt. Das Beste für Ihr Netzwerkgerät wäre, es mit einer statischen IP-Adresse einzurichten. music2myear vor 5 Jahren 0
Nun, ich stimme dir zu, aber die Sache ist: Mein Gerät * ist * ein Client-Gerät. Im Inneren befindet sich eine kleine OpenWRT-Karte, die ein wenig wechselt und einen WLAN-Zugangspunkt enthält. Es handelt sich jedoch nicht um einen Router oder ein Modem. Sie können es sich wie einen Drucker vorstellen, der im Wesentlichen einen Dienst anbietet, und der Benutzer kann den Drucker entweder direkt an seinen PC / Laptop oder an sein Heim- / Firmennetzwerk anschließen. Kenji vor 5 Jahren 0
Möglicherweise verwenden Sie das Gerät als "Client" -Gerät. Wenn Sie jedoch die OpenWRT-Controller / -Software verwenden, bedeutet dies, dass der Standardnetzwerkstatus des Geräts wahrscheinlich nicht die gewünschte Funktion enthält. Ich gehe davon aus, dass es möglich ist, OpenWRT zu konfigurieren oder zu ändern, um APIPA zu handhaben, wenn DHCP ausfällt oder nicht vorhanden ist. Ich möchte mit OpenWRT und APIPA recherchieren und Ihre Frage ändern, um sie auf das, was Sie hier gelernt haben, näher zu fokussieren. music2myear vor 5 Jahren 0
Ja, ich weiß, dass es keine Standardfunktion ist. Ich kompiliere OpenWRT selbst und kontrolliere alle Konfigurationsdateien, damit ich jede gewünschte Konfiguration auswählen kann. Ich werde meine Frage ändern, um diese Details zu berücksichtigen. Kenji vor 5 Jahren 0
Ich werde das als Lösung bezeichnen, danke. Ich habe noch nicht ganz herausgefunden, wie es geht, aber der private Adressbereich ist der Weg nach vorne. Kenji vor 5 Jahren 0
0
cybernard

Auf dem Router

iptables -I INPUT 1 -i eth0 -p udp -m mac ! --mac-source XX:XX:XX:XX:XX:XX -j DROP 

Ändern Sie eth0 in Ihre NIC.

Ändern Sie die MAC-Adresse.

Die ! bedeutet NICHT. Dadurch wird eine weiße Liste erstellt, mit wem Ihr DHCP-Server sprechen soll. Bei Bedarf können Sie die Sport- und / oder Dport- Optionen hinzufügen .

Schalten Sie Ihren DHCP-Server ein.

Und woher weiß ich, was ich auf die Whitelist setzen soll? Mein Gerät kann an ein beliebiges Firmennetzwerk angeschlossen werden, genau wie ein Drucker (es handelt sich nicht um einen Router oder ein Modem). Ich * muss * sicherstellen, dass ich keinen DHCP-Server starte, wenn sich bereits einer im Netzwerk befindet, selbst wenn es sich um einen langsamen oder manchmal nicht erreichbaren DHCP-Server handelt. Kenji vor 5 Jahren 0