デフォルトでUbuntu 24.04をインストールしたらnetplanにcloud-initが入っている。
これどうすべき?
cloud-initはAWS EC2、Azure、Google Cloud、OpenStack、LXDなどのクラウドサーバで使われるもので、仮想マシンを起動したときに「最初の設定(ネットワーク・ユーザ・SSHキーなど)」を自動で行う仕組みです。スタンドアロンだと不要なのだけどどう無効にするのか分からなかった。
cloud-initでネットワークの設定を上書きされないようにする方法
- mv /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
- vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}
- vi /etc/netplan/01-static.yaml
network:
version: 2
renderer: networkd
ethernets:
enp0s25:
dhcp4: false
addresses:
- 192.168.10.100/24
routes:
- to: default
via: 192.168.10.1
nameservers:
addresses: [8.8.8.8]
99が最優先に実行され、このコマンドでcloud-initの生成が抑制される。