🌟

From systemd-networkd to NetworkManager

2021/10/21に公開

Ubuntu は Server 版では systemd-networkd が、Desktop 版では NetworkManager が使われる。つまり Ubuntu cloud-image を使う場合 systemd-networkd が基本となっている。

cloud-image から起動する際は cloud-init で初期化を行う。cloud-init NoCloud datasourceNetworking Config Version 2 (netplan) で初期化するのが簡単。初期化後は cloud-init network 設定は /etc/netplan/ 以下にインストールされる。

ここから Desktop 版相当の NetworkManager に切り替えていくことを考える。

cloud-image には NetworkManager が入っていないので、まずは networkd 管理のネットワークで NetworkManager を package install する。本格的に GUI も欲しい場合は ubuntu-desktop-minimal も package install するが、minimal といってもかなり大きいので、要注意。

NetworkManager がインストールされれば /etc/netplan/ の renderer を NetworkManager に変更して反映すれば切り替えができる。裏を返すと netplan の renderer は暗黙的に networkd となっている。

network:
  version: 2
  # 以下の行を追加
  renderer: NetworkManager
  ethernets:
# (以下略)

反映は次のコマンドで行う。外部から ssh 接続して作業している場合、コネクションが切れることに注意。

netplan apply

NetworkManager のほうが netplan よりも様々な形態をサポートしているため、netplan に無理に詰め込まないほうが苦労が少ない。

Ubuntu は netplan を中心に考えると簡単。

参考:https://takuya-1st.hatenablog.jp/entry/2019/10/21/172655

Discussion