我想公开家庭网络上机器的“简单”URL。自定义 DNS/BIND 是答案吗?

我想公开家庭网络上机器的“简单”URL。自定义 DNS/BIND 是答案吗?

我最近说服我的室友切断电源并摆脱电缆,到目前为止他们发现它非常好。我正在建立一个非常漂亮的、大部分自动化的家庭影院设置,该设置围绕 Apple TV,其中一部分自动化使用了诸如 Sick Beard、Couch Potato 和 Transmission 守护进程之类的东西。

我已经让一切都正常工作了,包括上述所有服务的网络界面,但我想让 URL 比<ip address>:<port number>我的室友更友好,他们是不是只要稍有技术含量,就可以访问这些服务(尤其是 Couch Potato 和 Sick Beard)。我希望他们能够访问类似movies.home或的网址tv.home(我知道这与提议的 TLD 相冲突,如果您在这方面也有建议,我也很开放),并且能够将节目添加到 Sick Beard 或将一部电影放在 Couch Potato 的观看列表中,因为这些 UI 的使用相当简单。

我希望这个名称解析能够在网络范围内完成,以便我们所有的手机和笔记本电脑等都可以访问网络界面,而无需做太多工作,或者我不必四处编辑每个人的主机文件。我不关心从家庭网络外部访问这些内容,我只希望它可以从我们的内部网络使用。

我不完全确定从哪里开始,我想确保在追求自定义 DNS 服务器之前我没有错过一个更简单的解决方案,因为BIND我以前从未使用过它,而且我不确定它是否会做什么我想要它这样做;我当时想,我应该在家里某个地方的盒子上设置 BIND,然后让我的无线路由器指向该本地盒子作为其 DNS 服务器,然后找出某种方法让 BIND 盒子转发所有非家庭媒体相关的内容向 OpenDNS 或其他东西发出请求。 BIND甚至可以根据不同的端口而不是不同的逻辑地址进行解析吗?反正。非常感谢您的帮助。

答案1

首先,是的,您需要自己的名称服务器,而 Bind 与任何名称服务器一样好。一开始可能有点难入门,但是互联网上有足够的示例和教程。绑定的优点是,您可能永远不会错过任何功能。

我想您正在使用 DHCP 为所有客户端提供 IP 地址等。您可以通过 DHCP 提供的选项之一是搜索域(不确定准确的命名)。计算机存储此信息,并且每当计算机无法解析名称时(例如,movies它会附加搜索域),home.sweet.home.org并再次尝试使用全名movies.home.sweet.home.org。使用您自己的名称服务器和 DHCP 允许您使用短名称(如果您正在寻找的话)。

但是,您可能会遇到问题,因为 Bind 不会将名称解析为 ip 和端口的组合。如果您无法通过virtual hosts(如果您使用的是 apache)分隔您的 Web 界面,您可能需要为您的媒体服务器提供多个 IP,并让这些服务侦听不同的 IP。

答案2

是的,提供一些自定义条目的自定义 DNS 服务器是正确的选择。 BIND 对此来说有点过分了:它功能强大但很难配置。域名解析简单、轻量且广泛使用。它没有 BIND 那么多的功能,但对于家庭网络来说已经足够了。在一台始终开启的机器上运行它,最好是您的家庭路由器(如果它是基于 Linux 的,则可能已经在内部运行它)。将所有其他计算机指向它作为唯一的 DNS 服务器。

如何使用主机名从 LAN 访问计算机有一些设置 Dnsmasq 的提示。

答案3

如果您使用 tomato 固件,您可以使用 Web GUI 轻松配置 dnsmasq。我刚刚为我的服务器设置了一个通配符 *.home。

然后使用nginx将movies.home反向代理到localhost:5050。所有主机都一样。您可以在 ubuntu 上安装 Easy Engine。它会为你设置 nginx 并完成所有配置。

我的网站 Knightcinema.com 上有完整的操作指南(暂时关闭)

相关内容