无线主机中的 KVM 桥接网络
KVM bridged networking in a wirelss host
我正在学习 KVM 网络,我想到了这个问题:
当我将 KVM 域设置为使用桥接网络(无 NAT)时,我看到 KVM(或 libvirt)创建了一个具有 virbr0 的 tap0 作为主人在我的情况下。
现在,我没有看到任何其他接口参与桥接 (brctl show)。
我在做实验时在我的主机上使用无线连接,我在来宾中有连接。
- 那么主机如何最终为来宾提供连接?
- 据我了解,网桥应该将一个接口连接到另一个接口。那么单一接口的桥有什么意义呢?
- 此外,无线接口不应该包含在网桥中,对吗?
好吧,我现在很困惑。我希望能得到专家的一些启发。谢谢!
So how the host ends up providing connection to the guest?
对于 virbr0
上的默认 libvirt 网络,libvirt 创建 NAT 规则来伪装来自连接到该网桥的主机的出站连接。例如,在我的系统上,我们看到:
# iptables -t nat -S
[...]
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
[...]
As far as I understand, a bridge should connect one interface to another. So what sense makes a bridge with a single interface?
网桥为您创建的所有使用该 libvirt 的虚拟机形成一个虚拟网络 "network"。如果你启动第二个虚拟机,你会看到桥上有多个接口。
Besides, wireless interfaces are not supposed to be able to be included in a bridge right?
从上面可以看出,出接口不需要参与桥接。您的虚拟机与外界之间的连接是路由(第 3 层)连接,而不是第 2 层连接。
why is the bridge needed? What is its role? Wouldn't it be enough then to have tap0?
网桥为您的虚拟机创建一个虚拟第 2 层网络。
- 这允许您的 vms 直接相互对话。
- 它允许虚拟机(和主机)之间的广播流量。
- 它允许将策略(如防火墙规则)应用到虚拟网络,而不是单个计算机。
- 它允许 libvirt 将 DHCP 服务器连接到网络以服务来自虚拟机的 DHCP 请求。
- 等等
我正在学习 KVM 网络,我想到了这个问题: 当我将 KVM 域设置为使用桥接网络(无 NAT)时,我看到 KVM(或 libvirt)创建了一个具有 virbr0 的 tap0 作为主人在我的情况下。 现在,我没有看到任何其他接口参与桥接 (brctl show)。 我在做实验时在我的主机上使用无线连接,我在来宾中有连接。
- 那么主机如何最终为来宾提供连接?
- 据我了解,网桥应该将一个接口连接到另一个接口。那么单一接口的桥有什么意义呢?
- 此外,无线接口不应该包含在网桥中,对吗?
好吧,我现在很困惑。我希望能得到专家的一些启发。谢谢!
So how the host ends up providing connection to the guest?
对于 virbr0
上的默认 libvirt 网络,libvirt 创建 NAT 规则来伪装来自连接到该网桥的主机的出站连接。例如,在我的系统上,我们看到:
# iptables -t nat -S
[...]
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
[...]
As far as I understand, a bridge should connect one interface to another. So what sense makes a bridge with a single interface?
网桥为您创建的所有使用该 libvirt 的虚拟机形成一个虚拟网络 "network"。如果你启动第二个虚拟机,你会看到桥上有多个接口。
Besides, wireless interfaces are not supposed to be able to be included in a bridge right?
从上面可以看出,出接口不需要参与桥接。您的虚拟机与外界之间的连接是路由(第 3 层)连接,而不是第 2 层连接。
why is the bridge needed? What is its role? Wouldn't it be enough then to have tap0?
网桥为您的虚拟机创建一个虚拟第 2 层网络。
- 这允许您的 vms 直接相互对话。
- 它允许虚拟机(和主机)之间的广播流量。
- 它允许将策略(如防火墙规则)应用到虚拟网络,而不是单个计算机。
- 它允许 libvirt 将 DHCP 服务器连接到网络以服务来自虚拟机的 DHCP 请求。
- 等等