我可以使用专用IP在kvm guest虚拟机上托pipe域名吗?

我有一台服务器,我想承载几个域。

我们来说一下:

example1.com example2.com example3.com 

我只有一个公共IP(目前)。 我已经configuration所有的Alogging指向该公共IP地址。 我可以configuration我的Apache为所有域提供文件没有任何问题,我可以ssh到任何这些域,并达到我的服务器。

现在我已经安装了KVM,并创build了几个客人。 一个客人有一个私人IP地址192.168.0.100 。 我想要在该来宾上托pipeexample2.com 。 因此,我将需要以某种方式将所有指向该域的stream量引导至私有IP地址。

我希望能够在几个客户端上运行apache和sshd,并根据客户端configuration的域来分发stream量。

这是否可以使用私人networking? 或者我需要每个域的公有IP地址?

如果有人能够启发我,我会很感激,我怀疑我忽略了一些明显的东西。

可以转发stream量,您可以使用iptables转发stream量,并使用mod_proxy将传入的http请求代理到正确的服务器。

您将无法使用域名ssh到端口22,并期待它到本地客户。 您将需要使用单独的端口将stream量转发到正确的ssh端口。

例如,如果您有guest1,我们将在我们的公共IP上预留端口10000,以将所有数据包转发到我们在端口22上的guest1私有IP(192.168.1.2):

首先允许伪装:

 $IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

将来自端口10000的stream量转发到guest1上的ssh端口:

 $IPTABLES -A PREROUTING -t nat -p tcp -i eth0 --dport 10000 -j DNAT --to 192.168.1.2:22 

将stream量转发到多个服务器(基于负载)的另一种方式是LVS 。 ipvsadm是设置它的命令…