CentOS8のKVMのネットワークをブリッジ接続に変更する。

CentOS8のKVMのネットワークをブリッジ接続に変更する。
CentOS8のKVMにて、ネットワーク接続形式をブリッジにしてみた。
ただし、強引に変更しているため、とりあえず動いているものの怪しい部分があり記載するか迷ったが、備忘録として記載することにした。

環境: CentOS 8.1

ホストOSにブリッジを作成する。

OSのデバイスにブリッジを作成する。
ip link add コマンドでデバイスとしてブリッジを追加する。
以下のコマンドでは br0 というブリッジデバイスを追加している。

ip link add br0 type bridge

バイスとしてブリッジを追加したら、NetworkManagerにブリッジを認識させる。

nmcli connection add type bridge ifname br0

NetworkManagerに br0 が追加されたことを確認する。
尚、ブリッジを追加するとデフォルトでは bridge-<ブリッジ名> で認識されるようだ。

nmcli connection show bridge-br0

ブリッジにネットワーク設定を実施していく。
PCのネットワークインターフェースは1つしかないので、STPを切っておく。(STPはスパニングツリーの認識)

nmcli connection modify bridge-br0 bridge.stp no
nmcli connection modify bridge-br0 ipv4.method manual ipv4.adddresses <IPアドレス>/<サブネットマスク>
nmcli connection modify bridge-br0 ipv4.gateway <デフォルトゲートウェイ> ipv4.dns <DNSのIPアドレス>

ブリッジと物理インターフェースを紐づける。

物理インターフェースを br 0の slave として設定する。

nmcli connection add type bridge-slave ifname enp0s25 master br0

slaveとして登録したら、物理インターフェース自体の登録はNetworkManagerから削除しておく。

nmcli connection delete enp0s25

インターフェースの紐づけを確認するには以下のコマンドを実行する。

nmcli device

仮想マシンにブリッジを紐付ける

ここの部分がかなり強引なため、掲載するか迷ったのだが、一応記載しておく。
以下のコマンドで仮想マシンの設定を編集する。

virsh edit --domain ドメイン名

viの形式で編集できるので、以下の場所を変更する。

変更箇所1 変更前

    <interface type='network'>

変更箇所1 変更後

    <interface type='bridge'>

変更箇所2 変更前

      <source network='default'/>

変更箇所2 変更後

      <source bridge='br0'/>

これで仮想マシンを起動するとネットワークが切り替わっているはず。
virsh domiflist --domain (ドメイン名) で確認する。