手当たり次第に書くんだ

飽きっぽいのは本能

Ubuntu 26.04 Netplan の基本設定 – IP アドレス / DNS / ルーティングを管理する

関連する記事

Ubuntu 26.04 では、サーバーのネットワーク設定を Netplan で管理します。IP アドレス、DNS、default route、MTU などを設定ファイルに記述し、systemd-networkd などの renderer に反映します。

この記事では、Ubuntu 26.04 で Netplan を扱うときの基本として、現在状態の確認、DHCP、固定 IP、DNS、default route、反映前後の確認をまとめます。リモート作業ではネットワーク断に備えて、netplan try を優先します。

この記事で扱うこと
  • Netplan の役割と renderer の確認
  • 現在のインターフェイス、IP address、route、DNS の確認
  • DHCP、固定 IP、DNS、default route の基本設定
  • netplan generatenetplan trynetplan apply の使い分け
  • 反映後の確認と切り戻しの考え方
対象 OSUbuntu 26.04 Server
設定方式Netplan
主な設定先/etc/netplan/*.yaml
主な確認netplan getip addressip routeresolvectl status
注意点リモート作業では netplan try を優先し、切断時の復旧経路を用意する

Netplan の役割を確認する

Netplan は、ネットワーク設定を YAML 形式の設定ファイルとして管理し、renderer に渡す仕組みです。Ubuntu Server では systemd-networkd を使う構成が一般的です。

  • /etc/netplan/*.yaml にネットワーク設定を置く
  • renderernetworkdNetworkManager か確認する
  • 反映前に netplan generate で構文を確認する
  • リモート作業では netplan try で自動切り戻しを使う

現在の状態を確認する

設定を変更する前に、インターフェイス名、IP address、route、DNS、既存の Netplan 設定を確認します。実際のインターフェイス名は環境により異なります。

ip link
ip address
ip route
resolvectl status
ls -l /etc/netplan
sudo netplan get

cloud-init の影響を確認する

クラウドイメージや自動インストール環境では、cloud-init が Netplan ファイルを生成していることがあります。手動で設定する前に、どのファイルが管理対象か確認します。

ls -l /etc/cloud/cloud.cfg.d
grep -R "network:" /etc/cloud/cloud.cfg /etc/cloud/cloud.cfg.d
ls -l /etc/netplan
sudo sed -n '1,220p' /etc/netplan/*.yaml

DHCP の最小設定を作成する

DHCP で IPv4 を取得する最小構成です。ここでは例として enp1s0 を使います。実際のインターフェイス名へ置き換えます。Netplan は YAML を使いますが、JSON も YAML として読めるため、インデント崩れを避けたい場合は JSON 形式で書けます。

sudo tee /etc/netplan/50-dhcp.yaml >/dev/null <<'EOF'
{"network":{"version":2,"renderer":"networkd","ethernets":{"enp1s0":{"dhcp4":true,"dhcp6":false}}}}
EOF
sudo netplan generate
sudo netplan try

固定 IP の設定を作成する

固定 IP、default route、DNS を設定する例です。アドレス、gateway、DNS、search domain は環境に合わせて変更します。リモート接続中は、適用前に別経路で戻れることを確認します。

sudo tee /etc/netplan/50-static.yaml >/dev/null <<'EOF'
{"network":{"version":2,"renderer":"networkd","ethernets":{"enp1s0":{"dhcp4":false,"addresses":["192.0.2.10/24"],"routes":[{"to":"default","via":"192.0.2.1"}],"nameservers":{"addresses":["192.0.2.53","192.0.2.54"],"search":["example.local"]}}}}}
EOF
sudo netplan generate
sudo netplan try

設定を反映する

netplan generate は設定生成、netplan try は確認付き適用、netplan apply は即時適用です。リモート作業では、まず netplan try を使います。

sudo netplan generate
sudo netplan try
sudo netplan apply

反映後の状態を確認する

反映後は、Netplan の内容だけでなく、kernel が持つ IP address、route、DNS resolver の状態を確認します。設定ファイルが正しくても、route や DNS の結果が意図と違う場合があります。

sudo netplan get
ip address show enp1s0
ip route
resolvectl status enp1s0
ping -c 3 192.0.2.1
getent hosts www.si1230.com

設定ファイルの競合を避ける

Netplan は複数の設定ファイルを読み込みます。意図しない古いファイルが残っていると、設定の上書きや競合が起きます。ファイル名、内容、反映順を確認します。

ls -l /etc/netplan
sudo netplan get
sudo grep -R "enp1s0" /etc/netplan
sudo netplan generate

切り戻しを用意する

ネットワーク設定は、誤ると SSH 接続を失う可能性があります。変更前のファイルを保存し、コンソール接続や out-of-band 管理などの復旧経路を確認してから作業します。

sudo install -d -o root -g root -m 0750 /root/netplan-backup
sudo cp -a /etc/netplan /root/netplan-backup/netplan-$(date +%Y%m%d%H%M%S)
sudo netplan try

公開前の確認ポイント

  • 実際のインターフェイス名を確認している
  • cloud-init が Netplan を生成しているか確認している
  • netplan generate が成功する
  • リモート作業では netplan try を使っている
  • IP address、route、DNS resolver を反映後に確認している
  • 変更前の設定ファイルをバックアップしている

まとめ

Ubuntu 26.04 の Netplan 基本設定では、現在のインターフェイス名、既存設定、cloud-init の影響を確認してから、DHCP または固定 IP の設定を作成します。反映前は netplan generate、リモート作業では netplan try、反映後は ip addressip routeresolvectl status で状態を確認します。

ネットワーク設定はサーバー管理の入口です。ここが安定していると、複数 NIC、VLAN、bonding、bridge、policy based routing などの発展的な構成へ進みやすくなります。

関連する記事
Ubuntu 26.04 Netplan の基本設定 – IP アドレス / DNS / ルーティングを管理する

コメントを残す

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

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

トップへ戻る