Ubuntu Server 18.04ではネットワーク周りの機能としてNetplan.ioが使われています(正確にいうと、Ubuntu 17.10から利用されるようになりました)。それに依存して主にネットワーク系はsystemd-networkdが、名前解決関連はsystemd-resolvedが行なっています。
ただし、Ubuntu DesktopフレーバーではNetplan.ioが使われているものの、引き続きNetwork Managerがネットワーク、名前解決周りを担当しています。Ubuntu Desktopではこういった設定のみかかれており、ネットワーク設定などは既存のNetwork Manager GUIやCLI、TUIなどを使って設定することができます。
Netplan.ioを使ったネットワーク設定の方法はサンプルが公開されているものの、設定はYAML形式で書く必要があります。 こちらもご覧ください。
ytooyama.hatenadiary.jp blog.ubuntu.com
割と最近のツールはYAML形式のファイルをよく使うことがあり、YAML形式に慣れている人であれば問題ないかもしれませんが、慣れていない人にはとっつきにくさを感じると思います。
このとっつきにくさの1番の理由が「スペースの数」だと思います。YAML形式の記述方法はスペースで設定の親、子の関係を表します。大抵は偶数(最小で2つ)のスペースを入力していきます。例えばこんな感じです。
network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.100.1.30/24 gateway4: 10.100.1.1
YAML形式で記述されたファイルを使う場合は、基本的にはスペースの数が正しくないと設定を適用することができません。 これがいわゆる「YAMLの壁」です。慣れてしまえば大したことはないですが、慣れるまでが大変です。
で、今回は「そんなの嫌だ!Network Managerを使ってやる!」という話です。
Ubuntu Server 18.04でNetwork Managerを使うには
前述のように、Ubuntu Desktop 18.04ではNetwork Managerを使っていますので、Ubuntu Server 18.04でも同じように設定すれば良い感じです。次のように設定すると「Netplan.ioをNetwork Manager rendererで利用する」設定を行えます。
% sudo vi /etc/netplan/50-cloud-init.yaml # Let NetworkManager manage all devices on this system network: version: 2 renderer: NetworkManager (以上の三行だけ書く) % sudo apt install network-manager && sudo reboot (Network Managerを入れて再起動する) % sudo nmtui (IPアドレスの設定をCLIとかTUIツールとかで実施)
以上です。簡単ですね。
ただ、アプリケーションによってはNetwork Managerだと困るものがあります。身近なところだとOpenStackとか。 そういうものは頑張ってNetplan.io+systemd-networkdで頑張りましょう。というか、次のOpenStackはUbuntu 18.04LTSでやることになるだろうから、どうするのかな。ネットワーク周り。
おまけ: 少しでもNetplan.io+systemd-networkdをラクに設定する
Ubuntu Server 18.04ではインストーラーが刷新され、Live Server Installerが提供されています。このインストーラーはデフォルトでIPアドレスの設定をインストール時にできるので、あらかじめ固定IPアドレスを設定してしまえばYAMLをいじる必要がなくなるのでいいんじゃないかなと思います。定義すればYAMLファイルの雛形ができるので、IPアドレスをちょっと書き換えたりとかもラクになるはずです。