我刚刚安装了一台装有 Ubuntu 14.10 Desktop 的新笔记本电脑,我想尝试运行 KVM,以便我可以托管几个客户虚拟机。问题是我不知道如何配置网络。
我有两个问题:
- 笔记本电脑有无线(wlan0)和以太网(eth0)连接,但我不确定在特定时间会使用哪一个。
- 访客需要能够直接访问局域网上的其他机器。
我认为我需要做的是禁用网络管理器,然后创建一个包括 wlan0、eth0 和各种客户机的桥接器。但我看不出如何配置此设置,而且我感觉当我更改连接时,它不会自动从 wlan0 切换到 eth0 并再次切换回来。
以下是我当前的interfaces
文件:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet static
pre-up ip link add br0 type bridge
pre-up ip link set dev br0 address 02:0e:40:89:3d:61
pre-up ip link set eth0 master br0
address 192.168.0.170
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.7
post-down ip link set eth0 nomaster
post-down ip link delete br0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
这个配置基本上只是我在运行 KVM 的服务器上使用的配置,但这很简单,因为我只需要创建一个网桥/etc/network/interfaces
(使用 iproute2 而不是 bridge-utils)来奴役 eth0。
编辑:我应该说我总是需要从主机访问客户机,但我真正关心的只是当笔记本电脑通过以太网连接时其他人是否可以访问。我宁愿不要在从有线切换到无线时大惊小怪,但如果需要一个脚本来处理它,那就这样吧。
编辑 2:我找到了一个解决问题的好办法,但没能解决疑问。我没有使用 iproute2(或 Open vSwitch)创建网桥,而是直接使用了自动创建的 virbr0 网桥,并将其切换到路由模式而非 NAT 模式。这需要在 LAN 网关机器上添加路由条目,因为客户机现在位于不同的子网上,但这对我来说实际上更好。如果需要,我想我可以将它们放在同一个子网上。