web-dev-qa-db-ja.com

DHCPサービスが利用できない場合、AutoIPに正常にフォールバックするにはどうすればよいですか?

LinuxとBusyboxをベースにした組み込みデバイスを開発しており、さまざまなネットワーク構成に適応できるようにしようとしています。したい:

1-起動時にDHCP応答がない場合は、AutioIPアドレスを使用します。
2-実行時にDHCPサーバーが使用可能になった場合は、使用を開始します。

/ etc/network/interfacesでeth0をmanualに設定し、コマンドをに設定できるので、ポイント1は簡単に思えます。

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

ポイント2がわかりません。udhcpcデーモンとzcipデーモンの両方を同時に実行した場合、それらは一緒にうまく機能しますか?

2
Atilla Filiz

これはudhcpc + avahiで実行できます。 AvahiはLinux用のzeroconf実装です。 autoip(dhcpなしでアドレスを与える)とmDNS(DNSサーバーなしの名前解決)を提供します。

buildroot の組み込みシステムで動作させました。 dhcpが使用できない場合にautoipへのフォールバックを有効にする変更されたudhcpc開始スクリプトもあります。

1

起動時にDHCPへのフォールバックとしてAutoIPのみを使用する必要がある場合は、デーモンとして実行する代わりに、アドレスを取得して終了するようにzcipに指示することをお勧めします。

起動時に行うこと:

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

このコマンドが完了すると、udhcpcが実行されるか、リンクローカルアドレスが作成されます。

次に、DHCPサーバーが使用可能になったら、udhcpcデーモンを起動します。

0
Grodriguez