DNS がよくわかる教科書 第 2 版
DNS の基本、名前解決、権威 DNS、キャッシュ DNS、DNSSEC などを体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
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 generate、netplan try、netplan applyの使い分け- 反映後の確認と切り戻しの考え方
| 対象 OS | Ubuntu 26.04 Server |
|---|---|
| 設定方式 | Netplan |
| 主な設定先 | /etc/netplan/*.yaml |
| 主な確認 | netplan get、ip address、ip route、resolvectl status |
| 注意点 | リモート作業では netplan try を優先し、切断時の復旧経路を用意する |
Netplan の役割を確認する
Netplan は、ネットワーク設定を YAML 形式の設定ファイルとして管理し、renderer に渡す仕組みです。Ubuntu Server では systemd-networkd を使う構成が一般的です。
/etc/netplan/*.yamlにネットワーク設定を置くrendererがnetworkdかNetworkManagerか確認する- 反映前に
netplan generateで構文を確認する - リモート作業では
netplan tryで自動切り戻しを使う
現在の状態を確認する
設定を変更する前に、インターフェイス名、IP address、route、DNS、既存の Netplan 設定を確認します。実際のインターフェイス名は環境により異なります。
ip link
ip address
ip route
resolvectl status
ls -l /etc/netplan
sudo netplan getcloud-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/*.yamlDHCP の最小設定を作成する
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 address、ip route、resolvectl status で状態を確認します。
ネットワーク設定はサーバー管理の入口です。ここが安定していると、複数 NIC、VLAN、bonding、bridge、policy based routing などの発展的な構成へ進みやすくなります。

