前言#
通常、Ubuntu のデフォルト設定はDHCPサーバーを通じて自動的に IP アドレスを取得することで、これはデスクトップシステムにとって非常に便利で、変更を必要としません。
しかし、Ubuntu サーバーには静的 IP アドレスを割り当てることを常に推奨します。なぜなら、その静的 IP アドレスは再起動後も変わらないからです。
Ubuntu 17.10 以降は「Netplan」をデフォルトのネットワーク管理ツールとして使用しています。したがって、Ubuntu 20.04 システムで IP アドレスを設定することは、古いバージョンの Ubuntu とは異なります。
この記事では、Ubuntu 20.04 サーバーで静的 IP アドレスを設定する方法を説明します。同様の手順は Ubuntu 18.04 にも適用され、Ubuntu 18.04 システムで Netplan ツールを使用してネットワークを設定する際の参考になります。
何が Netplan か#
Netplan は Canonical(Ubuntu)が開発したユーティリティで、Linux システム上でネットワークを簡単に設定できます。YAML ベースの設定に基づいており、ネットワーク設定プロセスを大幅に簡素化します。
ネットワークインターフェースを設定するには、必要なネットワークインターフェースの YAML 記述を作成するだけで、Netplan は選択したレンダラーに必要なすべての設定を生成します。
Netplan のネットワーク設定ファイルは「/etc/netplan/*.yaml」にあります。Netplan は現在、「NetworkManager」や「Systemd-networkd」などのバックエンドレンダラーをサポートしています。
NetworkManager は通常デスクトップで使用され、Systemd ネットワークはサーバーで使用されます。
ネットワークマネージャーを無効にし、systemd-networkd を有効にする#
まず、以下のコマンドを実行して NetworkManager を無効にします:
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager
次に、systemd-networkd を起動して有効にします:
sudo systemctl unmask systemd-networkd.service
sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service
netplan を設定する#
Ubuntu 22.04 で DNS サーバーを設定するには、netplan 設定ファイルを編集し、以下の内容を追加します:
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: yes
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
上記の例では、Google DNS サーバー(8.8.8.8 と 8.8.4.4)を DNS リゾルバーとして追加しました。ネットワーク環境に適した DNS サーバーに変更できます。
変更を適用します:
sudo netplan apply
これで、Ubuntu 22.04 サーバーで静的 IP アドレスと DNS サーバーを正常に設定しました。