Ubuntu 22.04 では、サーバーのネットワーク設定に Netplan を使用します。Netplan は YAML でネットワーク設定を記述し、実際の設定を systemd-networkd や NetworkManager に渡す仕組みです。
この記事では、Ubuntu 22.04 Server を前提に、DHCP、固定 IP、DNS、デフォルトルート、設定ファイルの権限、netplan try と netplan apply の使い分けを整理します。
Netplan の役割
Netplan は、ネットワーク設定を直接実行するデーモンではありません。/etc/netplan/*.yaml に書いた設定を読み取り、レンダラーである systemd-networkd や NetworkManager 向けの設定へ変換します。
| 項目 | 内容 |
|---|---|
| 設定ファイル | /etc/netplan/*.yaml |
| Server でよく使う renderer | systemd-networkd |
| Desktop でよく使う renderer | NetworkManager |
| 設定反映 | netplan try または netplan apply |
| 注意点 | YAML のインデント、ファイル権限、SSH 作業時の切断 |
現在の設定を確認する
まず、現在のインターフェース名と Netplan 設定を確認します。インターフェース名は環境により異なるため、例の enp1s0 は自分の環境に合わせて読み替えます。
ip link
ip address
ls -l /etc/netplan
sudo cat /etc/netplan/*.yamlDHCP の設定例
インストール直後や検証環境では、DHCP のまま使うのが簡単です。Ubuntu Server のインストーラーが生成する設定も、多くの場合は DHCP になります。
sudo tee /etc/netplan/00-main.yaml >/dev/null <<'EOF'
network:
version: 2
ethernets:
enp1s0:
dhcp4: true
EOF
sudo chmod 600 /etc/netplan/00-main.yamlIPv6 も DHCPv6 や RA を使う場合、環境に応じて dhcp6 や RA の扱いを確認します。単純な検証では IPv4 DHCP だけでも十分です。
固定 IP の設定例
サーバー用途では、管理しやすいように固定 IP を設定することがあります。次は IPv4 と IPv6 を併記する例です。DNS とデフォルトルートも合わせて指定します。
sudo cp -a /etc/netplan /etc/netplan.bak.$(date +%Y%m%d%H%M%S)
sudo tee /etc/netplan/00-main.yaml >/dev/null <<'EOF'
network:
version: 2
ethernets:
enp1s0:
addresses:
- 10.0.33.112/24
- fd00::a00:2170/120
nameservers:
addresses:
- 10.0.33.160
- fd00::a00:21a0
routes:
- to: default
via: 10.0.33.1
- to: default
via: fd00::a00:2101
EOF
sudo chmod 600 /etc/netplan/00-main.yamlgateway4 ではなく routes を使う
古い例では gateway4 を使う設定が見つかることがありますが、現在は routes でデフォルトルートを明示する方がよいです。IPv4 と IPv6 を同じ考え方で扱えるため、デュアルスタック構成でも整理しやすくなります。
| 古い書き方 | 現在寄せたい書き方 |
|---|---|
gateway4: 10.0.33.1 | routes: - to: default / via: 10.0.33.1 |
| IPv4 だけを特別扱いしやすい | IPv4 / IPv6 を同じ形で扱いやすい |
netplan try と netplan apply
SSH で作業している場合、ネットワーク設定を間違えると接続が切れます。可能であればコンソールから作業するか、netplan try を使って一時適用します。
sudo netplan generate
sudo netplan trynetplan try は一定時間内に確認できなければ設定を戻すため、SSH 作業時の保険になります。ただし、環境によっては完全な保険にならないこともあるため、重要なサーバーではコンソール経由で作業できる状態を用意します。
確認後に本反映する場合は次のように実行します。
sudo netplan apply設定後の確認
設定反映後は、アドレス、ルーティング、DNS、疎通を順番に確認します。
ip address show enp1s0
ip route
ip -6 route
resolvectl status
ping -c 3 10.0.33.1
ping -c 3 8.8.8.8
getent hosts example.comファイル権限の警告に対応する
Netplan の設定ファイルの権限が広すぎると、次のような警告が出ることがあります。
Permissions for /etc/netplan/00-main.yaml are too open. Netplan configuration should NOT be accessible by others.設定ファイルは root のみが読めるようにします。
sudo chown root:root /etc/netplan/*.yaml
sudo chmod 600 /etc/netplan/*.yamlSSH 作業時の注意
- 作業前に現在の設定をバックアップする
- インターフェース名を必ず確認する
- SSH 接続中は
netplan tryを優先する - 作業端末とは別にコンソール復旧手段を用意する
- DNS とルートは IP アドレス設定とセットで確認する
まとめ
Ubuntu 22.04 の Netplan 設定では、/etc/netplan/*.yaml に DHCP、固定 IP、DNS、routes を記述します。サーバーでは固定 IP を使うことが多いですが、設定ミスは即座に SSH 切断につながるため、netplan try とバックアップを使って慎重に反映します。
デフォルトルートは gateway4 ではなく routes へ寄せると、IPv4 / IPv6 を同じ考え方で整理できます。設定後はアドレス、ルート、DNS、疎通確認まで行うことが重要です。
書籍
Advanced Ubuntu Administration and Management Best Practices
Ubuntu Server の運用項目を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
関連記事
- Netplan configuration should NOT be accessible by others.
- netplan apply で ovsdb-server.service is not running.
- Ubuntu 22.04 apt update / apt upgrade の基本 – 手動アップデートの確認手順
- Proxy 環境で apt-key adv –recv-keys がタイムアウトする原因 – GPG 鍵取得と外部通信を切り分ける
- Ubuntu 22.04 MOTD NEWS の外部通信を停止する – ログイン時の不要な通信を抑える
- Ubuntu 22.04 設定マニュアル


