ubuntu-desktop 20.04 LTSでIPアドレス設定メモ

ubuntuを16.04以来ぶりに触ってみたらNWの設定方法が`/etc/networking/interfaces`ではなく、`netplan`で動作するそうなので設定方法等をメモしておきます。

## 環境
ubuntu-desktop 20.04 LTS

## 設定変更
こちらの記事：[Ubuntu 20.04 LTSで固定IPアドレスの設定](https://qiita.com/zen3/items/757f96cbe522a9ad397d) 
を参考にさせて頂きました。


・/etc/netplan/99_config.yamlを作成

```yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      addresses: [192.168.0.151/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
```

これで

・設定反映のため`netplan apply`を実行

```bash
netplan apply
```

```bash
root@ubuntu:/work/vagrant/host01# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 50:65:f3:4f:18:c3 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
    inet 192.168.0.151/24 brd 192.168.0.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
```

### 設定が消えた
しばらく時間が立つ（端末側がスリープしたタイミング？）で固定したIPアドレスの設定が消えてしまった。 
調べてみるとubuntu-serverは`networkd`で良いが、ubuntu-desktopでは`NetworkManager`を指定する必要があるようです。  
※[netplan.io](https://netplan.io/)を見てもレンダラーとして、`networkd`or`NetworkManager`で動作すると書いてあり
　ubuntu側でデフォルトインストールされるパッケージがServerとDesktop版で異なるようです。  

### 対処
・/etc/netplan/99_config.yamlを作成

```diff_yaml
 network:
   version: 2
-  renderer: networkd
+  renderer: NetworkManager
   ethernets:
     eth0:
       dhcp4: false
       dhcp6: false
       addresses: [192.168.0.150/24]
       gateway4: 192.168.0.1
       nameservers:
         addresses: [8.8.8.8, 8.8.4.4]
```

設定反映のため再度`netplan apply`を実行し、IPアドレスの設定が固定化できました。

###参考：dpkg -lの結果
比較してみると、たしかにインストールされているパッケージが異なりました。

・ubuntu-server

```
# dpkg -l | egrep "networkd|network-manager"
ii  networkd-dispatcher            2.1-2~ubuntu20.04.1                   all          Dispatcher service for systemd-networkd connection status changes
```

・unbunt-desktop

```
# dpkg -l | egrep "networkd|network-manager"
ii  network-manager                            1.22.10-1ubuntu2.2                    amd64        network management framework (daemon and userspace tools)
ii  network-manager-config-connectivity-ubuntu 1.22.10-1ubuntu2.2                    all          NetworkManager configuration to enable connectivity checking
ii  network-manager-gnome                      1.8.24-1ubuntu3                       amd64        network management framework (GNOME frontend)
ii  network-manager-openvpn                    1.8.12-1                              amd64        network management framework (OpenVPN plugin core)
ii  network-manager-openvpn-gnome              1.8.12-1                              amd64        network management framework (OpenVPN plugin GNOME GUI)
ii  network-manager-pptp                       1.2.8-2                               amd64        network management framework (PPTP plugin core)
ii  network-manager-pptp-gnome                 1.2.8-2                               amd64        network management framework (PPTP plugin GNOME GUI)
ii  networkd-dispatcher                        2.1-2~ubuntu20.04.1                   all          Dispatcher service for systemd-networkd connection status changes
```