Erhalten und reservieren Sie eine verfügbare IP-Adresse von einem DHCP-Server für meine IP-Kamera

0

Ich habe eine ac # Desktop App.

Ich habe eine IP-Kamera und möchte ihr eine statische IP-Adresse zuweisen. Ich muss in der Lage sein, eine "freie / verfügbare" IP-Adresse von meinem DHCP-Server zu erhalten, diese zu reservieren und meiner IP-Kamera zuzuweisen. Ich kann meiner Kamera die IP-Adresse einfach genug zuweisen. Aber wie erhalte ich eine verfügbare IP-Adresse und reserviere sie, bevor sie einem anderen Gerät zugewiesen wird, das an mein Netzwerk angeschlossen ist?

Ich habe API-Aufrufe gesehen, um Client-IP-Adressen zu erhalten, sehe aber nicht, ob ich sie für das verwenden kann, was ich will.

Ich könnte jede IP-Adresse im Subnetz pingen, um herauszufinden, ob eine Adresse verfügbar ist, aber das scheint ineffizient zu sein, da ich auf eine Unterbrechung des Pingens dieser Adresse warten würde. Außerdem würde es es nicht "reservieren".

Ich hoffe, ich mache das klar?

NB. Ich möchte meiner IP-Kamera eine statische IP-Adresse zuweisen. Ich habe die SDK, um das zu tun. Es ist nur so, dass ich eine freie IP-Adresse zuweisen muss, die sich im selben Subnetz befindet

Andrew Simpson
quelle
4
Konfigurieren Sie einfach den DHCP-Server. Was hat deine "c # desktop app" oder dein sdk mit irgendetwas zu tun?
Michael Hampton
2
Stimmen Sie den Antworten hier bereits zu, aber um ein bisschen hilfreicher zu sein, schlage ich vor, dass Sie Ihren DHCP-Bereich so anpassen, dass Sie einen Adressblock für Ihr Subnetz statisch zuweisen können. Beispiel: Stellen Sie für das angegebene Netzwerk 192.168.1.0/24 DHCP so ein, dass nur .100-.254 für den Pool verwendet wird, und Sie können .1-.99 statisch zuweisen. (Und ja, .1 ist wahrscheinlich schon das Tor.)
Aaron Copley
Ich denke, was Sie brauchen, ist die Kamera, um Ihnen zu sagen, was die IP-Adresse ist, die sie von DHCP erhalten hat, anstatt dass Ihre C # -App versucht, sie zuzuweisen. Andernfalls sollten Sie Ihre c # -App so einrichten, dass sie der Kamera eine IP-Adresse zuweist. Was auch immer der Benutzer eingibt, können Sie mit einem Ping prüfen, ob die IP-Adresse möglicherweise bereits vergeben ist. In keinem Fall sollten Sie statische IPs im dynamischen Bereich zuweisen. Übrigens, Ihre Frage ist für Serverfehler nicht relevant.
Matt H
@MichaelHampton HI, danke für deinen Kommentar. Mein Ziel ist es, dass meine Software die Kamera immer findet. Wenn ich weiß, welche IP-Adresse es ist, dann kann ich es "entdecken". Ich weiß, ich könnte uPnP verwenden, aber ich wollte diese andere Option erkunden. Vielen Dank
Andrew Simpson
@MattH Hi, ja, das ist, was ich gerade mache, aber ich wollte versuchen, den Benutzer davon abzuhalten, die IP-Adresse einzugeben, da sie möglicherweise nicht mit dieser vertraut ist
Andrew Simpson

Antworten:

3

Sie können vom DHCP-Server keine "freie / verfügbare" Adressliste abrufen. Sie müssen lediglich über kein Protokoll informiert werden. Es kann Ihnen eine IP aus seinem Pool geben.

Darf ich vorschlagen, zu den Roots zu gehen und zumindest einen Überblick über DHCP zu erhalten?

Das Beste, was Sie tun können, ist, eine statische DHCP-Reservierung über Ihre DHCP-Serverkonfiguration festzulegen, sodass Ihre Kamera jedes Mal, wenn Sie nach einer IP-Adresse gefragt werden, dieselbe IP-Adresse erhält und diese dann in Ihrer App festlegt.

Ich empfehle Ihnen auch einen "statischen Reservierungsbereich" innerhalb Ihres DHCP-Bereichs. Angenommen, DHCP funktioniert mit 192.168.100.0 ... 255 IPs. Machen Sie es sich zu einer guten Gewohnheit, IPs nicht von 0,1 Oktett, sondern beispielsweise von 0,32 zu verwenden. Auf diese Weise können Sie IP in DHCP statisch im Bereich von .2 bis .31 zuweisen (ich habe früher .1 für den Router selbst verwendet), damit der dynamische IP-Bereich nicht überschritten wird. Oder Sie richten über das Bedienfeld der Kamera einfach eine statische IP-Adresse im Bereich von 0,2 bis 0,31 ein und kümmern sich nicht um die DHCP-Reservierung.

Alexander
quelle
4

DHCP unterstützt dies nicht. Entweder muss Ihre Kamera die Ausführung eines DHCP-Clients unterstützen, oder Ihre Software muss den Benutzer nach der statischen IP-Adresse fragen, die der Kamera zugewiesen werden soll. Möglicherweise müssen sie sich an ihren Netzwerkadministrator wenden, um die richtige Adresse zu ermitteln.

am weisesten werden
quelle
Hallo, mit evberones Kommentaren (ich habe ähnliche Fragen auf StackOverFlow gestellt) und deinen und @Alexanders habe ich meine Antwort. Das geht nicht und ich brauche einen anderen Ansatz. Ich hätte nicht gedacht, dass es möglich wäre, aber ich wusste es nicht genau. Ich werde Alexander "ankreuzen", da er die gleiche Antwort hat wie Sie, aber er hat ein bisschen mehr Informationen gegeben. Vielen Dank :)
Andrew Simpson