はじめに:2.5GbEアダプタ活用と冗長化の目的

Raspberry Pi 5に有線LANアダプター(2.5Gbps)を追加した際、余ってしまう内蔵LANポート(1Gbps)を有効活用できていますか?

本記事では、内蔵LANとUSB LANアダプターを組み合わせてBonding(ボンディング)を設定し、ネットワークの冗長性(信頼性)を向上させる手順を解説します。

Raspberry Piをヘッドレス(ディスプレイなし)で運用している場合、ネットワーク設定のミスはSSH接続不能(締め出し)に直結します。今回は「万が一のSSH切断」を防ぐための安全な確認フローを含めた、Netplanによる設定手順をご紹介します。

使用するハードウェア環境

本体: Raspberry Pi 5

OS: Ubuntu / Raspberry Pi OS (Netplan使用環境)

追加アダプター: UGREEN 2.5Gbps USB LAN変換アダプター


手順1:現状確認とバックアップ(最重要)

設定に失敗しても元の状態に戻せるよう、現在のNetplan設定を確認しバックアップを取得します。

Netplan設定ファイルの確認

まず、現在適用されている設定ファイル名を確認します。

ls /etc/netplan/

設定ファイルのバックアップ

既存の設定ファイルをバックアップ用ディレクトリに退避させます。これにより、設定競合を防ぎます。

sudo mkdir /etc/netplan/backup
# ファイル名は環境によって異なります(例: 50-cloud-init.yaml や 90-NM-....yaml)
sudo mv /etc/netplan/90-NM-....yaml /etc/netplan/backup/

手順2:Bonding用Netplan設定ファイルの作成

ボンディング用設定ファイルの作成

Active-Backupモード(冗長化モード)の設定ファイルを作成します。

sudo nano /etc/netplan/99-bonding.yaml

以下の内容を記述します。

※注意: macaddress の部分は、必ずご自身のUSB LANアダプター等のMACアドレスに書き換えてください。

network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth0:
      dhcp4: false
      dhcp6: false
      optional: true
    eth1:
      dhcp4: false
      dhcp6: false
      optional: true
  bonds:
    bond0:
      interfaces:
        - eth1
        - eth0
      dhcp4: true
      dhcp6: false
      macaddress: XX:XX:XX:XX:XX:XX
      parameters:
        mode: active-backup
        primary: eth1
        mii-monitor-interval: 100

設定項目の解説

  • eth0 / eth1: 個別のIP取得 (dhcp4) を無効化し、Bondingインターフェースに制御を委ねます。
  • bond0: ここでDHCPを有効化します。
  • mode: active-backup: 通常はメイン回線を使用し、障害時のみサブ回線に切り替える方式です。スイッチ側の特別な設定(LACP等)が不要で家庭用ルーターでも使えます。
  • primary: eth1: 高速なUSB LAN (2.5GbE) を優先利用するよう指定します。

パーミッションの修正

セキュリティのため、設定ファイルの権限をrootのみ読み書き可能に変更します。

sudo chmod 600 /etc/netplan/99-bonding.yaml

手順3:構文エラーと競合の確認

設定を適用する前に、構文エラーがないか必ずテストします。

sudo netplan generate

※何も表示されなければ構文は正常です。エラーが出た場合はインデント(字下げ)等を確認してください。

設定ファイルの競合チェック

/etc/netplan/ フォルダ内に、eth0eth1 を定義している他のファイルが残っていないか再確認します。(重要)

ls /etc/netplan/

OK: 作成した 99-bonding.yaml、Wi-Fi用の設定ファイル

NG: 退避させたはずの古い設定ファイル(残っていると競合して接続不能になります)

手順4:MACアドレスと緊急用経路の確保

SSH接続が切れないように、念には念を入れて確認を行います。

MACアドレスの「目視」最終確認

設定ファイルに記述したMACアドレスが、物理デバイス(eth1)と一致しているか確認します。一文字でも異なると、ルーターから別のIPアドレスが割り当てられ、接続が切れる原因になります。

◆ 設定ファイルの記述を確認

grep macaddress /etc/netplan/99-bonding.yaml

◆実際の eth1 のMACアドレスを表示

ip link show eth1 | grep ether

上記2つの出力が完全に一致していることを確認してください。

【念のため】Wi-Fiによるバックドアの確認

万が一、有線LANの設定に失敗した場合でも、Wi-Fi経由でSSH接続できれば復旧が容易です。

ip a show wlan0

ここでIPアドレス(例: 192.168.x.x)が表示されていれば、そのIPを控えておきます。有線が不通になった際は、このWi-Fi用IPへSSH接続して修正を行います。

手順5:設定の適用と動作確認

全ての確認が完了したら、設定を適用します。

sudo netplan apply
挙動の注意点:

コマンド実行後、ネットワークの再構成によりSSHが一瞬応答しなくなる可能性があります。10秒ほど待ち、操作が可能になれば成功です。もし完全に切断された場合は、新しいターミナルから接続し直すか、手順4で確認したWi-Fi経由で接続してください。

適用後のステータス確認

IPアドレスとMACアドレスの確認

ip a

bond0 インターフェースが表示され、意図したIPアドレスが割り当たっているか確認します。

Bonding動作状況の確認

cat /proc/net/bonding/bond0

以下の状態であれば設定完了です:

  • Bonding Mode: fault-tolerance (active-backup)
  • Primary Slave: eth1
  • Currently Active Slave: eth1

これで、普段は2.5Gbpsの高速通信を行い、万が一USBアダプタが故障したり抜けた際には、自動的に内蔵LANへ切り替わる冗長化環境が整いました。