我正在设置一台 Ubuntu 10.04 服务器来运行 KVM。我需要虚拟机具有桥接网络,因为它们将成为我主 LAN 的一部分。此外,eth0
(服务器上的主网络接口)正在使用 DHCP 从 DHCP 服务器获取静态 IP(这样,我就有一个中心点来更改我的服务器的 IP)。
尝试添加br0
接口时(如此处所述http://wiki.libvirt.org/page/Networking#Bridged_networking_.28aka_.22shared_physical_device.22.29)我改变了我的/etc/network/interfaces
如下:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# The bridge network interface, used by kvm
auto br0
iface br0 inet manual
bridge_ports eth0
bridge_stp yes
bridge_fd 0
bridge_maxwait 0
我还添加了以下几行sysctl.conf
:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
一旦我重新启动服务器,我就会失去与 eth0 的连接(传出和传入)。
这个配置有什么问题?推荐的设置是什么?
答案1
我看到的主要区别是,我的配置(也在 Ubuntu 10.04 上)——幸运的是它可以工作——没有将 IP 等直接分配给 eth0 接口,而是分配给 br0 接口。
请注意,在我的配置中,客户机配置为使用 DHCP,并与下面的 /etc/network/interfaces 配合使用:
# The primary network interface
auto eth0
iface eth0 inet manual
# bridge interface for kvm
auto br0
iface br0 inet static
address 192.168.1.254
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 4.2.2.1 8.8.8.8
dns-search mycompany.com
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off
我很确定您可以将“ iface br0 inet static ”部分更改为 dhcp,并删除地址、网络掩码、网络、网关等内容。
我不需要弄乱 sysctl.conf 设置……至少现在还不需要。