我刚刚发现了很多不同的方式来进行 KVM 网络。但我对什么是正确的做法感到困惑。我发现 openstack 使用 macvtap 来做中子网络。它看起来不错。
但是有什么区别以及为什么要使用每种方式。
方式 1 [旧?调谐/敲击]
http://www.shakthimaan.com/installs/debian-tun-tap-setup.html
/--------\ /----\ /----\ /----\ /--------\
|Internet|---|eth0|---|br0 |---|tap0|---|Guest NIC
\--------/ \----/ \----/ \----/ \--------/
Run Code Online (Sandbox Code Playgroud)
已弃用,对吗?
方式 2 [Bridge+Vnet] <- 这就是 virt-manager 所做的
http://www.linux-kvm.com/content/using-bridged-networking-virt-manager
基本上,您在内部创建了一个带有物理接口的桥接接口,并且
auto br0
#iface br0 inet dhcp
iface br0 inet static
address 172.16.0.100
network 172.16.0.0
netmask 255.255.0.0
broadcast 172.16.255.255
gateway 172.16.0.1
bridge_ports eth2
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Run Code Online (Sandbox Code Playgroud)
当您从 virt-manager 启动虚拟机时,会创建一个 vnet 接口并将其添加到网桥。至少直到我知道的地方。不需要 tun/tap 接口。
它在很长一段时间内运行良好,但现在我发现了一些问题。
https://bugs.launchpad.net/ubuntu/+source/core-network/+bug/1255516
为什么可以在没有 TAP 接口的情况下向网桥添加新的 vnet 接口?
方式 3 [ …