我有一台运行 Windows Server 2012 且具有一个公共 IP 的专用服务器。
该服务器正在托管一个 Linux 虚拟机。
是否可以将 example.com 指向 Windows 主机并将来自 vm.example.com 的所有流量路由到 Linux 客户机,或者我是否需要故障转移 IP 才能执行此操作?
目前,我正在将一些端口(端口 22 是其中之一)从 Windows 主机映射到 Linux 客户机,netsh interface portproxy
但我想知道是否可以根据子域路由所有流量,从而保持两台机器上的所有端口都可用。
例如ftp://example.com将指向端口 21 上的 Windows ftp,并且ftp://vm.example.com将指向 Linux ftp,也是 21。所有这些都使用一个公共 IP。
请注意,我只能访问专用服务器,不能访问路由器或其他任何东西。
有没有办法通过或不使用第三方程序来实现这一点?
答案1
由于 DNS 的工作方式,这不容易做到。当您请求网站时,浏览器会包含域名,这就是为什么单个 IP 上的单个 Web 服务器可以为多个子域名提供服务的原因。
让您的 Windows IIS 服务器充当 Linux 机器的代理是可能的,但是这不是很干净。
编辑:抱歉,我在原始问题中没有看到 FTP。不,这是不可能的。
也许值得向你的提供商索取额外的 IP。
答案2
不,如果没有唯一的 IP,就无法按您想要的方式路由该流量。DNS 只是一种呈现 IP 的好方法。