在 Ubuntu 中为 KVM 虚拟机设置网络接口

在 Ubuntu 中为 KVM 虚拟机设置网络接口

我目前租用了一台Ubuntu server。我想在这台机器上使用运行虚拟机KVM。对于一些网络访问,我安装了Kimchi,这是一个非常简单的基于 html5 的 KVM 管理工具。

无论如何,我在设置虚拟机网络时遇到了问题。目前我有一个主 IP 和多个附加 IP。主 IP 是为主机保留的,因此我可以通过 SSH 等方式访问它。请注意,主机服务器使用此公共 IP 直接连接到互联网,中间没有任何中间件。

显然现在我想让第一个虚拟机使用其中一个附加 IP。

/etc/network/interfaces到目前为止情况如下:

auto lo
iface lo inet loopback

# device: eth0
auto  eth0
iface eth0 inet static
  address   1**.***.***.**6
  broadcast 1**.***.***.**1
  netmask   2**.***.***.**2
  gateway   1**.***.***.**9
  # default route to access subnet
  up route add -net 1**.***.***.**8 netmask 2**.***.***.**2 gw 1**.***.***.**9 eth0

在此处输入图片描述

Kimchi 网络管理为我提供了以下选项。我可以创建一个可连接到虚拟机的新网络:

在此处输入图片描述

我需要如何设置才能让虚拟机自动使用额外的 IP?

答案1

以下是桥接的更详细演练:

在 kvm 服务器上按照以下步骤操作:

sudo 停止网络管理器

回显“手册”| sudo tee /etc/init/network-manager.override

这将禁用您的网络管理器并阻止其重新启动。

接下来我们进行接口配置,首先关闭接口:


编辑“/etc/network/interfaces”并找到物理接口,可能是 eth0

需要替换eth0接口信息,使其看起来像下面这样:

auto br0
   iface br0 inet static
       address XXX.XXX.X.X
       netmask XXX.XXX.XXX.x
       network XXX.XXX.X.X
       broadcast XXX.XXX.XXX.X
       gateway XXX.XXX.X.X
       bridge_ports eth0
       bridge_stp on
       bridge_maxwait 0

然后您应该能够使用以下命令恢复您的适配器:

ifup br0

您还需要将以下内容添加到“/etc/sysctl.conf”设置中

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

并使用加载设置

sysctl -p /etc/sysctl.conf

另外添加行

/sbin/sysctl -p /etc/sysctl.conf
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

到您的‘/etc/rc.local’文件中,就在“exit 0”行之前,以确保这些效果在启动时开始。

运行 brctl show

并查找显示接口 eth0 的 br0 行。这现在是一个可桥接的设备。

现在,您需要配置您的客户虚拟机以指向此桥。在您的客户机定义 XML 文件上

virsch edit <name of guest VM>

您需要编辑界面部分以使其类似于:

<interface type='bridge'>
        <source bridge='br0'/>
        <mac address='<YOUR MAC ADDRESS>'/>
        <model type='virtio'/>   # try this if you experience problems with VLANs
     </interface>

您的设备现在应该已桥接。您仍需要在机器上正确配置 IP 地址

在浏览了所有其他页面以获取相关信息后,我还发现了这个不错的小教程,可能有助于理解所有内容:

http://www.dedoimedo.com/computers/kvm-bridged.html

相关内容