我有一台 Mac Mini 服务器,其 IP 由 dyndns 帐户跟踪。
通过 Airport Extreme 基站的一些端口转发,我可以轻松地mydomain.dyndns.org
从 LAN 之外的任何地方进行访问。
现在,我希望能够使用浏览器直接从任何其他地方访问 LAN 中的其他内容。例如,一台 Windows 服务器同时在端口 80 上运行另一个 Web 服务器,同时在端口 9091 上运行 Bit Torrent Web 界面。唯一的问题是,我希望这些可以通过普通 http 访问(至少从外部世界)。
喜欢mywindowswebpage.mydomain.dyndns.org
和mybittorrent.mydomain.dyndns.org
我认为我需要的是虚拟主机,通过编辑httpd.conf
解析主域名(即 mac mini)的服务器上的文件。但是,为了允许子域名解析到我的 IP 地址,我知道我还需要更多。
一个选择是在 dyndns 上获取一个专业帐户以允许使用通配符。
我的问题是:
使用我的 Mac Mini Server,我可以设置自己的 DNS 服务器,以便当外界用户输入时,
mysubdomain.mydomain.dyndns.org
它会查询我自己的 DNS 并将请求路由到正确的机器(或者事实上我必须支付给接受通配符的注册商,否则我的子域名将永远不会 ping 通)?如何设置我的虚拟主机,
httpd.conf
以便mysubdomain.mydomian.dyndns.org
解析到我的 Windows Web 服务器(在端口 80 上)并mybittorrent.mydomain.dyndns.org
解析到同一台机器,但其 Web 界面在端口 9091 上?这些服务是否需要进行任何设置(例如,在 bit torrent 网络界面上修改任何 conf 文件)才能允许这些服务运行??
我正在使用 Lion Server 运行 Lion,并且我的 IP 是动态的。
答案1
提供对另一台计算机上的服务的访问的一个好方法是使用路由器上的端口转发。如果您已经将端口 80 转发到 Mac mini,则必须为 HTTP 服务使用不同的端口号(例如 81)。
否则,您必须在 Mac mini 上运行某种透明代理服务器。
让 dyndns 将子域名委托给 Mac mini 上的 DNS 服务不会有帮助。它无论如何都必须解析为您的外部 IP 地址,与 LAN 上的所有其他计算机的 IP 地址相同 - 这就是路由器中的网络地址转换 (NAT) 所做的事情。如果您已与 ISP 安排了多个固定 IP 地址,通常只有多个 IP 地址可用。
你可以做的是安排 Mac Mini 向其他域发出重定向 HTTP 响应,以便请求http://mybittorrent.mydomain.dyndns.org端口 80 重定向至http://mydomain.dyndns.org:81。您必须安排 dyndns 将 mybittorrent.mydomain.dyndns.org 指向您的动态 IP 地址。我不知道 dyndns 是否提供此类服务。
我首先将端口 81 转发到 Windows 服务器。
答案2
您可以在动态 IP 上拥有自己的 DNS 服务器,但我不建议这样做。如果您真的想要子域名(请参阅 (2) - 也许您实际上并不需要它们),最好使用允许子域名的动态 DNS 提供商,请尝试有偏见的名单,例如 EntryDNS 可能就适合您。
要在不同的计算机/端口上提供某些服务,最简单的方法是在路由器中为这些端口设置端口转发,然后通过 yourdomain.dynds.org:9091 访问。这样实际上您不需要额外的主机名 - 您可以将任何端口转发到任何 PC,并且都可以通过相同的 IP 和相同的主机名从外部访问。
可能不是——就服务而言,它只是在其端口上进行本地监听,无论请求如何到达。
希望得到答案,如果没有,欢迎您发表评论。
答案3
在回答我自己的问题时,我相信我已经找到了解决方法。
我仍然需要一个将所有子域路由到我的单个 IP 地址的 DNS 解决方案,因此显然我无法绕过专业的 dyndns 帐户。
为了使所有这些不同的请求在我的内部网络中正确路由,我发现了一些指向反向代理作为解决方案的提示。
反向代理维基百科上的条目证实了这一信念。
我将开始努力寻找一个好的、易于使用的解决方案并付诸实施。
感谢您的努力和帮助。如果我需要更多帮助,我可能很快就会启动反向代理线程。