ブリッジは、2つ以上のネットワークセグメントを相互接続し、それらの間の通信を提供するデータリンクレイヤーデバイスです。複数のネットワークまたはネットワークセグメントから単一の集約ネットワークを構築するための単一のネットワークインターフェイスを作成します。ホストのMACアドレス(MACアドレステーブルに格納されている)に基づいてトラフィックを転送します。
RHEL(Red Hat Enterprise Linux)やCentOS 8などのLinuxオペレーティングシステムは、ハードウェアブリッジをシミュレートするためのソフトウェアベースのブリッジの実装をサポートしています。ネットワークブリッジの機能は、ネットワークスイッチの機能と似ています。その動作は、仮想ネットワークスイッチとほぼ同じです。
ネットワークブリッジングにはいくつかの使用例があります。1つの実用的なアプリケーションは、仮想マシン(VM)をホストと同じネットワークに接続するために使用される仮想化環境で仮想ネットワークスイッチを作成することです。
このガイドでは、RHEL / CentOS 8でネットワークブリッジをセットアップし、それを使用してOracle VirtualBoxおよびKVMでブリッジモードで仮想ネットワークをセットアップし、仮想マシンをホストと同じネットワークに接続する多くの方法を紹介します。
nmcliツールを使用してネットワークブリッジを設定します
nmcliは、NetworkManagerを制御し、ネットワークステータスを報告するために、広く使用され、スクリプト化可能で、強力なコマンドラインツールです。 Network Managerと直接通信し、システム全体の接続のみを制御します。重要なのは、可能なオプションのセットの中で唯一のプレフィックスである限り、ユーザーが頭字語を使用できるようにすることです。
まず、IPコマンドを使用して、コンピューターに現在接続されているネットワークインターフェイス(物理および仮想)と、それらが接続されているネットワークを識別します。
# ip add
上記のコマンドの出力から、イーサネットインターフェイスはenp2s0と呼ばれ、このインターフェイスをインターフェイスからブリッジに追加します。
次に、テストシステムでアクティブなネットワーク接続を一覧表示するには、次のnmcliコマンドを使用します。
# nmcli conn show --active
重要な注意:libvirtdデーモン(libvirtd)がインストールされて開始されている場合、ネットワークブリッジ(仮想ネットワークスイッチ)に代わってデフォルトのネットワークインターフェイスはvirbr0です。上記のように、NATモードで実行するように構成されています。
次に、次のnmcliコマンドを使用して、ブリッジインターフェイスを作成します。ここで、connまたはconは接続を表し、接続名はbr0であり、インターフェイス名もbr0です。
# nmcli conn add type bridge con-name br0 ifname br0
注:ブリッジモードでは、仮想マシンは物理ネットワークに簡単にアクセスできます。仮想マシンはホストと同じサブネットにあり、DHCPなどのサービスにアクセスできます。
静的IPアドレスを設定するには、次のコマンドを実行して、br0接続用のIPv4アドレス、ネットマスク、デフォルトゲートウェイ、およびDNSサーバーを設定します(環境に応じて値を設定します)。
# nmcli conn modify br0 ipv4.addresses '192.168.1.1/24'
# nmcli conn modify br0 ipv4.gateway '192.168.1.1'
# nmcli conn modify br0 ipv4.dns '192.168.1.1'
# nmcli conn modify br0 ipv4.method manual
ここで、図に示すように、イーサネットインターフェイス(enp2s0)をポータブルデバイスとしてブリッジ(br0)接続に追加します。
# nmcli conn add type ethernet slave-type bridge con-name bridge-br0 ifname enp2s0 master br0
次に、ブリッジ接続を開くかアクティブにします。次に示すように、接続名またはUUIDを使用できます。
# nmcli conn up br0
OR
# nmcli conn up 2f03943b-6fb5-44b1-b714-a755660bf6eb
次に、イーサネットまたは有線接続を無効にするか閉じます。
# nmcli conn down Wired\ connection\ 1
OR
# nmcli conn down e1ffb0e0-8ebc-49d0-a690-2117ca5e2f42
これで、システム上のアクティブなネットワーク接続を一覧表示しようとすると、ブリッジ接続が一覧に表示されます。
# nmcli conn show --active
次に、次のbridgeコマンドを使用して、現在のブリッジポート構成とフラグを表示します。
# bridge link show
ブリッジ接続を非アクティブにして削除するには、次のコマンドを実行します。最初に有線接続をアクティブにする必要があることに注意してください。
# nmcli conn up Wired\ connection\ 1
# nmcli conn down br0
# nmcli conn del br0
# nmcli conn del bridge-br0
詳細については、nmcliのmanページを参照してください。
# man nmcli
コックピットWebコンソールを介してブリッジを作成します
Cockpitは、軽量でインタラクティブな、使いやすいWebベースのサーバー管理インターフェイスです。システムのネットワーク構成と対話するために、コックピットはNetworkManagerとそれが提供するDBusAPIを使用します。
ネットワークブリッジを追加するには、次の図に示すように、ネットワークに移動して[ネットワークブリッジの追加]をクリックします。
新しいブリッジを追加するオプションを含むポップアップウィンドウが表示されます。以下のスクリーンショットに示すように、ブリッジ名を設定し、ポートを選択します。 STP(Spanning Tree Protocol)を有効にすることを選択し、[適用]をクリックできます。
[インターフェイス]リストの下に、新しいブリッジが表示され、イーサネットインターフェイスが無効になっているはずです。
詳細を表示するには、ダブルクリックします。それを削除したり、新しいポートデバイスを追加したりするためのいくつかのオプションがあります。
nm-connection-editorアプリケーションを使用してブリッジを作成します
nm-connection-editorは、NetworkManager用のグラフィカルネットワーク接続エディターであり、NetworkManagerによって保存されたネットワーク接続を追加、削除、および変更するために使用されます。変更は、NetworkManagerの実行中にのみ有効になります。
開始するには、コマンドラインでrootユーザーとしてnm-connection-editorコマンドを実行するか、システムメニューから開きます。
#nm-connection-editor
開いた後、下のスクリーンショットに示すように、プラス記号をクリックして新しい接続を追加します。
ポップアップウィンドウで、ドロップダウンリストから接続タイプ(この場合はネットワークブリッジ)を選択し、[作成]をクリックします。
次に、ブリッジ接続とインターフェース名を設定し、「追加」をクリックしてブリッジポートを追加します。接続タイプとして[イーサネット]を選択し、[作成]をクリックします。
次に、ポートデバイスの接続の詳細を編集し、[保存]をクリックします。
ここで、ブリッジポートをブリッジ接続のリストに追加し、[保存]をクリックする必要があります。
以下のスクリーンショットに示すように、接続エディターのメインインターフェイスに、新しいブリッジ接続とブリッジインターフェイスが表示されます。
ここで、前に示したように、nmcliツールを使用してブリッジ接続をアクティブにし、コマンドラインから有線接続を非アクティブにします。
# nmcli conn up br0
# nmcli conn down Wired\ connection\ 1
仮想化ソフトウェアでブリッジを使用する方法
このセクションでは、以下で説明するように、OracleVirtualBoxおよびKVMの下のブリッジを使用して仮想マシンをホストネットワークに接続する方法を示します。
OracleVirtualBoxでブリッジを使用する
ブリッジアダプタを使用するように仮想マシンを構成するには、VMリストから仮想マシンを選択し、その設定に移動して、[ネットワーク]オプションをクリックし、アダプタ(たとえば、アダプタ1)を選択して、[ネットワークアダプタを有効にする]オプションが選択されていることを確認します。次に、それを設定します。ブリッジアダプタとして接続し、ブリッジインターフェイスの名前(br0)を選択して、[OK]をクリックします。
KVMでブリッジを使用する
KVMで作成された上記のネットワークブリッジを使用するには、仮想マシンのコマンドラインインターフェイスからvirt-installコマンドを使用しながら、-network = bridge = br0オプションを使用してください。
# virt-install --virt-type=kvm --name Ubuntu18.04--ram 1536--vcpus=4--os-variant=ubuntu18.04--cdrom=/path/to/install.iso --network=bridge=br0,model=virtio --graphics vnc --disk path=/var/lib/libvirt/images/ubuntu18.04.qcow2,size=20,bus=virtio,format=qcow2
virshコマンドラインツールを使用して他のネットワークを作成し、それらを構成することもできます。また、VMのXML構成ファイルを編集して、これらの新しいブリッジネットワークの1つを使用することもできます。
このガイドでは、RHEL / CentOS 8でネットワークブリッジを設定する方法と、OracleVirtualBoxおよびKVMでそれを使用してVMをホストの同じネットワークに接続する方法を示しました。
**- もっと面白い? - **
Recommended Posts