メインコンテンツへスキップ

【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)」 を作成するのが正解です。

⚠️ 作業前の重要な警告

検証環境

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

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

設定手順

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

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

  1. Cockpitのネットワーキング画面を開く

    Cockpitの左メニューから [ネットワーキング (Networking)] をクリックします。

    ネットワークの設定
  2. ブリッジの追加画面を開く

    画面右上の [ブリッジを追加 (Add Bridge)] ボタンをクリックします。

    ブリッジの追加
  3. ブリッジの設定値を入力する

    設定ウィンドウで以下のように入力します。

    ブリッジの設定値
    • 名前: bridge0(デフォルトのままでOK)
    • ポート: 現在インターネット/LANに繋がっている物理インターフェース(例: enp3s0, eth0 など)にチェックを入れます。これが「物理ケーブル」の代わりになります。
    • STP (Spanning Tree Protocol): ループ防止機能です。通常はチェックを入れたままで問題ありません。
  4. ブリッジを追加する

    [追加] をクリックします。

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

ブリッジ(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が通ることを確認しました。

$ bash
$ 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」をインストール・設定する方法

higmasan.com

Ubuntu 24.04 LTSにWeb管理画面「Cockpit」を導入する

higmasan.com

CockpitでKVM仮想マシンを作成する手順【初心者向け】

higmasan.com

サイト内検索