OPNsense 21でcloud-init NoCloudを使用するにはどうすればよいですか?

OPNsense 21でcloud-init NoCloudを使用するにはどうすればよいですか?

私はOPNSense(および通常FreeBSD)を初めて使用し、cloud-initを使用して少なくとも私のLAN(vtnet0)の固定IPアドレス、ルートパスワードを設定し、最終的にカスタムスクリプト(またはシェル)を実行することに興味があります。コマンド)から。 Qemu を使用して OPNsense VM を作成し、カスタム構成を適用します。

私はopnsense github repoがクラウド初期化ポートだから、インストールしました。

pkg install net/cloud-init

その後、cloud-init NoCloudのニーズに応じて、ユーザーデータとメタデータを含むcidata.isoイメージをQemuに追加しました。 Ubuntu Server 21とCali Linuxでこのファイルをテストしました。少なくともこれらのオペレーティングシステムでは正しいです。)

CDROMが/dev/cd0であることを見つけてインストールしました。

mkdir -p /media/cdrom
mount -t cd9660 /dev/cd0 /media/cdrom

また、/etc/fstabを編集し、次の行を追加しました。

/dev/cd0 /media/cdrom cd9660 ro 0 0

起動時に自動的にCDROMをマウントします。

最後に(存在しなかったため)、次の内容で/etc/rc.confを作成しました。

cloudinit_enable="YES"

OPNsense 仮想マシンを再起動しました。

今私が期待するのは、起動時にcloud-initが自動的に起動することです。

しかし、これは起こりませんでした。おそらく何かを構成しなければならなかったからです。cloud-init init端末を介して実行するとエラーが発生します。

stages.py[WARNING]: Failed to rename devices: Unexpected error while running command.
Command [`ip`, `-6`, `addr`,`show`, `permanent`, `scope`,`global`]
Exit code: -
Reason: [Errno 2] No such file or directory: b`ip`
Stdout: -
Stderr: -
No `init` modules to run under section `cloud_init_modules`

Kali LinuxとUbuntu Serverの両方で簡単に実行できます。

これについていくつかの質問があります。

  1. NoCloudでcloud-initポートを使用し、設定ファイルを含むcdrom(cidata)を使用できますか?それとも、OpenStackなどのクラウドサービスでのみサポートされていますか?
  2. 上記の設定は正しいですか、それとも何かが欠けていますか?
  3. 上記のエラーが発生するのはなぜですか?どうすれば解決できますか?

この質問を投稿しました。ここ、しかし返信を受け取れませんでした。

答え1

私はcloud-initサポートをBSD *に拡張することを進めています。このバグは今頃修正されなければなりません。少なくともhttps://github.com/canonical/cloud-init/pull/1779

これまでVultrはかなり良いサポートを受けました。で何かが動作しない場合net/cloud-initに動作する可能性が高いですnet/cloud-init-devel。問題が解決しない場合は、報告された問題を解決します。 cloud-initはバグトラッカーをLaunchpadからGitHubに移動したので、より簡単に貢献できます。


*ほとんどFreeBSDです。 FreeBSD財団が後援するプロジェクトであり、私はFreeBSDに最も慣れています。)

関連情報