web-dev-qa-db-ja.com

netplanによるDHCP障害時のデフォルトIPへのフォールバック

バックグラウンド

現在、netplanを使用して、Ubuntu Server 18.04マシンを構成しています。私は文字通り手押し車にボルトで固定され、頻繁にそれらが使用されるオフィスの周りを動かされる多くの機械(HASPドングルが取り付けられた特殊なテストユニット)を持っています。通常、私はリンクローカルアドレッシングとmDNSを有効にしているだけであり、エンジニアがデバイスを別のラボに持ち込んでラボスイッチに接続すると、169.254/16のブロードキャストアドレスにpingを送信するだけで、IPを確認できます。デバイス、およびそれを使用して続行します。 私が議論したくない理由のために、DHCPは、いくつかのラボではどのような状況でも利用できません。


問題

コンピュータネットワーキングに精通していないWindows開発者を雇いました(デフォルトのWindows pingユーティリティもブロードキャストアドレスにpingできないようです)。 これらの開発者がLinuxラボでのデバイスの展開方法を変更することなく、ネットワーク上のデバイスを簡単に特定できる方法を見つける必要があります

私たちが実装を任されたソリューション(つまり、私はこの機能を実装する必要があります具体的に、それでx-y問題ではありません。すべての意図と目的)は:

  • デバイスのネットワークインターフェイスでDHCPをデフォルトで有効にします。
  • DHCPにアクセスできない場合は、フラグ(ファイルの存在など)を確認して、次のいずれかを実行するかどうかを決定します。
    • リンクローカルアドレッシングとmDNSを有効にする、または...
    • デフォルトの静的IPアドレスにフォールバックします。

質問

Ubuntuでnetplanを使用してこれを実現するにはどうすればよいですか。

  1. DHCPを試行するようにnetplanを構成し、障害時にLL/mDNSにフォールバックするにはどうすればよいですか?
  2. DHCPを試行するようにnetplanを構成し、障害時に事前定義された静的IPにフォールバックするにはどうすればよいですか?

必要に応じて、「ファイルが存在するかどうかに影響を与える」ロジックなしで実行できます(つまり、そのためのスクリプトを作成できます)が、netplanyamlファイル経由でどのように構成しますかDHCPを使用して、、次にLL/mDNSまたは静的IPにフォールバックするには?


これまでのところ

私は トピックに関するさまざまな投稿 を見つけましたが、これまでのところ、netplanの使用を必要とするものはありません。

編集: ここに近い質問です 、しかしDHCPリース要求の失敗時にIPアドレスを静的にインターフェイスに割り当てたいだけです:無条件にIPアドレスを割り当てたくありません。


ありがとうございました。

1
Cloud

netplanは、記述された方法でのフォールバックをサポートしていません。同じインターフェイスでリンクローカルアドレスとDHCPアドレスの両方を使用することはサポートしています。 (同じインターフェース上で静的アドレスとDHCPアドレスの両方をサポートしますが、これはあまり一般的ではない構成であり、これが必要なものではないことを明示的に述べています。)

静的IPをフォールバックとして割り当てるには、After = network-online.targetを実行してIPアドレスが割り当てられているかどうかを確認し、割り当てられていない場合は自分で割り当てる独自のsystemdユニットを作成することをお勧めします。

2
slangasek