将KVM虚拟networking连接到互联网

我有一个运行KVM的CentOS服务器,需要连接一个虚拟networking到互联网。 networking必须路由或NAT,不能桥接(端口安全)。 如果可能的话,我想用第二个IP地址将networking连接到eth0的别名,并为主机留下第一个IP,但是可能会颠倒这一点。 客人不提供需要互联网访问的服务,但需要访问和主机。

只有KVM的networking设施,我无法find任何指示。 关于如何连接一台机器或多台机器上的单个端口有几处提到,但没有讨论如何连接整个networking,并让它处理机器之间的交换stream量。 有几篇文章build议使用路由的虚拟networking,但在这种情况下,似乎没有任何区别于NAT的路由。

开放的vSwitch已经被提及了几次,虽然几乎没有文档存在似乎讨论与桥梁运行它。 一些文章说,他们正在运行在NAT模式,然后继续build立似乎是一个桥梁。 无论如何,我正在努力构buildOVS,试图build立起来。

不pipe你将需要在主机上的桥梁。 客人还会如何与networking进行沟通? 区别在于是否将主机接口添加到桥接器,并在第2层(以太网)上进行转发,或者您不在第3层(networking)上进行转发。

由于端口安全性已经到位,因此只允许主机的MAC。 因此,您不能在第2层转发。您有两个第3层选项:具有主机路由(仅保留IP)或NAT(将IP重写到主机IP)。

如果路由,其余networking需要知道访问您的客人,他们将stream量发送到您的主机(这是访客networking的默认网关)。 你没有被给予一个路由子网,只有2个IP。 所以你必须NAT。

访客将他们的接口连接到网桥,并将IP表规则写入来自网桥接口的NATstream量。 libvirt会为你处理这个。 见http://wiki.libvirt.org/page/Networking#NAT_forwarding_.28aka_.22virtual_networks.22.29