Ubuntuでネットワーク設定を変更したいとき、「どのコマンドを使えばいいのか」と悩んだ経験はありませんか。実は Ubuntu には設定方法が2系統あって、Ubuntu 24.04 では netplan が標準、デスクトップ環境や一部の構成では NetworkManager(nmcli)が使われます。本記事では 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 LTS(ubuntu:22.04)で検証しています。VPS や実機では設定ファイル名やネットワークインターフェース名(eth0/ens3/enp0s3 など)が異なる場合があります。
目次
- 前提環境
- 2つの設定方法:netplan と NetworkManager
- 現在のIP・ネットワーク状態を確認する
- netplan を使ったネットワーク設定変更
- NetworkManager (nmcli) を使った設定変更
- Ubuntu 22.04 と 24.04 の違い
- よくあるエラーと解決策
- まとめ
前提環境
本記事の検証は以下の環境で行いました。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 アドレスを確認する
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

出力の読み方は次の通りです:
inet 172.17.0.5/16… IP アドレスとプレフィックス長(/16 はサブネットマスク 255.255.0.0)eth0/ens3/enp0s3… ネットワークインターフェース名(環境によって異なる)lo… ループバックアドレス(127.0.0.1)
一覧を見やすくしたいときは 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 をインストールしてバージョンを確認する
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

VPS(Ubuntu Server)では /etc/netplan/ ディレクトリ内に YAML ファイルが1つ以上あります。netplan get で現在の設定を YAML 形式で確認できます。
手順2:DHCP 設定(自動取得)の確認・変更
VPS で IP アドレスを DHCP で自動取得する設定例です。
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: true
# dhcp6: false # IPv6 は不要なら false のまま
手順3:静的IPアドレスの設定
VPS を固定 IP で運用する場合は、新しい YAML ファイルを作成して静的 IP を設定します。
注意:既存ファイルの変更はしない
/etc/cloud/cloud.cfg が network: {config: disabled} を設定していない限り、50-cloud-init.yaml は再起動時に上書きされます。新しいファイルを 01-static.yaml などの名前で作るのが安全です。数字が小さいほど優先度が高いため、01- で作ると確実に先に読み込まれます。
# 以下の内容を入力して保存する(Ctrl+X → Y → Enter)
ファイルの内容は次のように記述します。インデントはスペース2つで統一してください(タブは使えません)。
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 する

VPS やリモートサーバーでの設定変更は、まず netplan try を実行してください。誤った設定でも 120 秒後に自動ロールバックされるため、SSH 接続が切れる心配がありません。
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 オプションが使えます。
** (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 をインストールする
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

手順2:nmcli でネットワーク接続を確認する
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected (externally) —
lo loopback unmanaged —
$ nmcli connection show
NAME UUID TYPE DEVICE
# 接続がある場合はここに表示される
手順3:nmcli で静的IPを設定する
NetworkManager を使って静的 IP を設定する場合は次のコマンドを使います。eth0 の部分は実際のインターフェース名に変えてください。
$ 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 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」
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」
networkd is not available; skipping
原因と対処:renderer: networkd を指定しているのに systemd-networkd が起動していない場合に発生します。sudo systemctl enable --now systemd-networkd で有効化してから再度 netplan apply してください。
③エラー:nmcli が「NetworkManager is not running」
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.conf が 127.0.0.53(systemd-resolved の stub)を向いているかも確認します。
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 のセキュリティ設定も合わせて確認しておくと安心です。


コメント