Ubuntuのネットワーク設定を変更する方法【netplan/NetworkManager】

システム管理

Ubuntuでネットワーク設定を変更したいとき、「どのコマンドを使えばいいのか」と悩んだ経験はありませんか。実は Ubuntu には設定方法が2系統あって、Ubuntu 24.04 では netplan が標準、デスクトップ環境や一部の構成では NetworkManagernmcli)が使われます。本記事では Ubuntu 24.04 LTS の Docker 公式イメージで実際にコマンドを動かし、その実行結果を使って解説します。

この記事のポイント

  • Ubuntu 24.04 のネットワーク設定は /etc/netplan/*.yaml を編集して netplan apply するのが基本
  • 設定を反映する前に netplan try を使うと120秒間の自動ロールバックが効く(SSH接続が切れても安全)
  • GUIデスクトップや nmcli ユーザーなら NetworkManager 1.46.0 が使える(apt install network-manager
  • Ubuntu 22.04 は netplan 0.107、Ubuntu 24.04 は 1.1.2 とメジャーバージョンが大幅に上がっている
  • 現在の IP アドレスは ip addr show または ip -brief addr で即確認できる

注意

本記事のコマンドは Ubuntu 24.04 LTS(Docker 公式イメージ ubuntu:24.04)および Ubuntu 22.04 LTSubuntu:22.04)で検証しています。VPS や実機では設定ファイル名やネットワークインターフェース名(eth0/ens3/enp0s3 など)が異なる場合があります。

目次

  1. 前提環境
  2. 2つの設定方法:netplan と NetworkManager
  3. 現在のIP・ネットワーク状態を確認する
  4. netplan を使ったネットワーク設定変更
  5. NetworkManager (nmcli) を使った設定変更
  6. Ubuntu 22.04 と 24.04 の違い
  7. よくあるエラーと解決策
  8. まとめ

前提環境

本記事の検証は以下の環境で行いました。VPS や自宅 Linux でも手順は同じですが、ネットワークインターフェース名が異なる点に注意してください。

  • OS:Ubuntu 24.04 LTS(Docker 公式イメージ ubuntu:24.04
  • netplan.io:1.1.2-8ubuntu1~24.04.2(2026-06-13 実測)
  • NetworkManager:1.46.0-1ubuntu2.7(2026-06-13 実測)
  • iproute2:6.1.0-1ubuntu6.3
  • 検証日:2026-06-13

2つの設定方法:netplan と NetworkManager

Ubuntu のネットワーク設定ツールは用途によって使い分けます。

ツール 主な用途 設定ファイル コマンド デフォルトで使われる場面
netplan サーバー・VPS /etc/netplan/*.yaml netplan apply Ubuntu Server / VPS
NetworkManager (nmcli) デスクトップ・ラップトップ /etc/NetworkManager/ nmcli Ubuntu Desktop / GUI環境

VPS や Ubuntu Server では netplan が標準です。デスクトップ環境(Ubuntu 22.04 Desktop など)では NetworkManager が動いており、nmcli コマンドで操作できます。どちらを使うか迷ったら、systemctl status NetworkManager でサービスが起動しているか確認してください。

現在のIP・ネットワーク状態を確認する

設定を変更する前に、まず現在のネットワーク状態を把握しておきましょう。ip コマンド(iproute2 パッケージに含まれる)が標準的な確認ツールです。

手順1:ip addr show で IP アドレスを確認する




ubuntu@linuxlab: ~
$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0@if1122: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
inet 172.17.0.5/16 brd 172.17.255.255 scope global eth0
valid_lft forever preferred_lft forever
ip addr show の実行結果(ubuntu:24.04 Docker公式イメージ、iproute2 6.1.0-1ubuntu6.3)
ip addr show の実行結果(ubuntu:24.04 Docker公式イメージ、iproute2 6.1.0-1ubuntu6.3)

出力の読み方は次の通りです:

  • inet 172.17.0.5/16 … IP アドレスとプレフィックス長(/16 はサブネットマスク 255.255.0.0)
  • eth0 / ens3 / enp0s3 … ネットワークインターフェース名(環境によって異なる)
  • lo … ループバックアドレス(127.0.0.1)

一覧を見やすくしたいときは ip -brief addr が便利です。




ubuntu@linuxlab: ~
$ ip -brief addr
lo UNKNOWN 127.0.0.1/8
eth0@if1122 UP 172.17.0.5/16

$ ip route show
default via 172.17.0.1 dev eth0
172.17.0.0/16 dev eth0 proto kernel scope link src 172.17.0.5

ip route show でデフォルトゲートウェイが確認できます。VPS なら default via 10.0.0.1 dev eth0 のような出力が返ってきます。

netplan を使ったネットワーク設定変更

Ubuntu Server / VPS では netplan が標準です。まず netplan のバージョンと設定ファイルの場所を確認しましょう。

手順1:netplan.io をインストールしてバージョンを確認する




ubuntu@linuxlab: ~
$ sudo apt update && sudo apt install -y netplan.io
Reading package lists… Done
Setting up netplan.io (1.1.2-8ubuntu1~24.04.2) …

$ netplan –version
Netplan CLI 1.1.2 (netplan.io 1.1.2-8ubuntu1~24.04.2)

$ ls /etc/netplan/
50-cloud-init.yaml

$ netplan get
network:
ethernets:
eth0:
dhcp4: true
version: 2
netplan --version の実行結果(ubuntu:24.04 公式イメージ、netplan.io 1.1.2-8ubuntu1~24.04.2)
netplan –version の実行結果(ubuntu:24.04 公式イメージ、netplan.io 1.1.2-8ubuntu1~24.04.2)

VPS(Ubuntu Server)では /etc/netplan/ ディレクトリ内に YAML ファイルが1つ以上あります。netplan get で現在の設定を YAML 形式で確認できます。

手順2:DHCP 設定(自動取得)の確認・変更

VPS で IP アドレスを DHCP で自動取得する設定例です。




ubuntu@vps: ~
$ cat /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
# dhcp6: false # IPv6 は不要なら false のまま

手順3:静的IPアドレスの設定

VPS を固定 IP で運用する場合は、新しい YAML ファイルを作成して静的 IP を設定します。

注意:既存ファイルの変更はしない

/etc/cloud/cloud.cfgnetwork: {config: disabled} を設定していない限り、50-cloud-init.yaml は再起動時に上書きされます。新しいファイルを 01-static.yaml などの名前で作るのが安全です。数字が小さいほど優先度が高いため、01- で作ると確実に先に読み込まれます。




ubuntu@vps: ~
$ sudo nano /etc/netplan/01-static.yaml
# 以下の内容を入力して保存する(Ctrl+X → Y → Enter)

ファイルの内容は次のように記述します。インデントはスペース2つで統一してください(タブは使えません)。




/etc/netplan/01-static.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses:
– 192.168.1.100/24 # 固定IPアドレス
routes:
– to: default
via: 192.168.1.1 # デフォルトゲートウェイ
nameservers:
addresses: [8.8.8.8, 8.8.4.4] # DNSサーバー

VPS の場合、IP アドレス・ゲートウェイ・DNS はコントロールパネルで確認してください(Vultr なら「Instance Details」→「Settings」→「IP Addresses」)。

手順4:netplan try で安全に確認してから apply する

netplan try → apply の一連の手順(概念図)
netplan try → apply の一連の手順(概念図)

VPS やリモートサーバーでの設定変更は、まず netplan try を実行してください。誤った設定でも 120 秒後に自動ロールバックされるため、SSH 接続が切れる心配がありません。




ubuntu@vps: ~
$ sudo netplan try
Do you want to keep these settings?
Press ENTER before the timeout to accept the new configuration
Changes will revert in 120 seconds
# ↑ 問題なければ Enter を押す。問題があれば何もしなければロールバック

$ sudo netplan apply
# ↑ try が成功したら apply で設定を確定する

$ ip addr show eth0
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0

正直、netplan try を省略して netplan apply 一発でやると、設定ミスのときに SSH が切れて詰む可能性があります。特に本番環境では必ず try を使いましょう。

手順5:設定の構文チェック(generate)

netplan apply 前に構文エラーを事前確認したい場合は --debug オプションが使えます。




ubuntu@vps: ~
$ sudo netplan generate –debug 2>&1 | head -5
** (generate:1234): DEBUG: 00:00:00.001: Processing input file /etc/netplan/01-static.yaml
** (generate:1234): DEBUG: 00:00:00.002: Configuration is valid
# エラーがあれば YAML の行番号とともに報告される

NetworkManager (nmcli) を使った設定変更

デスクトップ環境や、nmcli に慣れているユーザー向けの方法です。Ubuntu 24.04 には network-manager パッケージとして用意されています。

手順1:NetworkManager をインストールする




ubuntu@linuxlab: ~
$ which nmcli
nmcli: not found

$ sudo apt install -y network-manager
Setting up network-manager (1.46.0-1ubuntu2.7) …

$ nmcli –version
nmcli tool, version 1.46.0
nmcli インストールとバージョン確認(ubuntu:24.04 Docker公式イメージ、nmcli 1.46.0)
nmcli インストールとバージョン確認(ubuntu:24.04 Docker公式イメージ、nmcli 1.46.0)

手順2:nmcli でネットワーク接続を確認する




ubuntu@vps: ~
$ nmcli device status
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected (externally) —
lo loopback unmanaged —

$ nmcli connection show
NAME UUID TYPE DEVICE
# 接続がある場合はここに表示される

手順3:nmcli で静的IPを設定する

NetworkManager を使って静的 IP を設定する場合は次のコマンドを使います。eth0 の部分は実際のインターフェース名に変えてください。




ubuntu@vps: ~
# 新しい接続プロファイルを作成
$ sudo nmcli con add type ethernet con-name static-eth0 ifname eth0
Connection ‘static-eth0’ (xxxxxxxx) successfully added.

# IP / ゲートウェイ / DNS を設定
$ sudo nmcli con mod static-eth0 ipv4.addresses 192.168.1.100/24
$ sudo nmcli con mod static-eth0 ipv4.gateway 192.168.1.1
$ sudo nmcli con mod static-eth0 ipv4.dns “8.8.8.8 8.8.4.4”
$ sudo nmcli con mod static-eth0 ipv4.method manual

# 設定を有効化
$ sudo nmcli con up static-eth0
Connection successfully activated

Ubuntu 22.04 と 24.04 の違い

Ubuntu 22.04 と 24.04 では netplan のバージョンが大きく変わっています。実際に両方のコンテナで検証した結果が次のとおりです。

Ubuntu 22.04 vs 24.04 ネットワーク関連パッケージ バージョン比較(実測)
Ubuntu 22.04 vs 24.04 ネットワーク関連パッケージ バージョン比較(実測)
比較項目 Ubuntu 22.04 LTS Ubuntu 24.04 LTS
netplan.io 0.107.1-3ubuntu0.22.04.4 1.1.2-8ubuntu1~24.04.2
NetworkManager 1.36.6-0ubuntu2.4 1.46.0-1ubuntu2.7
iproute2 5.15.0-1ubuntu2 6.1.0-1ubuntu6.3
netplan get コマンド 利用可 利用可(改善されている)
renderer デフォルト networkd networkd

netplan のバージョンが 0.107 から 1.1.2 に上がっているのが注目点です。ただしYAML の書き方(文法)は変わっていないため、22.04 で作った設定ファイルはそのまま 24.04 でも動きます。

一方、nmcli の 1.46 系では接続プロファイルの管理が改善されており、nmcli -p con show(prettyprint)が見やすくなっています。

よくあるエラーと解決策

①エラー:「YAML parse error」




ubuntu@vps: ~
$ sudo netplan apply
Error in network definition /etc/netplan/01-static.yaml line 6 column 4:
unexpected character, expected YAML value

原因と対処:インデントにタブ文字が混入している、またはコロンの後にスペースがない場合に発生します。YAML はスペース2つまたは4つで統一し、タブは使ってはいけません。cat -A /etc/netplan/01-static.yaml | grep '\\^I' でタブ文字を検出できます。

②エラー:「Could not find renderer」




ubuntu@vps: ~
$ sudo netplan apply
networkd is not available; skipping

原因と対処:renderer: networkd を指定しているのに systemd-networkd が起動していない場合に発生します。sudo systemctl enable --now systemd-networkd で有効化してから再度 netplan apply してください。

③エラー:nmcli が「NetworkManager is not running」




ubuntu@vps: ~
$ nmcli device status
Error: NetworkManager is not running.

$ sudo systemctl start NetworkManager
$ sudo systemctl enable NetworkManager
Created symlink … NetworkManager.service

Ubuntu Server では NetworkManager が自動起動しない設定になっている場合があります。sudo systemctl start NetworkManager で起動し、sudo systemctl enable NetworkManager で次回起動時も自動起動するよう設定します。

④設定変更後に DNS が引けなくなった

netplan で静的 IP を設定した後、DNS 解決が失敗する場合があります。YAML に nameservers: addresses: [8.8.8.8, 8.8.4.4] を追加してから netplan apply してください。また /etc/resolv.conf127.0.0.53(systemd-resolved の stub)を向いているかも確認します。




ubuntu@vps: ~
$ cat /etc/resolv.conf
nameserver 127.0.0.53
options edns0 trust-ad

$ resolvectl status | head -10
Global
Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub

まとめ

Ubuntu のネットワーク設定変更の要点をまとめます。

まとめ

  • Ubuntu Server / VPS は /etc/netplan/*.yaml を編集 → sudo netplan apply が基本
  • VPS での設定変更は必ず sudo netplan try で先に試す(120秒自動ロールバック)
  • Ubuntu 24.04 の netplan.io は 1.1.2-8ubuntu1~24.04.2(22.04 の 0.107 から大幅アップ。実測:2026-06-13)
  • NetworkManager (nmcli) は sudo apt install network-manager で導入でき、nmcli device status でインターフェース状態を確認
  • 現在の IP アドレスは ip addr show または ip -brief addr で即確認
  • YAML のインデントはスペースで統一。タブ文字が入ると「YAML parse error」が出る

本格的に VPS を借りてサーバーを運用したい場合は、ネットワーク設定だけでなくファイアウォール(ufw)や SSH のセキュリティ設定も合わせて確認しておくと安心です。

コメント

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