仮想マシンのIPアドレスがホストマシンとは異なっているようだったので、ホストマシンと同じネットワークに接続できるようにブリッジ接続を設定。
 |
| ChatGPT生成画像 |
ゴール
宅内LANのネットワーク(192.168.11.1)に仮想マシンを直接接続する。
設定前後:
物理NIC ←→ Linux bridge ←→ ゲストNIC、という構造
手順
初期状態の確認
参考にしたサイトやChatGPTアドバイスに一貫性はなかったが、とにかく元の有線接続のNICを調べておく必要がある。有線接続であれば「enp3s0」、Wifiは「wlp2s0」の様になっている。
# ネットワークデバイスの確認
~$ nmcli device
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet 接続済み 有線接続
lo loopback 接続済み (外部) lo
virbr0 bridge 接続済み (外部) virbr0
wlp5s2 wifi 利用不可 --
# ネットワーク接続の確認
~$ nmcli connection show
NAME UUID TYPE DEVICE
有線接続 ac34a057-... ethernet enp3s0
lo 5386bba5-... loopback lo
virbr0 429508a2-... bridge virbr0
# IP Addressの確認
~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether e0:3f:49:81:99:85 brd ff:ff:ff:ff:ff:ff
altname enxe03f49819985
inet 192.168.11.22/24 brd 192.168.11.255 scope global dynamic noprefixroute enp3s0
valid_lft 172389sec preferred_lft 172389sec
inet6 fe80::10ac:eeb:cab1:79de/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlp5s2: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 00:11:09:5a:de:26 brd ff:ff:ff:ff:ff:ff
altname wlx0011095ade26
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:d6:e1:41 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
IP Addressについては固定IPに設定しない限りは必須ではない。(ifconfigが使い慣れていたが現在では非推奨となりipを使うべきなようだ。ifconfigを使用するには、net-toolsをインストールする必要あり)
ブリッジの作成
作成を始めると元々の有線接続が遮断されるので注意が必要。
# ブリッジ接続「br0」を作成
~$ nmcli connection add type bridge ifname br0
接続 'bridge-br0' (fdf7ddf1-5e18-48b6-b61d-314f0cbc7d23) が正常に追加されました。
# デバイス「br0」が追加された
~$ nmcli device
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet 接続済み 有線接続
br0 bridge 接続中 (IP 設定を取得中) bridge-br0
lo loopback 接続済み (外部) lo
virbr0 bridge 接続済み (外部) virbr0
wlp5s2 wifi 利用不可 --
# 接続「bridge-br0」が追加
~$ nmcli connection show
NAME UUID TYPE DEVICE
有線接続 8af73a14-4fe2-4eed-b040-1c02c82cd06f ethernet enp3s0
bridge-br0 49aac0a4-1c51-4715-941a-3851dfc87546 bridge br0
lo 083084dc-665f-474f-80e4-ee358eb50982 loopback lo
virbr0 e0180d45-dc27-473f-8cfa-8516b156cfbf bridge virbr0
 |
| KDEのネットワーク設定でもブリッジに「bridge-br0」が追加された |
追加はされるものの、この時点では接続できない状態。
スパニングツリー無効化
ブリッジはデフォルトではスパニングツリーという設定が有効になっている。これは複数のネットワークにおいて、通信がループしてしまうのを防ぐためのプロトコルという(わかったようなわからないような)ものだが、とりあえず今回のような構成では余計な通信が発生するようなので無効にする。
# スパニングツリー無効化
~$ nmcli connection modify bridge-br0 bridge.stp no
# 設定の確認
~$ nmcli connection show bridge-br0 | grep bridge.stp
bridge.stp: いいえ
物理NICをブリッジポートに接続する
# ブリッジ「br0」にデバイス「enp3s0」をbridge-slaveとして接続
~$ nmcli connection add type bridge-slave ifname enp3s0 master br0
接続 'bridge-slave-enp3s0' (8efda771-dba9-4e6f-8de5-eae1d6f3de69) が正常に追加されました。
この時点でもまだネットは切れたまま。
# 接続に「bridge-slave-enp3s0」が追加された
~$ nmcli connection show
NAME UUID TYPE DEVICE
有線接続 8af73a14-4fe2-4eed-b040-1c02c82cd06f ethernet enp3s0
bridge-br0 49aac0a4-1c51-4715-941a-3851dfc87546 bridge br0
lo 083084dc-665f-474f-80e4-ee358eb50982 loopback lo
virbr0 e0180d45-dc27-473f-8cfa-8516b156cfbf bridge virbr0
bridge-slave-enp3s0 e6982b8a-cafb-46bb-a34f-e7720f888c3b ethernet --
旧NIC設定を無効化してブリッジを有効化
# 元の「有線接続」を無効化
~$ nmcli connection down 有線接続
接続 '有線接続' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
# 「bridge-br0」を有効化
~$ nmcli connection up bridge-br0
接続が正常にアクティベートされました (controller waiting for ports) (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/6)
参考サイトでは、有線接続自体を削除するとなっていたが、上記のdownのみで問題なさそう。以上でホスト側の設定は完了。
仮想マシンのネットワーク設定
最後に仮想マシンの接続を、NATからブリッジ「br0」へ変更すれば完了。これにて全て完了。ゲストOS側でIP Addressを確認すると、192.168.11.71となっていた。
 |
ネットワークソース: ブリッジデバイス デバイス: br0、モデル:vertio |
速度について
実際の速度は変わったのか、体感だけではわかりにくいので計測。
バーチャルブリッジ「virbr0」の時
 |
| 途中処理が増えるからかホストに対して半分程度 |
今回作成したブリッジ接続「bridge-br0」
 |
| Down側はほぼホストと同じ |
ホスト側
 |
| ホスト側も計測。複数回実施するとこちらのほうがやはり安定感はある |
速度は早くなることが確認できた。元々の速度も対して遅くはないためあまり体感は変わらない。おそらく非力なCPUで少々重めのWindows 11を動かしていることのほうがボトルネック。
参考にしたサイト
- Qiita @yoshiyasu1111
- The Running Dog in Dog years!