kvm qemu ブリッジへの物理イーサネットインターフェイスの追加

kvm qemu ブリッジへの物理イーサネットインターフェイスの追加

私はフォローアップをしています。libvirtとKVMを使用してネットワークをブリッジする方法についての素晴らしい記事です。しかし、これを完全に理解/従うには、いくつかの基本的な知識が不足しています。

記事によると、

  • virbr0ブリッジはNATを使用して接続を提供するため、物理インターフェイスを追加しないでください。
  • 仮想マシンを作成して起動すると、仮想インターフェイスがブリッジに追加されます。

最も重要なことは、

  • ブリッジに物理イーサネットインターフェイスを追加する場合、デフォルトのイーサネットインターフェイスは使用できません。
  • したがって、追加のインターフェイスを使用する必要があります。

物理インターフェイス、仮想インターフェイス、プライマリインターフェイス、および追加インターフェイスの関係についてはわかりません。したがって、記事で彼が追加のインターフェースenp0s29u1u1を使用していると言うと、これはEthernet-USBアダプタによって提供されるインターフェースです。どのような追加のインターフェイスがあるかわかりません。使用する必要があります私の状況、これはイーサネットカードを持つ一般的なDebianです。

助けてください。

答え1

「物理インターフェース」とは、コンピュータの実際のネットワークデバイス、すなわちイーサネットケーブルまたは無線ネットワークデバイスが接続されるデバイスを意味する。

「仮想インターフェース」とは、特定の物理デバイスと接続されていないネットワークインターフェースを意味する。つまり、VLAN インターフェイス、ブリッジ、 tun/tap インターフェイスなどがあります。

「デフォルトインターフェイス」は、システムのプライマリIPアドレス(およびプライマリパス)に関連付けられているネットワークインターフェイスです。

この場合、「追加インターフェース」は、基本インターフェース以外のすべての物理インターフェースを指す。


これら2つの声明は...

  • virbr0ブリッジはNATを使用して接続を提供するため、物理インターフェイスを追加しないでください。
  • 仮想マシンを作成して起動すると、仮想インターフェイスがブリッジに追加されます。

...そうです。このvirbr0ブリッジはlibvirtの「プライマリ」ネットワークに関連付けられており、NATを使用してこのブリッジに物理インターフェイスを追加したくない外部世界に仮想マシンを接続します。

Libvirtは、仮想マシンを起動してブリッジに追加すると、調整/タブデバイスを作成します。

ところで次の発言は..

  • ブリッジに物理イーサネットインターフェイスを追加する場合、デフォルトのイーサネットインターフェイスは使用できません。

...少し単純化しました。あなたできるプライマリイーサネットインターフェイスをブリッジの一部として使用しますが、プロセスはセカンダリインターフェイスを使用する場合よりも少し複雑です(誤ってインターネット接続を無効にするのに最適な方法です)。一般的に言えば、以下が必要です。

  1. ブリッジデバイスの作成
  2. ブリッジへのイーサネットインターフェイスの追加
  3. 以前にプライマリインターフェイスに関連付けられているIPアドレスを使用してブリッジデバイスを設定します。

たとえば、私のシステムではeth0次のようになります。

# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:9b:a0:2a brd ff:ff:ff:ff:ff:ff
    altname enp1s0
    inet 192.168.122.64/24 brd 192.168.122.255 scope global dynamic noprefixroute eth0
       valid_lft 3570sec preferred_lft 3570sec
    inet6 fe80::d6:992e:d74a:c05a/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

これが私のシステムの唯一の物理インターフェイスです。また、基本パスも知っておく必要があります。

# ip route
default via 192.168.122.1 dev eth0 proto dhcp metric 100
192.168.122.0/24 dev eth0 proto kernel scope link src 192.168.122.64 metric 100

eth0ブリッジに追加するには、まずブリッジデバイスを作成します。

# ip link add br-example type bridge

eth0その後、ブリッジに追加して既存のアドレスを削除しますeth0

# ip link set eth0 master br-example
# ip addr flush eth0

元のアドレスを追加しeth0br-exampleデフォルトのルートを復元します。

# ip addr add 192.168.122.64/24 dev br-example
# ip link set br-example up
# ip route add default via 192.168.122.1

この時点で、(a)ブリッジがありbr-example、(b)eth0そのブリッジのメンバーであり、(c)ブリッジを介してまだ接続されていますeth0。リンクされた記事の指示に従って、それに関連するlibvirtネットワークを作成し、br-exampleネットワークの観点から仮想マシンを接続することができました。マシンは、ローカルネットワークに物理的に接続された他のデバイスのように見えました。

もちろん、上記のプロセスは継続的な変更をもたらしません。リリースごとにこれがどのように異なるか、リンクされたドキュメントはプロセスの良い概要を提供します。

関連情報