如何devise虚拟机networking只有一个networking

在过去的一周左右,我一直从震惊中恢复,我几乎不知道我的isp的networking如何工作 ,通过获得一个新的盒子,并试图从头开始做一个明智的devise。

我们的devise约束如下:

  • libvirt + kvm(因为我们很穷)
  • ubuntu(12.04在主机上,但我们愿意尝试14.04,如果openvswitch使事情变得更容易)
  • 一个外部networking接口(我们不能改变这个)
  • 一个ipv4,一个/ 64 ipv6,和有限的额外(公共)ipv4地址,与…呃… 有趣的设置

这些限制导致我们考虑以下几点:

  • 公共IP地址应该使用稀疏,我们主要用于面向客户的caching代理
  • 所有服务器上的所有虚拟机必须能够相互通信(代理到应用程序服务器,应用程序服务器到数据库,所有服务器到下一个pipe理程序)
  • 因为我们已经有了64个IPv6地址,为什么不使用这些?

然而这导致了我们几个问题,因为ipv6支持到处都不是很完美:

  • (从临时私有IPv4 dhcp服务器)后,我们仍然需要访问多个IPV4资源在虚拟机调配
  • 在这个阶段(在busybox中),我们不能设置4over6隧道,因为这些工具不支持它
  • 但即使在此之后,我们仍然可能需要访问一些仅限v4的资源(apt存储库,github,&c …)
  • 充其量,4over6隧道看起来似乎是骇人听闻的。

可是等等? 你有什么问题?

目前我们有一个网桥,直接暴露给libvirt的公网ipv4地址。 而且我们有一个虚拟网桥,用于安装这些隐藏的虚拟机,并为我们的IPv6地址提供路由。

这个设置的问题是,它是非常flair:现在我有一个盒子不响应除ping之外的任何东西,但是谁是vms仍然可以到达(ipv4和v6)和一个完全相互关联的盒子,但谁是虚拟机不能通过ipv6出去。

也许这是因为我发现hetzner的文档难以理解 ,或者因为我根本不了解他们手中的更深层的devise问题,或者因为我不了解networking。

我正在寻找一个devise,不太不稳定。 即使这意味着我必须(重新)学习networking。