Ubuntu Serverを自宅サーバー、検証用VM、Proxmox VEやESXi上のサーバーとして使う場合、IPアドレスを固定しておくと管理しやすくなる。
この記事では、Ubuntu 26.04 ServerでNetplanを使って固定IPアドレスを設定する手順を整理する。実機のUbuntu 26.04 LTS環境でも、設定例の構文確認まで検証している。
検証環境
| 項目 | 内容 |
|---|---|
| OS | Ubuntu 26.04 LTS |
| コードネーム | Resolute |
| Netplan | netplan.io 1.2-1ubuntu5 |
| ネットワーク管理 | systemd-networkd |
| 検証環境 | Proxmox VE |
| インターフェース名 | ens18 |
Ubuntu 26.04 LTSは2026年4月23日にリリースされた長期サポート版である。標準サポート期間は5年で、2031年4月までセキュリティ更新と重要な修正が提供される。
固定IPを設定する前に確認すること
まず、現在のネットワーク情報を確認する。特に重要なのは、以下の4つである。
- ネットワークインターフェース名
- 現在のIPアドレス
- デフォルトゲートウェイ
- DNSサーバー
インターフェース名を確認する
以下のコマンドで確認する
ip addr
短く確認したい場合は、以下でも構わない。
ip -br addr
検証環境では、以下のように表示された。
ubuntu@ubuntu-2604:~$ ip -br addr
lo UNKNOWN 127.0.0.1/8 ::1/128
ens18 UP 192.168.11.38/24 metric 100 2408:210:b903:8400:be24:11ff:fe4e:1c25/64 fe80::be24:11ff:fe4e:1c25/64この場合、設定で使うインターフェース名は ens18 である。
インターフェース名は環境によって異なる。
| インターフェース名の例 |
|---|
ens18 |
ens160 |
enp0s3 |
eth0 |
記事や古いサンプルでは eth0 と書かれていることがあるが、実際のUbuntu Serverでは別名になっていることが多い。必ず自分の環境で確認する。
デフォルトゲートウェイを確認する
以下のコマンドで確認する
ip route
検証環境では、以下のように表示された。
ubuntu@ubuntu-2604:~$ ip route
default via 192.168.11.1 dev ens18 proto dhcp src 192.168.11.38 metric 100
192.168.11.0/24 dev ens18 proto kernel scope link src 192.168.11.38 metric 100
192.168.11.1 dev ens18 proto dhcp scope link src 192.168.11.38 metric 100この場合、デフォルトゲートウェイは 192.168.11.1 である。
DNSサーバーを確認する
以下のコマンドで確認する
resolvectl status
検証環境では、ens18 にDNSサーバーとして 192.168.11.1 が設定されていた。
Current DNS Server: 192.168.11.1Netplanの設定ファイルを確認する
Netplanの設定ファイルは、以下のディレクトリにある。
/etc/netplan/ファイルを確認する
ls -l /etc/netplan/
検証環境では、00-installer-config.yamlファイルがあった。
ubuntu@ubuntu-2604:~$ ls -l /etc/netplan/
total 4
-rw------- 1 root root 207 May 10 02:01 00-installer-config.yaml
ubuntu@ubuntu-2604-autoinstall:~$環境によっては、50-cloud-init.yaml のようなファイル名になっていることもある。以降のコマンドでは 00-installer-config.yaml を例にするが、自分の環境にあるファイル名に読み替える。
現在の設定を以下コマンドで確認する。
sudo cat /etc/netplan/00-installer-config.yaml
検証環境の初期設定は、以下のようにDHCPでIPアドレスを取得する内容だった。
# This is the network config written by 'subiquity'
network:
ethernets:
ens18:
dhcp4: true
dhcp6: true
match:
macaddress: bc:24:11:4e:1c:25
set-name: ens18
version: 2設定ファイルをバックアップする
変更前に、必ず設定ファイルのバックアップを取得する。
00-installer-config.yaml.bakという名前でバックアップをとる
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
ネットワーク設定を間違えると、SSH接続できなくなることがある。特にリモート作業では、バックアップを取ってから編集する。
固定IPアドレスを設定する
Netplanの設定ファイルを編集する。
sudo vi /etc/netplan/00-installer-config.yaml
以下は、固定IPアドレスを設定する例である。
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: false
addresses:
- 192.168.11.38/24
routes:
- to: default
via: 192.168.11.1
nameservers:
addresses:
- 192.168.11.1
- 8.8.8.8上記の例では、以下の設定になる。
| 項目 | 値 |
|---|---|
| インターフェース名 | ens18 |
| IPアドレス | 192.168.11.38 |
| サブネット | /24 |
| デフォルトゲートウェイ | 192.168.11.1 |
| DNSサーバー | 192.168.11.1, 8.8.8.8 |
/24 は、サブネットマスク 255.255.255.0 を意味する。
自分の環境に合わせて、IPアドレス、ゲートウェイ、DNSサーバーを変更する。同じネットワーク内で、ほかの機器が使っていないIPアドレスを指定する必要がある。
IPv6を使わない検証環境であれば、IPv4の固定IP設定だけでも問題ない。
設定項目の意味
| 項目 | 説明 |
|---|---|
network | ネットワーク設定全体の定義 |
version: 2 | Netplan設定のバージョン |
renderer: networkd | systemd-networkdを使う設定 |
ethernets | 有線ネットワークの設定 |
dhcp4: false | IPv4のDHCPを無効化 |
addresses | 固定IPアドレス |
routes | ルーティング設定 |
to: default | デフォルトルート |
via | デフォルトゲートウェイ |
nameservers | DNSサーバー設定 |
ファイル権限を修正する
Netplanの設定ファイルの権限が緩いと、以下のような警告が出ることがある。
Permissions for /etc/netplan/00-installer-config.yaml are too open.
Netplan configuration should NOT be accessible by others.検証環境でも、権限が緩い設定ファイルではこの警告を確認できた。以下のように権限を設定しておく。
sudo chmod 600 /etc/netplan/00-installer-config.yaml
設定を反映する
まず、構文を確認する。
sudo netplan generate
エラーが出なければ、次に netplan try を使う。
sudo netplan try
netplan try は設定を一時的に適用するコマンドである。問題がなければEnterで確定する。確認しなかった場合や接続が失われた場合は、自動的にロールバックされる。
SSH接続中にネットワーク設定を間違えると、接続が切れて戻れなくなることがある。そのため、リモート作業では、いきなり netplan apply を実行するよりも、先に netplan try を使う方が安全である。
問題がなければ、設定を反映する。
sudo netplan apply
固定IPアドレスが反映されたか確認する
IPアドレスを確認する。
ip addr show ens18
短く確認するなら、以下でも構わない。
ip -br addr show ens18
ルーティングを確認する。
ip route
以下のような行があれば、デフォルトゲートウェイが設定されている。
default via 192.168.11.1 dev ens18
DNSを確認する。
resolvectl status
疎通確認も行う。
ping -c 4 8.8.8.8
IPアドレス宛にpingが通る場合、ネットワーク自体は疎通できている。次に、名前解決を確認する。
ping -c 4 google.com
8.8.8.8 にはpingが通るのに google.com にpingが通らない場合、DNS設定に問題がある可能性が高い。
よくあるハマりどころ
インターフェース名が違う
サンプルでは eth0 と書かれていることがあるが、実際のUbuntu Serverでは ens18、ens160、enp0s3 などになっていることがある。
設定ファイルのインターフェース名と、実際のインターフェース名が違うと、固定IPは反映されない。
YAMLのインデントミス
NetplanはYAML形式で設定する。インデントがずれていると設定に失敗する。
不安な場合は、設定後に以下を実行する。
sudo netplan generate
エラーが出る場合は、インデントやキー名の間違いを確認する。
SSH接続が切れる
SSH接続中にIPアドレスを変更すると、接続が切れることがある。リモート作業の場合は、以下の順番がおすすめである。
sudo netplan generate
sudo netplan try
sudo netplan applynetplan try を使うと、設定ミス時に自動で元に戻せる可能性がある。
インターネットに出られない
IPアドレスは設定できたのにインターネットに出られない場合は、デフォルトゲートウェイを確認する。
ip route
以下のような行があるか確認する。
default via 192.168.11.1 dev ens18なければ、Netplanの routes を見直す。
routes:
- to: default
via: 192.168.11.1名前解決ができない
たとえば、以下は成功するとする。
ping -c 4 8.8.8.8
しかし、以下が失敗する場合である。
ping -c 4 google.com
この場合、DNS設定を確認する。
nameservers:
addresses:
- 192.168.11.1
- 8.8.8.8設定後、以下でDNSの状態を確認する。
resolvectl status
gateway4 を使った古い記事がある
古い記事では、以下のような書き方を見かけることがある。
gateway4: 192.168.11.1Ubuntu 26.04で新しく設定するなら、以下のように routes を使ってデフォルトルートを書く形で覚えるのがおすすめである。
routes:
- to: default
via: 192.168.11.1Netplan公式ドキュメントの固定IP設定例でも、addresses、routes、nameservers を使う形が示されている。
cloud-initに設定を上書きされる場合がある
クラウドイメージやProxmoxのcloud-initテンプレートを使っている場合、Netplanの設定がcloud-initによって生成されていることがある。
その場合、設定ファイル名が以下のようになっていることがある。
50-cloud-init.yamlファイル内に以下のようなコメントがある場合は、cloud-initによって生成された設定である。
# This file is generated from information provided by the datasource.この場合、直接編集しても、環境によっては再生成される可能性がある。検証環境であればバックアップを取った上で編集してもよいが、本番環境やクラウド環境ではcloud-init側の設定も確認する。
DHCPに戻す場合
固定IPをやめてDHCPに戻したい場合は、以下のように設定する。
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: true設定後に反映する。
sudo netplan generate
sudo netplan try
sudo netplan applyDHCPに戻すと、IPアドレスはルーターやDHCPサーバーから自動取得される。
最小構成の設定例
検証環境でシンプルに固定IPを設定する場合は、以下のような構成で十分である。
network:
version: 2
renderer: networkd
ethernets:
ens18:
dhcp4: false
addresses:
- 192.168.11.38/24
routes:
- to: default
via: 192.168.11.1
nameservers:
addresses:
- 192.168.11.1外部DNSも設定したい場合は、以下のように追加する。
nameservers:
addresses:
- 192.168.11.1
- 8.8.8.8
- 1.1.1.1作業手順まとめ
Ubuntu 26.04 Serverで固定IPを設定するコマンドの流れは以下である。
ip addr
ip route
resolvectl status
ls -l /etc/netplan/
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak
sudo nano /etc/netplan/00-installer-config.yaml
sudo chmod 600 /etc/netplan/00-installer-config.yaml
sudo netplan generate
sudo netplan try
sudo netplan apply
ip addr
ip route
resolvectl status確認するべきポイントは、以下の4つである。
- インターフェース名が正しいか
- IPアドレスとサブネットが正しいか
- デフォルトゲートウェイが正しいか
- DNSサーバーが正しいか
まとめ
Ubuntu 26.04 Serverで固定IPアドレスを設定する場合は、NetplanのYAMLファイルを編集する。
ip addrでインターフェース名を確認するip routeでデフォルトゲートウェイを確認する/etc/netplan/配下の設定ファイルをバックアップするaddresses、routes、nameserversを設定するchmod 600で権限を整えるnetplan generateで構文を確認するnetplan tryで安全に試すnetplan applyで反映するip addr、ip route、resolvectl statusで確認する
NetplanはYAML形式なので、最初は少し分かりにくく感じるかもしれない。ただ、固定IP設定で見るべきポイントは、インターフェース名、IPアドレス、ゲートウェイ、DNSサーバーの4つである。
Proxmox VEやESXi上にUbuntu Serverを作る場合、IPアドレスを固定しておくと、SSH接続やDocker検証、Webサーバー構築などが扱いやすくなる。
