我们有3台KVM主机(CentOS 7),上面运行着多台虚拟机,每台服务器都提供FTP,HTTP,SSH等不同的服务。我们只有一个外部(dynamic)的IP和一个noip.com域。 我需要find一种方法(如HTTP服务器的反向代理)将不同的服务请求路由到相应的VM IP /端口。 为了实现这个路由,我需要configuration/安装什么? 感谢您的帮助。
编辑:我添加一个图表,我希望它可以更好地解释我想要实现的。
如果您将虚拟机放在libvirt NATnetworking中,则可以相应地转发这些端口,以便将进入该物理机器IP的特定stream量导向到虚拟机上的某个端口。
官方文档build议使用libvirt钩子,代码很简单: https : //wiki.libvirt.org/page/Networking#Forwarding_Incoming_Connections
编辑:否则,与一个单一的IP你最好的select是设置VPN
SSH不支持“虚拟主机”。
一些FTP协议支持虚拟主机,但不幸的是并不是所有的客户端都遵循RFC 7151。
HTTP支持虚拟主机,所以你只需要在你的主要IP上的反向代理(即:Nginx,Apache的mod_proxy等)
至于你可以使用什么解决scheme,除了上面提到的(VPN)之外,你可以使用不同的外部端口。
因此,如果您有VM1,VM2和VM3,则可以将端口2201,2202,2203redirect到VM1,VM2,VM3上的内部端口22。
您也可以对FTP执行相同的操作(2101 – > VM1:21,2102 – > VM2:21等)