ここでは、仮想ネットワークを複数追加する方法について紹介する。

追加する仮想ネットワーク用に、仮想スイッチのブリッジインターフェイス(ifcfg-ovsbr1)を新たに作成する。作業はホストマシン上で行う。

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-ovsbr1
※ 以下設定を入力/保存
DEVICE=ovsbr1
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.25.254
NETMASK=255.255.255.0
HOTPLUG=no
ZONE=trusted

network サービスを再起動し、仮想スイッチのブリッジインターフェイスを反映する。

$ sudo systemctl restart network
$ 

$ sudo ifconfig
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.11.100  netmask 255.255.255.0  broadcast 192.168.11.255
        inet6 fe80::fa22:fb46:1747:8118  prefixlen 64  scopeid 0x20<link>
        inet6 2001:a083:f130:0:be82:b4c2:2ea3:5813  prefixlen 64  scopeid 0x0<global>
        ether 0c:9d:92:7f:d0:76  txqueuelen 1000  (Ethernet)
        RX packets 2297  bytes 1413953 (1.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2558  bytes 285099 (278.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xa1100000-a1120000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 112  bytes 11690 (11.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 112  bytes 11690 (11.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ovsbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.24.254  netmask 255.255.255.0  broadcast 192.168.24.255
        inet6 fe80::c60:ffff:fe43:8d44  prefixlen 64  scopeid 0x20<link>
        ether 0e:60:ff:43:8d:44  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 24  bytes 3575 (3.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ovsbr1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.25.254  netmask 255.255.255.0  broadcast 192.168.25.255
        inet6 fe80::9496:37ff:fec2:40  prefixlen 64  scopeid 0x20<link>
        ether 96:96:37:c2:00:40  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23  bytes 3225 (3.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::fc54:ff:fe64:5c2a  prefixlen 64  scopeid 0x20<link>
        ether fe:54:00:64:5c:2a  txqueuelen 1000  (Ethernet)
        RX packets 797  bytes 2259523 (2.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 828  bytes 128079 (125.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

$ 

libvirt に仮想スイッチのネットワークを登録するための設定ファイル(ovsbr1.xml)を作成する。

■ libvirtに登録されている default ネットワークの設定ファイルをコピー
$ sudo cp -p /etc/libvirt/qemu/networks/default.xml /tmp/
$ 

■ コピーしたファイル名を変更 
$ sudo mv /tmp/default.xml /tmp/ovsbr1.xml

■ ovsbr1.xml 編集 
$ sudo vi /tmp/virbr1.xml 
※ 以下に設定 
<network>
  <name>ovsbr1</name>
  <forward mode='bridge'/>
  <bridge name='ovsbr1'/>
  <virtualport type='openvswitch'/>
</network>

作成した ovsbr1.xml を libvirt に登録する。

$ sudo virsh net-define /tmp/ovsbr1.xml 
ネットワーク ovsbr1 が /tmp/ovsbr1.xml から定義されました

登録した ovsbr1.xml を libvirt で起動する。

$ sudo virsh net-start ovsbr1 
ネットワーク ovsbr1 が起動されました

ovsbr1.xml を libvirt で自動起動するように設定する。

$ sudo virsh net-autostart ovsbr1 
ネットワーク ovsbr1 が自動起動に設定されました

ファイアウォールの trusted ゾーンに ovsbr1 インターフェイスを追加し、ホストマシンが仮想マシンからのパケットを全て許可する。

■ trusted ゾーンに登録する
$ sudo firewall-cmd --zone=trusted --add-interface=ovsbr1
success
$ 

■ trusted ゾーンに登録されていることを確認
※ interfaces に ovsbr1 が登録されている
$ sudo firewall-cmd --list-all --zone=trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: ovsbr0 ovsbr1
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
	
$

ファイアウォールの設定をリロードし反映する。

$ sudo firewall-cmd --reload
success
$

最後に、ホストマシンを再起動する。Open vSwitchでは、ネットワーク設定を一度変更すると、仮想ネットワークを経由した通信ができなくなってしまうた。ホストマシンの再起動で解消されます。

$ sudo reboot