我在家里设置了一个有 4 台 PC 的虚拟网络。我希望能够远程访问这些 PC(基本上只是 http,但 rdp 和 sql 也不错)。我知道我可以检测端口并对其进行路由,但是我有 2 个 Web 服务器,我希望能够让一切都变得漂亮。
简而言之,这就是我所拥有的:
- 带有 DD-WRT“Large”的路由器。
- PhysServer1 - W2K8R2 物理服务器、DNS 服务器、域控制器、Hyper-V 主机
- VirtServer1 – W2K8R2 虚拟服务器,SQL Server
- VirtServer2——W2K8R2 虚拟服务器、应用程序构建机、CCNet 的 Web 服务器、源代码控制等……
- VirtServer3 - W2K8R2 虚拟服务器、应用程序/Web 服务器、IIS7.5
我想要做的是:
- 当我输入时,
http://virtserver2.mydomain.com
我的网络流量转到 virtserver2 - 当我输入时,
http://virtserver3.mydomain.com
我的网络流量转到 virtserver3 - 当我连接到 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 可以,但它更复杂..