【Cockpit】仮想マシンをLANに参加させる:ブリッジ接続の設定手順 (KVM)

公開日:

本記事では、Linux管理ツール Cockpit のWeb GUIを使って、仮想マシン用に安全に ブリッジを構築する手順 を解説します。 この手順は AlmaLinux, Rocky Linux, Ubuntu, Fedora 等、Cockpitが動作する主要なディストリビューションで共通して利用可能です。

概要

デフォルトの状態(NAT接続)では、Cockpit上の仮想マシンはホストOSの内側に隠れてしまい、外部のMacやPCから直接SSHやHTTPでアクセスすることができません。

これを解消し、仮想マシンを自宅やオフィスのLANにおける「独立した1台のPC」として扱えるようにするには、 「ブリッジ接続(Bridge Connection)」 を作成するのが正解です。

⚠️ 作業前の重要な警告

info-icon warning

リモート接続で作業している方は特に注意してください!

ブリッジ設定を適用する瞬間、サーバー(ホストOS)のネットワーク接続が一時的に切断されます。 これは物理LANポートの設定が書き換わるためです。

  • 推奨: 可能な限り、サーバー本体にモニターとキーボードを繋いで直接操作してください。
  • リモートの場合: 数十秒〜数分で再接続できるようになりますが、DHCP環境ではIPアドレスが変わる可能性があります。IPが変わった場合にルーターの管理画面から探せる準備をしておいてください。

検証環境

本記事の作業手順は、以下の環境にて検証を行いました。

OSアーキテクチャCockpitバージョン
AlmaLinux 10.1x86_64344.1
Ubuntu 24.04x86_64344.1

設定手順

ホスト側でブリッジを作成する

まず、物理LANポートを「ブリッジ(仮想のハブ)」に接続する設定を行います。

    1. Cockpitの左メニューから [ネットワーキング (Networking)] をクリックします。 ネットワークの設定
    2. 画面右上の [ブリッジを追加 (Add Bridge)] ボタンをクリックします。 ブリッジの追加
    3. 設定ウィンドウで以下のように入力します。 ブリッジの設定値
      • 名前: bridge0 (デフォルトのままでOK)
      • ポート: 現在インターネット/LANに繋がっている物理インターフェース(例: enp3s0, eth0 等)にチェックを入れます。これが「物理ケーブル」の代わりになります。
      • STP (Spanning Tree Protocol): ループ防止機能です。通常はチェックを入れたままで問題ありません。
    4. [追加] をクリックします。

※ここで接続が切れます。 数十秒待ってもCockpitが反応しない場合は、ブラウザをリロードしてください。それでも繋がらない場合は、IPアドレスが変更されていないか確認が必要です。

仮想マシンの接続先を変更する

ブリッジ(bridge0)ができたら、仮想マシンのLANケーブルをNATからブリッジへ繋ぎ変えます。

    1. Cockpitの左メニューから [仮想マシン (Virtual Machines)] をクリックします。 仮想マシンの設定
    2. 対象の仮想マシン名をクリックして詳細画面に入ります。
    3. [ネットワークインターフェース] セクションを探し、現在のインターフェース(通常は defaultvirbr0)の右側にある [編集 (Edit)] をクリックします。 ネットワークインターフェースの編集
    4. [インターフェースの種類] または [ソース] の項目で、先ほど作成した [Bridge to LAN (br0)] を選択し、[保存] をクリックします。 ブリッジ接続に変更する

仮想マシン内でのIP確認

設定が正しければ、仮想マシンは物理ルーターから直接IPアドレスを受け取るようになります。

  1. 仮想マシンを起動(または再起動)します。
  2. コンソールを開き、IPアドレスを確認します。
    • Linuxの場合: ip addr
    • Windowsの場合: ipconfig

私の環境(AlmaLinux 10 Host)の場合はネットワークが 192.168.11.XX 帯です。仮想マシンが 192.168.11.6 を取得しました。

仮想マシンのIPアドレス

また、Macから直接Pingが通ることを確認しました。

Terminal window
$ ping 192.168.11.6
PING 192.168.11.6 (192.168.11.6) 56(84) bytes of data.
64 bytes from 192.168.11.6: icmp_seq=1 ttl=64 time=0.307 ms

トラブルシューティング

Q. MacからPingが飛びませんが、IPは取得できています。

A. ゲストOS(Windowsや最近のUbuntuなど)のファイアウォール設定で、デフォルトでPing(ICMP)に応答しないようになっている可能性があります。Pingが通らなくても、SSHやWebブラウザでアクセスできれば問題ありません。

Q. IPも正しいのに、SSH接続がタイムアウトします。

A. ホストOS側のファイアウォールが通信をブロックしている可能性があります。OSによって確認コマンドが異なります。

  • AlmaLinux / Rocky / Fedora の場合 (firewalld): 一時停止して確認: systemctl stop firewalld 恒久対応: firewall-cmd でブリッジインターフェースを適切なゾーンに追加してください。
  • Ubuntu / Debian の場合 (ufw): 一時停止して確認: sudo ufw disable 恒久対応: sudo ufw allow ... で必要な通信を許可してください。

関連記事

AlmaLinux 10にWebコンソール「Cockpit」をインストール・設定する方法
AlmaLinux 10にWebコンソール「Cockpit」をインストール・設定する方法
AlmaLinux 10サーバーをブラウザから管理できる「Cockpit」のインストール手順。Firewalldの設定、自己署名証明書の警告回避、Podmanや仮想マシン管理の拡張機能まで解説。
higmasan.com
Ubuntu 24.04 LTSにWeb管理画面「Cockpit」を導入する
Ubuntu 24.04 LTSにWeb管理画面「Cockpit」を導入する
Ubuntu 24.04 ServerにCockpitをインストールし、ブラウザからサーバー管理を行う手順。UFWの設定、Netplanとの兼ね合い、NetworkManagerへの切り替えなど、Ubuntu特有のハマりポイントも解説。
higmasan.com
CockpitでKVM仮想マシンを作成する手順【初心者向け】
CockpitでKVM仮想マシンを作成する手順【初心者向け】
Cockpit Web UIを使ってKVM仮想マシンを作成する方法を解説。ISOイメージの準備からVM作成、OSインストール、Guest Agentの設定まで画像付きで詳しく説明します。
higmasan.com