不使用端口,通过单个 IP 访问网络中的多个服务器?

不使用端口,通过单个 IP 访问网络中的多个服务器?

我在家里设置了一个有 4 台 PC 的虚拟网络。我希望能够远程访问这些 PC(基本上只是 http,但 rdp 和 sql 也不错)。我知道我可以检测端口并对其进行路由,但是我有 2 个 Web 服务器,我希望能够让一切都变得漂亮。

简而言之,这就是我所拥有的:

  1. 带有 DD-WRT“Large”的路由器。
  2. PhysServer1 - W2K8R2 物理服务器、DNS 服务器、域控制器、Hyper-V 主机
  3. VirtServer1 – W2K8R2 虚拟服务器,SQL Server
  4. VirtServer2——W2K8R2 虚拟服务器、应用程序构建机、CCNet 的 Web 服务器、源代码控制等……
  5. VirtServer3 - W2K8R2 虚拟服务器、应用程序/Web 服务器、IIS7.5

我想要做的是:

  1. 当我输入时,http://virtserver2.mydomain.com我的网络流量转到 virtserver2
  2. 当我输入时,http://virtserver3.mydomain.com我的网络流量转到 virtserver3
  3. 当我连接到 virtserver1.mydomain.com 时,SSMS 会连接到 virtserver1 获取 sql 服务(很确定这是不可能的,但还是把它扔到那里)

我可以利用现有的技术(no-ip、dyndns 等等)或者本地 DNS/路由器来实现这一点吗?

答案1

这是一个棘手的问题......让我重申一下,看看我是否正确。

您有多个位于 DD-WRT 路由器后面的 nat 服务器。它们必然都具有相同的外部 IP 地址,并且您希望通过解析到相同 IP 地址的命名服务来访问它们。

这可能是作弊,但我想到了两种机制。第一种是在 DD-WRT 节点上设置反向代理,如 pound,或更重的 squid,它会根据名称进行适当的重定向,有点像虚拟服务器解决方案,但具有不同的后端服务器。

更复杂的机制是使用带有 l7 iptables 支持的 DD-WRT,这将允许您根据 http 协议中的虚拟目的地对入站流量进行分类...坚持使用 pound。:) 如果它不能完全按照您的要求执行,squid 可以,但它更复杂..

这是英镑的链接,http://www.dd-wrt.com/wiki/index.php/Pound

相关内容