【無料ツール】画像をPDFに変換するPhotoPDF Appを公開しました!

【最新Ubuntu 26.04 LTS】サーバー構築入門 第5回:Netplanによる高度なネットワーク設定とIPv6完全対応

記事内に広告が含まれています。

こんにちは!「LINUX工房」管理人の「リナックス先生」です。
最新の「Ubuntu 26.04 LTS サーバー構築入門」、ついに折り返し地点となる第5回を迎えました。前回はOS内部の不要サービスを停止し、Linux Kernel 7.0のネットワークスタックを鍛え上げる「内側の防御」を行いました。

さて、サーバーが安全になったところで、いよいよ「通信の道筋」を本格的に整備します。今回のテーマは、サーバーの生命線である「ネットワーク設定(Netplan)」と、これからのインフラ標準である「IPv6の完全対応」です。

昔のLinuxを知っている方は、ネットワーク設定といえば /etc/network/interfaces や、RHEL系の /etc/sysconfig/network-scripts/ を想像するかもしれません。しかし、現在のUbuntuは全く異なるモダンなアーキテクチャ「Netplan(ネットプラン)」を採用しています。YAML形式で記述するこの仕組みを極めることが、モダンインフラエンジニアへの登竜門です。

コウ君

先生、第1回のインストール時に固定IPは設定しましたが、コマンドラインから後で変更するにはどうすればいいんでしょうか?
それに最近、VPSを借りたら「IPv6アドレス」も自動的に割り当てられていて、どう設定していいか分からず放置しています……。IPv4だけで十分じゃないんですか?

リナックス先生

コウ君、ネットワーク設定をGUI(インストーラー)に頼り切りなのはそろそろ卒業よ!クラウド環境では、後からネットワークカード(NIC)を追加したり、IPを変更したりする作業が頻繁に発生するわ。
そしてIPv6を放置するのは絶対にNG!現代のモバイル端末の大半はIPv6で通信しているから、IPv6に対応しないとサイトの表示速度が低下する原因になるの。今日はNetplanを使って、IPv4とIPv6が共存する「デュアルスタック環境」を完璧に構築するわよ!

本記事では、Netplanの基本アーキテクチャから始まり、YAML構文の罠の回避、最新のルーティング設定(gateway4の非推奨化に伴う対応)、そしてプロの現場で必須となる複数NICの冗長化(Bonding)まで、徹底的に解説します。

🚀 Ubuntu 26.04サーバー構築入門・連載ロードマップ(全8回)


[PR]

1. Ubuntuのネットワーク革命「Netplan」のアーキテクチャ

サーバーにログインしてネットワーク設定を変えようとしたとき、昔の知識で /etc/network/interfaces を探しても、Ubuntu 26.04には存在しません。Ubuntuはバージョン17.10からネットワーク管理を「Netplan」というツールに完全移行しました。

1-1. Netplanは「フロントエンド(翻訳機)」である

Netplan自体は、ネットワークを直接動かすデーモン(常駐プログラム)ではありません。人間が理解しやすいYAML(ヤムル)形式で書かれた設定ファイルを読み込み、それをOSの裏側で動いている「実際のネットワーク管理ツール(バックエンド)」が理解できる形に翻訳して渡す役割を担っています。

1-2. バックエンド:systemd-networkd vs NetworkManager

Netplanが翻訳した設定を実際に動かすバックエンドには、以下の2種類があります。

バックエンド 特徴と用途
systemd-networkd サーバー版Ubuntuのデフォルト。CUI環境で軽量かつ高速に動作します。固定IPやルーティングなど、静的なネットワーク構成に最適です。
NetworkManager デスクトップ版Ubuntuのデフォルト。Wi-Fiの切り替えやVPN接続など、GUI環境での動的なネットワーク変更に向いています。

今回はWebサーバー構築ですので、バックエンドには軽量で安定した systemd-networkd を指定して進めます。


2. NetplanとYAML構文の絶対ルール(インデントの罠)

Netplanの設定ファイルは /etc/netplan/ ディレクトリの下に配置されます。
ファイル名は環境によって 00-installer-config.yaml50-cloud-init.yaml など様々ですが、拡張子が .yaml であればすべて読み込まれます。

2-1. YAMLを書く際の「3つの死の掟」

YAML形式は人間にとって非常に読みやすい反面、書き方に厳格なルールがあります。初心者のNetplan設定ミスによる「サーバーネットワーク切断事故」の99%は、このルール違反が原因です。

⚠️ YAML記述の絶対ルール

  1. インデント(字下げ)は「半角スペース」のみを使用する。 キーボードのTabキーは絶対に禁止です。1つでもTabが含まれるとパースエラーで弾かれます。
  2. 階層を正確に揃える。 同じレベルの設定は、先頭のスペースの数を完全に一致させなければなりません(プロの現場では「スペース2つ刻み」で階層を下げるのが標準です)。
  3. コロン(:)の直後には必ず「半角スペース」を入れる。 dhcp4:false はNGです。dhcp4: false が正解です。

3. 実践:IPv4の静的(Static)IP設定とデフォルトルートの書き方

それでは、実際のNetplan設定ファイルを見ていきましょう。サーバーにSSHログインし、エディタで設定ファイルを開きます。

# 既存の設定ファイルを確認する
ls -l /etc/netplan/

# 見つかったファイル(例:50-cloud-init.yaml)を編集する
sudo nano /etc/netplan/50-cloud-init.yaml

3-1. 正しいIPv4固定IP設定のテンプレート

以下は、インターフェース名が enp3s0 で、IPアドレスを 192.168.1.100 に固定する場合のプロ仕様のテンプレートです。

🚨 26.04 LTSにおける重要変更点
古い解説記事では gateway4: 192.168.1.1 という書き方が紹介されていますが、現在のNetplanでは非推奨(Deprecated)となっており、警告が出ます。最新環境では必ず routes を使用したルーティング記述に切り替えてください。

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
      dhcp6: false
      addresses:
        - 192.168.1.100/24
      # 旧gateway4の代替となる最新のルーティング記述
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 1.1.1.1
        search: []

3-2. 各項目のディープな解説

  • renderer: networkd: バックエンドにsystemd-networkdを使用することを明示します。
  • enp3s0:: ネットワークカードの名前です。ip a コマンドで自分の環境の正しい名前(eth0ens18 など)を確認して書き換えてください。
  • dhcp4: false: DHCP(自動割り当て)を無効化し、固定IPにすることを宣言します。
  • addresses:: 割り当てるIPアドレスです。リスト形式(- ハイフン始まり)で記述し、必ず末尾にサブネットマスク(/24 など)をCIDR表記で記述します。
  • routes: - to: default via: 192.168.1.1: これがデフォルトルート(未知の宛先に対する出口)の正しい書き方です。すべての通信(default)をルーター(192.168.1.1)へ流すよう指示しています。
  • nameservers:: DNSサーバー(名前解決)の指定です。パブリックDNS(Googleの8.8.8.8やCloudflareの1.1.1.1)を指定するのが安定的です。

4. ネットワークを止めるな!神コマンド「netplan try」

設定ファイルを書き終えたら、通常であれば「設定の反映」を行います。しかし、もしSSHで遠隔作業をしている最中に、IPアドレスの打ち間違いやYAMLの構文エラー(スペースの欠落など)があったらどうなるでしょうか?

設定を適用した瞬間にSSH接続が切れ、二度とサーバーに入れなくなります。 データセンターに走るか、VPSのコントロールパネルから強制再起動をかける羽目になります。

4-1. 自動ロールバック機能付きのテスト適用

この悲劇を防ぐために、Netplanにはインフラエンジニアの命を救う神のようなコマンドが用意されています。それが netplan try です。

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
コウ君

あ!「120秒以内にEnterを押さないと、元の設定に戻る(revert)」って書いてあります!
つまり、設定を間違えてSSHが切断されたとしても、2分待てば自動的に元のIPアドレスに戻って、再びアクセスできるようになるってことですか!?

リナックス先生

その通りよ、コウ君!これがNetplan最大の強み、「自動ロールバック機能」よ。
遠隔地のサーバーをいじるときは、いきなり netplan apply(即時適用)を打つのは絶対にNG。必ず netplan try を打って、SSHが切断されないことを確認してからEnterを押して設定を確定させるのがプロの作法なのよ!


5. IPv6の基礎知識とデュアルスタックネットワークの構築

IPv4の設定が完璧になったところで、現代のインターネットインフラに不可欠なIPv6(Internet Protocol Version 6)の設定を追加します。

5-1. なぜIPv6対応が必須なのか?

現在、日本のスマートフォンキャリア(docomo, au, Softbank)や家庭用光回線(IPoE)の多くが、標準でIPv6通信を行っています。サーバー側がIPv4しか対応していない場合、通信の途中でプロバイダの変換装置(NAT64/DNS64等)を経由することになり、無駄な遅延が発生します。
IPv4とIPv6の両方のアドレスを持たせる「デュアルスタック」構成にすることで、ユーザーの環境に合わせた最速の経路でWebサイトを提供できるようになります。SEO(検索順位)の観点でも表示速度の最適化は重要です。

5-2. IPv6の固定IP設定テンプレート

IPv4の設定に、IPv6の設定を「追記」します。(※VPS等の管理画面で、自分に割り当てられているIPv6アドレスとゲートウェイを確認してください)

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: false
      dhcp6: false
      addresses:
        # IPv4アドレス
        - 192.168.1.100/24
        # IPv6アドレス(通常は /64 のサブネットが割り当てられます)
        - 2001:0db8:1234:5678::10/64
      routes:
        # IPv4のデフォルトルート
        - to: default
          via: 192.168.1.1
        # IPv6のデフォルトルート(旧gateway6の代替)
        - to: default
          via: 2001:0db8:1234:5678::1
      nameservers:
        addresses:
          - 8.8.8.8            # Google IPv4 DNS
          - 1.1.1.1            # Cloudflare IPv4 DNS
          - 2001:4860:4860::8888 # Google IPv6 DNS

設定を保存したら、再度 sudo netplan try でテストし、問題なければ確定します。
その後、ping6 google.com または ping -6 google.com を実行して、IPv6経由でインターネットに抜けられるか疎通確認を行います。


6. 【上級編】複数NICの冗長化(Bonding / リンクアグリゲーション)

ここからは、インフラエンジニアとしてさらにレベルアップするための高度なネットワーク構築技術を解説します。データセンターの物理サーバーや、エンタープライズ向けのプライベートクラウドを構築する際、「LANケーブルが1本断線したくらいでシステムを止めるわけにはいかない」という要件が必ず出ます。

6-1. ボンディング(Bonding)とは?

複数のネットワークカード(NIC)を論理的に束ねて、1つの太い、または壊れにくい仮想的なネットワークインターフェースを作る技術です。「チーミング」や「リンクアグリゲーション」とも呼ばれます。

  • Active-Backup(アクティブ・バックアップ): 普段はNIC1を使い、NIC1が壊れた瞬間に自動でNIC2に切り替わる(高可用性重視)。
  • 802.3ad(LACP): 2本のNICを同時に使い、帯域幅(スピード)を2倍にする(パフォーマンス重視。※対応したスイッチが必要)。

6-2. NetplanでのActive-Backup設定例

eth0eth1 という2つの物理NICを束ねて、bond0 という仮想インターフェースを作るNetplan設定です。

network:
  version: 2
  renderer: networkd
  ethernets:
    # 束ねる元のインターフェースはIPを持たせずDHCPも無効化する
    eth0:
      dhcp4: false
    eth1:
      dhcp4: false
  bonds:
    bond0:
      interfaces:
        - eth0
        - eth1
      # 仮想インターフェース(bond0)にIPアドレス等の設定を書く
      addresses:
        - 10.0.0.50/24
      routes:
        - to: default
          via: 10.0.0.1
      parameters:
        mode: active-backup
        # ネットワーク障害を検知するためのミリ秒間隔(MII監視)
        mii-monitor-interval: 100
        # プライマリ(優先)インターフェースの指定
        primary: eth0

Netplanの美しさはここにあります。かつて複雑なカーネルモジュールの設定や複数の設定ファイルを作成しなければならなかったボンディング構成が、たった1つのYAMLファイルで、しかも直感的な構造で構築できるのです。


7. 【超上級編】ポリシーベースルーティング(PBR)による通信経路の分離

さらに複雑な要件として「データベースサーバーからの通信は裏側の専用ネットワーク(VPN)を通し、Webの通信だけを表のインターネットに出したい」といった、条件によって通信の出口を変える高度なルーティング(ポリシーベースルーティング)もNetplanで実現可能です。

7-1. routing-policyの活用

単純な routes だけでなく、routing-policy を使って「どのIPから来た通信は、どのゲートウェイに返すか」を細かく制御します。

network:
  version: 2
  ethernets:
    eth0:
      addresses: [ "192.168.1.100/24" ]
      routing-policy:
        # 送信元が192.168.1.100の通信は、カスタムルーティングテーブル「100番」を見る
        - from: 192.168.1.100
          table: 100
      routes:
        # テーブル100番のデフォルトゲートウェイを独自に定義
        - to: default
          via: 192.168.1.1
          table: 100

この設定は「ソースルーティング(送信元IPに基づくルーティング)」と呼ばれ、複数のIPアドレス(グローバルIPとローカルIPなど)を1つのサーバーに割り当てる際、「入ってきたNICから必ず応答を返す」ための必須技術(非対称ルーティングの回避)となります。大規模インフラを設計する際には必ず登場するので、存在だけでも覚えておきましょう。


8. AIを活用したエラーのないNetplan設定ファイルの自動生成

YAMLのインデントミスや、非推奨構文(gateway4など)の使用は、人間が手作業で書くと必ずと言っていいほど発生します。とくに階層が深くなるルーティング設定では致命的です。
ここは、インフラエンジニアの強力なパートナーであるAI(Gemini等)の出番です。ネットワークの要件(日本語)を伝え、完璧なYAMLを生成させましょう。

8-1. Netplan生成用プロンプトの極意

「あなたは熟練のクラウドインフラエンジニアです。
Ubuntu 26.04 LTS環境向けのNetplan設定ファイル(YAML)を生成してください。

【ネットワーク要件】
・インターフェース名: ens18
・IPv4アドレス: 10.1.1.20 / サブネット: 255.255.255.0
・IPv4ゲートウェイ: 10.1.1.1
・IPv6アドレス: 2001:db8:1111::20 / サブネットプレフィックス: 64
・IPv6ゲートウェイ: 2001:db8:1111::1
・DNSサーバー: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888

【制約事項(厳守)】
1. Ubuntu 26.04の仕様に合わせ、非推奨の `gateway4` や `gateway6` は絶対に使用せず、`routes` を用いた最新の記述方式にすること。
2. バックエンドは `systemd-networkd` を指定すること。
3. YAMLのインデントにはTabを絶対に使わず、2スペース刻みで厳格にフォーマットすること。
4. 適用前の安全確認として `netplan try` コマンドの実行手順を併記すること。」

このプロンプトを使用することで、AIはあなたの環境に特化した、そのままコピペして動く完璧なNetplan設定を生成してくれます。構文エラーによる締め出しリスクをゼロにするための、プロの現代的なハックです。


総まとめ:ネットワークを制する者がインフラを制す

第5回の講座、本当にお疲れ様でした!今回はインフラの根幹に関わる、非常に密度が高く重要な部分を扱いました。

旧来の /etc/network/interfaces の知識をアップデートし、モダンなYAMLベースの Netplan の思想を理解したこと。
非推奨となった gateway4 の罠を避け、正しい routes 構文でルーティングを記述できるようになったこと。
そして何より、リモート作業の命綱である netplan try を使って、安全に設定をテストする「プロの作法」を身につけたこと。

さらに、これからのインフラ標準である IPv6デュアルスタック や、冗長性を確保する Bonding といった高度な技術にも触れました。これであなたのサーバーは、どんな複雑なネットワーク環境に置かれても、正確かつ強靭に通信を捌くことができる「完璧な土台」へと仕上がりました。

OSのインストール、セキュリティ強化、そしてネットワーク整備。これで「インフラの土台作り」は完全に整いました。いよいよ、この強固な土台の上で、実際に世の中にサービスを提供するアプリケーションを動かすフェーズに入ります。

次回、第6回「Nginxのインストールと最新Webサーバーの構築」では、世界一のシェアを誇る高速Webサーバー「Nginx(エンジンエックス)」を導入します。Apacheよりも大量の同時接続を軽快に捌く、モダンWebアーキテクチャの神髄を徹底解説します!お楽しみに!

▼ 高度なネットワーク構成を実践しよう ▼

IPv6デュアルスタックや複数NICを試すなら
「カスタマイズ性の高い国内VPS」

おすすめVPS比較ランキングを見る

L3/L2ネットワークの知識を武器に
「クラウドインフラエンジニアへ転職」

ITエンジニア専門の転職支援

[PR]

💡 サーバー構築やコマンドの練習には、VPSが圧倒的におすすめです

手元のパソコンや大切なメイン環境で検証を行うと、設定ミスでシステムを壊してしまったり、不要なパッケージが溜まって動作が不安定になるリスクがあります。

もしあなたが実務レベルのスキルを最短で身につけたいのであれば、月額ワンコインから使えて、失敗しても数分で初期状態にリセットできるVPS(仮想専用サーバー)を利用するのが、プロも実践する最も確実で安全な学習方法です。

▼ プロも推奨するVPS環境はこちら ▼

Ubuntu講座
linux工房をフォローする

コメント