手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 Netplan の基本

Ubuntu 26.04 サーバー管理ガイドに戻る

Ubuntu 26.04 でサーバーを構築する場合、ネットワーク設定は早い段階で形を決めておきたい項目です。IP アドレス、DNS、デフォルトゲートウェイ、MTU が曖昧なまま進むと、APT、監視、ログ転送、名前解決、SSH 接続のどこかで原因の見えにくい問題になります。

私の環境では最終的に Ansible で設定を管理していますが、この記事ではその考え方を手動操作に落として、Ubuntu 上で Netplan を確認・設定する流れとして整理します。

Netplan の役割

Netplan は Ubuntu のネットワーク設定を YAML で記述し、実際のネットワーク管理バックエンドに反映するための仕組みです。サーバー用途では、まずインターフェース名、アドレス、DNS、ルートを明確にしてから設定ファイルに落とし込むのが扱いやすいです。

  • インターフェース名を確認する
  • 現在の Netplan 設定を確認する
  • cloud-init がネットワーク設定を再生成しないか確認する
  • 固定 IP、DNS、デフォルトルートを設定する
  • 反映前に構文確認し、接続断に備えて適用する

インターフェース名を確認する

最初に、対象サーバーで使う NIC の名前を確認します。仮想マシンでは ens160、ens18、enp1s0 など、環境によって名前が変わります。

ip link
ip address

記事内の例では ens160 を使います。実際の作業では、自分の環境のインターフェース名に置き換えてください。

現在の設定を確認する

既存の Netplan 設定と、現在 OS が認識しているアドレス、ルート、DNS を確認します。インストール直後は 50-cloud-init.yaml00-installer-config.yaml が残っていることがあります。

ls -l /etc/netplan
sudo sed -n '1,200p' /etc/netplan/*.yaml

ip address
ip route
resolvectl status

cloud-init のネットワーク設定に注意する

クラウドイメージや一部のインストール環境では、cloud-init がネットワーク設定を生成している場合があります。手動で Netplan を管理する方針にするなら、cloud-init 側のネットワーク生成を止めておくと設定の出どころが一本化されます。

cat /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg 2>/dev/null || true

cloud-init でネットワークを管理しない場合は、次のように無効化できます。クラウド環境で cloud-init による初期設定を使っている場合は、無効化してよいか先に確認してください。

sudo tee /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg >/dev/null <<'EOF'
network: {config: disabled}
EOF

DHCP の基本例

検証用の仮想マシンや一時的な作業環境では、固定 IP ではなく DHCP を使う方が楽な場合もあります。DHCP を使う場合でも、どの NIC が DHCP でアドレスを受け取るのかを明確にしておくことが大切です。

network:
  version: 2
  ethernets:
    ens160:
      dhcp4: true
      dhcp6: false

IPv6 も DHCP で扱う場合は dhcp6: true を使います。ただし、サーバー用途ではアドレスが変わると SSH、DNS、監視、証明書、許可リストに影響するため、本番環境では固定 IP または DHCP 予約のどちらで管理するかを決めておく方がよいです。

sudo netplan generate
sudo netplan try
# 問題がなければ
sudo netplan apply

固定 IP の基本例

/etc/netplan/00-main.yaml のように、自分で管理するファイル名を決めておくと整理しやすくなります。次は IPv4 の固定 IP、DNS、MTU、デフォルトルートを設定する基本例です。

network:
  version: 2
  ethernets:
    ens160:
      addresses:
        - 192.0.2.10/24
      nameservers:
        addresses:
          - 192.0.2.53
      mtu: 1500
      routes:
        - to: default
          via: 192.0.2.1

192.0.2.0/24 は例示用のアドレスです。実際には自分のネットワークに合わせて、サーバー IP、プレフィックス、DNS、ゲートウェイを変更します。

設定ファイルの権限を整える

Netplan の設定ファイルには、必要以上に広い権限を付けない方がよいです。root 所有で、通常は 0600 または環境のポリシーに合わせた権限にします。

sudo chown root:root /etc/netplan/00-main.yaml
sudo chmod 600 /etc/netplan/00-main.yaml

反映前に構文を確認する

ネットワーク設定は、誤ると SSH 接続が切れます。特にリモート作業では、いきなり netplan apply するより、まず構文確認と netplan try を使う方が安全です。

sudo netplan generate
sudo netplan try
# 問題がなければ
sudo netplan apply

netplan try は一定時間内に確認しないと設定を戻してくれるため、リモート作業時の保険になります。ただし、コンソールアクセスがない本番サーバーでは、作業前に復旧手段を用意しておくべきです。

反映後に確認する

設定を反映したら、IP アドレス、ルート、DNS、ゲートウェイ疎通、名前解決を確認します。ネットワーク設定は「設定ファイルが正しい」だけでは不十分で、OS 上の実状態まで見る必要があります。

ip address show ens160
ip route
resolvectl status
ping -c 3 192.0.2.1
getent hosts example.com

ゲートウェイは同一ネットワーク上に置く

固定 IP 設定でよくある失敗は、デフォルトゲートウェイが設定したアドレスのネットワーク範囲外にあることです。たとえば 192.0.2.10/24 なら、通常のゲートウェイは 192.0.2.0/24 の範囲内にある必要があります。

ip route get 192.0.2.1
ip route

IPv6 では link-local アドレスをゲートウェイとして扱う設計もありますが、Netplan の書き方や環境によってつまずきやすい部分です。まずは自分の環境で使う IPv6 ルーティング方式を確認してから設定するのが安全です。

複雑な構成は分けて考える

複数 NIC、VLAN、Bonding、Bridge、VRF のような構成は、基本の固定 IP 設定とは別の記事として扱った方が整理しやすいです。まずは単一 NIC で、アドレス、DNS、デフォルトルート、MTU を確実に設定できる状態を作ります。

まとめ

Ubuntu 26.04 の Netplan 設定では、現在の状態確認、cloud-init との役割分担、固定 IP の設定、ファイル権限、構文確認、反映後の確認を一連の作業として見ることが重要です。ネットワークは後続のパッケージ管理、SSH、監視、ログ転送、ミドルウェア構築の土台になるため、最初に丁寧に整えておく価値があります。

Ubuntu 26.04 サーバー管理ガイドに戻る

Ubuntu 26.04 Netplan の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る