将networking静态IP网桥连接到虚拟机虚拟机

好的,所以我有一个静态主IP地址为89.200.xx.xx的专用服务器,它在虚拟机中运行3个虚拟机(所有Centos 6和服务器一样),我还有3个其他IP要分配给虚拟机因显而易见的原因省略了数字)

  • 33.xxx.xxx.155
  • 33.xxx.xxx.160
  • 33.xxx.xxx.161

所以我在Centos 6主机上build立一个网连接,并将其configuration为在eth0上监听,并为其分配IP地址33.xxx.xxx.155。 然后,我启动了客户操作系统,并将其configuration为静态IP地址为33.xxx.xxx.155(这是在桥接指向VBconfiguration后)。 然后我尝试运行“ifup eth0”,它返回“错误,其他一些主机已经使用地址33.xxx.xxx.155”。 好。 所以我回到了主机,并删除了网桥的IP地址。 然后,我重新启动了网桥和虚拟机,并在guest虚拟机上分配了eth0,IP地址为33.xxx.xxx.155。 果然eth0想出了这个IP地址,太好了! 除了我无法访问它。 我有服务器上运行的HTTPD和端口80是正确的在IPtables允许但我看不到服务器。 我甚至不能ping通它。

任何帮助将不胜感激,这是我的第一个网桥configuration。

最有可能发生这种情况的原因是IP 33.xxx.xxx.xxx未被路由到89.xxx.xxx.xxx IP所在的networking

用另一种方式来说:你正在把33.xxx IP放在为89.xxx IP准备的networking上。 互联网路由器不知道33.xxx是在89.xxxnetworking中,所以他们不能将数据包路由到33.xxx IP

要正确使用33.xxx IP,您必须在ISP内为您提供这些IP,因为ISP将正确设置networking33.xxx,您可以在其中configuration33.xxx IP

那么可以尝试使用“仅主机networking”configurationVB-GUEST服务器,并在服务器的不同端口上运行服务,然后转到VB_HOST并使用PAT(端口地址转换)进行configuration,将每个GUEST服务映射到公共IP上的一个不同的端口,以便VB_HOST像VB_GUESTs的防火墙一样。

请注意,对于VB_GUEST的所有服务,只有一个公共IP(即VB_HOST)是公共IP,并且它是允许您使用一个公共IP访问所有VB_GUEST服务的PAT。

告诉我们是怎么回事 – 欢呼声

看来你正试图将2个不同的桥接器实现混合在一起。

VirtualBox有自己的桥接实现,不依赖任何设置的Linux桥( br0或类似)。 如果在guest虚拟机configuration中定义了一个要连接到桥接适配器的networking接口,则只需在来宾和主机接口之间构build以太网桥即可。 您不需要使用brctl或其他Linux内核工具来定义桥。

话虽如此,您还需要以某种方式为您的其他静态IP地址提供路由。 如果您的主机位于89.200.xxx.xxx /某些IPnetworking上,它将不会收到33.xxx.xxx.xxx /某些IPnetworking的任何IP包。

如果33.xxx.xxx.xxxnetworking实际到达您的服务器,它必须通过主机的第二个以太网接口。 无论是eth1还是应该在33.xxx.xxx.xxxnetworking中分配另一个(第4个)IP地址。 在VirtualBox来宾configuration窗口中,在networking窗格中,您的桥接适配器需要使用eth1接口,然后您的来宾应该变得可达(至less如果您的eth1接口也是可达的话)。