我有一台服务器,我想承载几个域。
我们来说一下:
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是设置它的命令…