
私はフォローアップをしています。libvirtとKVMを使用してネットワークをブリッジする方法についての素晴らしい記事です。しかし、これを完全に理解/従うには、いくつかの基本的な知識が不足しています。
記事によると、
- virbr0ブリッジはNATを使用して接続を提供するため、物理インターフェイスを追加しないでください。
- 仮想マシンを作成して起動すると、仮想インターフェイスがブリッジに追加されます。
最も重要なことは、
- ブリッジに物理イーサネットインターフェイスを追加する場合、デフォルトのイーサネットインターフェイスは使用できません。
- したがって、追加のインターフェイスを使用する必要があります。
物理インターフェイス、仮想インターフェイス、プライマリインターフェイス、および追加インターフェイスの関係についてはわかりません。したがって、記事で彼が追加のインターフェースenp0s29u1u1を使用していると言うと、これはEthernet-USBアダプタによって提供されるインターフェースです。どのような追加のインターフェイスがあるかわかりません。私使用する必要があります私の状況、これはイーサネットカードを持つ一般的なDebianです。
助けてください。
答え1
「物理インターフェース」とは、コンピュータの実際のネットワークデバイス、すなわちイーサネットケーブルまたは無線ネットワークデバイスが接続されるデバイスを意味する。
「仮想インターフェース」とは、特定の物理デバイスと接続されていないネットワークインターフェースを意味する。つまり、VLAN インターフェイス、ブリッジ、 tun/tap インターフェイスなどがあります。
「デフォルトインターフェイス」は、システムのプライマリIPアドレス(およびプライマリパス)に関連付けられているネットワークインターフェイスです。
この場合、「追加インターフェース」は、基本インターフェース以外のすべての物理インターフェースを指す。
これら2つの声明は...
- virbr0ブリッジはNATを使用して接続を提供するため、物理インターフェイスを追加しないでください。
- 仮想マシンを作成して起動すると、仮想インターフェイスがブリッジに追加されます。
...そうです。このvirbr0
ブリッジはlibvirtの「プライマリ」ネットワークに関連付けられており、NATを使用してこのブリッジに物理インターフェイスを追加したくない外部世界に仮想マシンを接続します。
Libvirtは、仮想マシンを起動してブリッジに追加すると、調整/タブデバイスを作成します。
ところで次の発言は..
- ブリッジに物理イーサネットインターフェイスを追加する場合、デフォルトのイーサネットインターフェイスは使用できません。
...少し単純化しました。あなたできるプライマリイーサネットインターフェイスをブリッジの一部として使用しますが、プロセスはセカンダリインターフェイスを使用する場合よりも少し複雑です(誤ってインターネット接続を無効にするのに最適な方法です)。一般的に言えば、以下が必要です。
- ブリッジデバイスの作成
- ブリッジへのイーサネットインターフェイスの追加
- 以前にプライマリインターフェイスに関連付けられている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
元のアドレスを追加しeth0
てbr-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
ネットワークの観点から仮想マシンを接続することができました。マシンは、ローカルネットワークに物理的に接続された他のデバイスのように見えました。
もちろん、上記のプロセスは継続的な変更をもたらしません。リリースごとにこれがどのように異なるか、リンクされたドキュメントはプロセスの良い概要を提供します。