Wie kann ich auf AutoIP zurückgreifen, wenn kein DHCP-Dienst verfügbar ist?

4684
Atilla Filiz

Ich entwickle ein Embedded-Gerät, das auf Linux und Busybox basiert, und versuche, es an verschiedene Netzwerkkonfigurationen anpassbar zu machen. Ich möchte:

1- Verwenden Sie zur Startzeit eine AutioIP-Adresse, wenn keine DHCP-Antwort vorliegt.
2- Wenn zur Laufzeit ein DHCP-Server verfügbar wird, können Sie ihn verwenden.

Punkt 1 scheint einfach zu sein, da ich mein eth0 auf manuell in meinen / etc / network / interface setzen und den Befehl auf einrichten kann

udhcpc eth0 --now || zcip eth0 /etc/zcip.script 

Ich bin mir bezüglich Punkt 2 nicht sicher. Wenn ich sowohl udhcpc als auch zcip-Daemons gleichzeitig ausführen würde, würden sie dann gut zusammenspielen?

2
Klingt ziemlich nah an dem, was das [avahi] (https://en.wikipedia.org/wiki/Avahi_ (Software)) Projekt bietet dawud vor 10 Jahren 0
Ich bin nicht auf der Suche nach einem AutoIP-Daemon, es gibt mehrere auf dem Markt. Mein Problem ist, DHCP zu erkennen und darauf zu reagieren. Cnnman sehen, vielversprechend Atilla Filiz vor 10 Jahren 0

2 Antworten auf die Frage

1
Alessandro Pezzato

Sie können dies mit udhcpc + avahi tun. Avahi ist eine Null-Implementierung für Linux. Es bietet Autoip (Angabe einer Adresse ohne DHCP) und mDNS (Namensauflösung ohne DNS-Server).

Ich habe es in einem eingebetteten System mit buildroot arbeiten lassen . Es gibt auch ein modifiziertes udhcpc-Startskript, das es dem Fallback ermöglicht, automatisch zu wechseln, wenn dhcp nicht verfügbar ist.

0
Grodriguez

Wenn Sie AutoIP nur als Fallback beim Booten verwenden müssen, weisen Sie zcip möglicherweise an, eine Adresse zu erhalten und zu beenden, anstatt als Dämon ausgeführt zu werden.

Beim Booten würden Sie folgendes tun:

udhcpc eth0 --now || zcip -f -q eth0 /etc/zcip.script 

Nach Abschluss dieses Befehls wird entweder udhcpc ausgeführt, oder Sie verfügen über eine lokale Linkadresse

Wenn ein DHCP-Server verfügbar ist, starten Sie den udhcpc-Daemon.