我正在学习KVM网络,我想出了这个问题: 当我将KVM域设置为使用桥接网络(无NAT)时,我看到KVM(或libvirt)在我的情况下创建了一个 tap0 ,其中 virbr0 为主。 现在,我没有看到任何其他界面参与桥梁(brctl show)。 我在做实验时在我的主机上使用无线连接,并且我在访客中有连接。
嗯,我此时感到困惑。我很感激专家的一些启示。谢谢!
答案 0 :(得分:1)
那么主机最终如何提供与访客的连接?
对于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
[...]
据我所知,桥接器应该将一个接口连接到另一个接口。那么有什么意义可以建立一个单一界面的桥梁?
网桥为您创建的所有虚拟机构成一个虚拟网络,利用该libvirt" network"。如果您启动第二个虚拟机,您将在网桥上看到多个接口。
此外,无线接口不应该包含在网桥中吗?
正如您将从上面看到的那样,出站接口不需要参与网桥。虚拟机与外部世界之间的连接是路由(第3层)连接,而不是第2层连接。
为什么需要桥梁?它的作用是什么?那么没有tap0就足够了吗?
网桥为您的虚拟机创建虚拟第2层网络。