Minnowboard(小型組み込みシステム)にDebian 9インストールを使用しています。 Debian 9 のインストールには特別なものはありません。これは Debian ウェブサイトから得られる一般的な Debian 9 イメージで、Debian インストーラを使用して最初からインストールする必要があります。
私たちが見ている問題は、Minnowboardの起動時にDebianのDHCPクライアントがIPを取得できず、最終的にIPを取得するまで再試行するのに数分かかることがあります。 dhclient を手動で使用すると、Debian は IP を取得するのに問題はありません。
Linux DHCPクライアントが最初の試みでIPを取得できないのは、おそらくMinnowboardに電力を供給するのと同じ電源装置がルーターにも電力を供給するためです(通常は同時に起動を開始します)。したがって、Minnowboardが初めてIPを要求したときにIP、ルーター(DHCPサーバー)がまだ起動していない可能性があります。
インターフェイスがDHCP用に設定されていてまだIPがない場合、DebianのデフォルトDHCPクライアントがIPをより頻繁に要求するように変更できる設定ファイルはありますか?
関連トピックDebian 9でDHCPクライアントを制御するものは何ですか? DHCPリースが期限切れになっていないことを確認し、必要に応じて更新するいくつかのサービスをsystemdで実行していますか?
注:これが関連しているかどうかはわかりませんが、関連していました。このトリック、GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
ネットワークインターフェイス名を再びeth0に設定します。
答え1
dhclient
でタイムアウトと再試行設定を構成できます/etc/dhcp/dhclient.conf
。 60秒以下の設定がretry
必要な場合があります。
man dhclient.conf
(追加の改行と強調のために太字を追加):
プロトコルタイミング
クライアントのタイミング動作は、ユーザーが設定する必要はありません。ユーザーがタイミング設定を提供しない場合、デフォルトではかなり合理的なタイミング動作が使用されます。つまり、サーバーに過度の負荷をかけずに時期的に更新される動作です。
必要に応じて、次の文を使用してDHCPv4クライアントのタイミング動作を調整できます。 DHCPv6プロトコルは利用可能な値を提供しますが、現在は設定できません。
timeout
声明timeout time;
タイムアウトステートメントは、クライアントがアドレス解決を試み始めた時間と、クライアントがサーバーに接続できないと判断した時間の間に経過する時間を決定します。
デフォルトでは、このタイムアウトは60秒です。。
タイムアウト後に構成ファイルに定義された静的リースがある場合、またはリースデータベースにまだ期限切れのリースが残っている場合、クライアントはそのリースを繰り返して検証を試みます。有効に見えるレンタルアドレスが使用されます。
リースデータベースに有効な静的リースまたは期限切れのリースがない場合、クライアントは定義された再試行間隔の後にプロトコルを再起動します。
retry
声明retry time;
再試行ステートメントは、クライアントがDHCPサーバーが存在しないことを確認してからDHCPサーバーに再接続しようとするまでに経過する時間を決定します。
デフォルトでは5分です。。