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

Linuxガイド

Ubuntu 20.04 LTSのサーバー版で「固定IPアドレス」を設定する方法を、初心者にも分かりやすく解説します。

Ubuntu 20.04 LTSのサーバー版は、インストール時に固定IPアドレスを設定することができます。しかし、IPアドレスをDHCPサーバーから自動取得する形でインストールを行い、後で固定IPアドレスを設定したくなる場合もあるでしょう。また、インストール後にIPアドレスを変更したくなることもあります。このページでは、Ubuntu 20.04 LTSのサーバー版で固定IPアドレス設定する方法についてまとめます。

なお、Ubuntuデスクトップで固定IPアドレスを設定する方法は「Ubuntu 20.04 LTSで固定IPアドレスを設定する方法【デスクトップ編】」で紹介しています。

デフォルトのネットワーク設定ファイル

Ubuntu 20.04 LTSのサーバー版をPCにインストールすると、ネットワーク設定ファイルとして「/etc/netplan/00-installer-config.yaml」が配置されます。
DHCPサーバーからネットワーク設定を取得するよう設定した場合は、次のような内容になります。

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

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

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

固定IPアドレスの設定例

ここでは、デフォルトのネットワーク設定ファイルは無効化し、新たに「/etc/netplan/99-netcfg.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

そして、「99-netcfg.yaml」をsudoeditなどを使って作成します。以下は記述例です。

network:
    version: 2
    ethernets:
        enp0s3:
            addresses: [192.168.1.5/24]
            gateway4: 192.168.1.1
            nameservers:
                addresses: [192.168.1.1]
                search: []
            optional: true

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

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

ネットワークインタフェース名は、前述の通り「00-installer-config.yaml」に記されていたものを用いると良いでしょう。分からなくなった場合やハードウェア構成が変わった場合は、「ip a」や「networkctl」といったコマンドで調べることができます。

設定の反映

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

sudo netplan apply

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

$ ip -4 a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp0s3:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    inet 192.168.1.5/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」で始まるファイルに書かれた設定が優先される、ということになります。

関連記事


【初心者向け】Linux PCのIPアドレスを確認する方法まとめ
Windowsだと、タスクトレイからネットワーク設定を開いたり、「ipconfig」コマンドを実行したりしてIPアドレスを確認しますよね。LinuxデスクトップでもGUIでIPアドレス見ることはできますが、使っているデスクトップ環境により方...

コマンドラインで自分のグローバルアドレスを取得する方法
先日、SSHサーバーを踏み台にしてWebアクセスする記事を書きました。 その時、アクセス元のグローバルアドレスなどを確認できるページを作ってリンクしたのですが、「そういえばコマンドラインからグローバルアドレスを取得できたほうが便利だな...

Linuxガイド
\シェアお願いします/
LFI

コメント

タイトルとURLをコピーしました