Ubuntu_20.04_LTS でIPアドレスを変更する

NetworkManager で設定しない

CentOS8 では、NetworkManager を使ってIPアドレスを設定したが、Ubuntu_20.04 ではどうやら違うらしい。
LPIC の試験では、「/etc/network/interfaces」という設定ファイルを変更する。みたいな感じで書かれていたが、そもそも Ubuntu_20.04 にはそんなファイルが存在していなかった。

rev1a@rev1a-VirtualBox:~$ ls -al /etc/network/
合計 32
drwxr-xr-x 6 root root 4096 8月 8 09:29 .
drwxr-xr-x 129 root root 12288 11月 23 22:17 ..
drwxr-xr-x 2 root root 4096 8月 8 09:31 if-down.d
drwxr-xr-x 2 root root 4096 8月 8 09:31 if-post-down.d
drwxr-xr-x 2 root root 4096 8月 8 09:31 if-pre-up.d
drwxr-xr-x 2 root root 4096 8月 8 09:31 if-up.d

YAML ファイルを弄る

既存YAMLファイルの無効化

どうやら ubuntu_20.04 では、「/etc/netplan/」内にある yamlファイルを編集するらしい。(詳しくは知らない。)
ということで、まずデフォルトで存在している yamlファイルを無効にする。

rev1a@rev1a-VirtualBox:~$ sudo mv /etc/netplan/01-network-manager-all.yaml /etc/netplan/01-network-manager-all.yaml.disable
※デフォルトで存在しているファイルは、削除しても良いらしいが、なんかこわいのでファイル名を変更して、yamlファイルとして認識されないようにする。

新規YAMLファイルの作成

新規にyamlファイルを作成し、IPアドレス等々を設定する。

rev1a@rev1a-VirtualBox:~$ sudo vi /etc/netplan/99-netcfg.yaml
network:
ethernets:
# ネットワークインターフェース名
enp0s3:
dhcp4: no
# IPアドレス/サブネットマスク
addresses: [192.168.1.77/24]
# デフォルトゲートウェイ
gateway4: 192.168.1.1
nameservers:
# 参照するネームサーバー
addresses: [192.168.1.1]
dhcp6: no
version: 2
設定を反映する。
rev1a@rev1a-VirtualBox:~$ sudo netplan apply 
設定されたか確認する。
rev1a@rev1a-VirtualBox:~$ ip a
1: lo: 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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:63:90:a5 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.77/24 brd 192.168.1.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 240d:1e:149:a400:a00:27ff:fe63:90a5/64 scope global tentative dynamic mngtmpaddr noprefixroute
valid_lft 6172sec preferred_lft 6172sec
inet6 fe80::3767:d144:d0a2:78dc/64 scope link noprefixroute
valid_lft forever preferred_lft forever