Ubuntu 20.04 LTS サーバーCLI版で固定IPアドレスを設定する方法

Ubuntu 20.04 LTSのデスクトップ版で「固定IPアドレス」を設定する方法を分かりやすく解説します。

ネットワーク設定を編集する

デスクトップ版とは大きく違い、ファイルを編集して設定していきます。
サーバーCLI版では「/etc/netplan/00-installer-config.yaml」を編集します。

# This is the network config written by 'subiquity'
network:
  ethernets:
    enp0s3:
      dhcp4: true
  version: 2

ネットワークインタフェース名「enp0s3」は、ハードウェアにより異なる場合があります。
※ここに記載されているネットワークインタフェース名は、新たに設定ファイルを作る時に必要になります。

このファイルを無効化し、新たに「/etc/netplan/」にYAMLファイルを配置することで、ネットワーク設定の変更が可能です。

固定IPアドレスの設定

今回は、デフォルトのネットワーク設定ファイルは無効化し、新たに「/etc/netplan/11-mynetcfg.yaml」を追加して固定IPアドレスを設定します。

まず、「/etc/netplan/00-installer-config.yaml」を削除するか、別の拡張子にリネームしておきます。
以下は、「/etc/netplan/00-installer-config.yaml.disabled」にリネームするコマンドです。

cd /etc/netplan/
sudo mv 00-installer-config.yaml 00-installer-config.yaml.disabled

そして、新たに「/etc/netplan/11-mynetcfg.yaml」を作成して、以下を記述します。

sudo nano /etc/netplan/11-mynetcfg.yaml
network:
    version: 2
    ethernets:
        enp0s3:
            addresses: [192.168.1.100/24]
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1]
                search: []
            optional: true

この例は、以下のネットワーク設定の記述例です。

ネットワークインタフェース
enp0s3
アドレス
192.168.1.100
ネットマスク
255.255.255.0(ビット指定だと「/24」)
ゲートウェイ
192.168.1.1
DNS
192.168.1.1

ネットワークインタフェース名は、「/etc/netplan/00-installer-config.yaml」に記述されていたものを用いてください。わからなくなった場合は、「ip a」「networkctl」といったコマンドで調べることができます。

設定の反映

/etc/netplan/」に配置した設定ファイルを変更した後、ネットワーク設定に反映するには次のコマンドを実行します。

sudo netplan apply

正常に設定が反映された場合は、何も出力されません。
「ip a」コマンドなどで、想定通りに固定IPアドレスが設定されたかを確認しましょう。
以下は、前出の「11-mynetcfg.yaml」を配置した場合の例です。

ip a
1: enp0s3:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.100/24 brd 192.168.1.255 scope global enp0s3
       valid_lft forever preferred_lft forever

複数のYAMLファイルを配置した場合

複数の「YAML」ファイルを「/etc/netplan/」に配置すると、ファイル名の辞書順で読み込んで設定されます。
たとえば、DHCPによるネットワーク設定を記述したファイルと、固定IPアドレスの設定を記述したファイルの2つを配置すれば、自動取得したIPアドレスと固定IPアドレスの両方が設定される、といったことが起こります。
そして設定項目が重複する場合は、後から読み込まれたファイルが前に読み込まれたファイルの設定を上書きします。よって、たとえば「00」や「50」で始まるファイルより、「99」で始まるファイルに書かれた設定が優先されます。