如何设置“本地”域,以便本地网络上的每个人都可以查看本地托管的站点?


16

我想在我的一台家用计算机上设置MediaWiki,然后在本地网络上针对“ wiki.home”或“ wiki.local”的所有请求都指向该框。我知道可以通过分别编辑每个/ etc / hosts文件来完成此操作,但是我想要一些更自动化的功能,例如,如果朋友或家人来我家,他们就不需要弄乱主机文件以查看站点。

有没有简单的方法可以做到这一点?我已经启动并运行了Wiki,并且一直在研究dnsmasq,但是我不知道如何正确设置DNS。因为我需要一个自动化的解决方案,所以我感觉需要更改路由器上的DNS设置,但是如果我在此处更改DNS设置,那么如何仍然可以解析外部主机?

配置细节

  • 路由器:Netgear WNR2000v2。路由器为我提供了手动指定DNS服务器的选项,假设我要启动并运行它,则必须指向Ubuntu框。

  • MediaWiki和dnsmasq主机:运行Ubuntu 12.04。我在dnsmasq配置上遇到了一些困难(主要是由于我的经验不足)。例如,我不确定,但是我认为在安装过程中,Ubuntu修改了我的DNS设置,因此/etc/resolv.conf现在已127.0.0.1成为唯一的DNS服务器。到那时,我可以解析本地主机,但是没有别的。我已经通过修改/etc/resolv.conf并将其添加192.168.1.1为辅助名称服务器来暂时解决了此问题,但是这里要担心的是192.168.1.1将使用Ubuntu的DNS盒。我在这里错过明显的东西吗?

  • dnsmasq设置:取消注释以下行:

    domain-needed
    bogus-priv
    local=/local/
    domain=local
    

考虑发布您的配置详细信息。另外,您尝试了什么?您在路由器上更改了哪些设置?您拥有哪种路由器?我假设您使用的是Linux,但是发行版是什么?有太多事情可能出错,我们可以写一本关于这个问题的书;)
jmort253

dnsmasq可以使用,但其他替代方法包括mDNSNIS
冒犯君主

您可以在wifi上更改计算机的名称吗?
ytpillai '02

Answers:


8

使用标准DNS,您将运行对本地域具有权威性的DNS服务器(home.local.,尽管最好避免使用后者-请参见下面的注释),但还要充当所有其他域的解析器。

dnsmasq可用于此目的–默认情况下启用了递归模式,并且您的配置看起来不错;所有需要做的就是告诉它要用于非本地域的名称服务器。通常,这些将从系统/etc/resolv.conf文件中读取。但是,由于您也希望本地域也可以在DNS服务器计算机上工作,因此您将需要创建一个专用的resolv.conf副本,该副本仅由dnsmasq使用,而原始的resolv.conf指向nameserver 127.0.0.1

# cp /etc/resolv.conf /etc/dnsmasq-resolv.conf
# echo "nameserver 127.0.0.1" > /etc/resolv.conf
# dnsmasq -r /etc/dnsmasq-resolv.conf

注意:这些说明是非常基本的,应根据所使用的Linux发行版进行调整。特别是,请查看dnsmasq上的DebianUbuntu指南。

此后,需要将路由器配置为将此计算机用作DNS服务器。然后,您网络中计算机进行的所有DNS查询都将由dnsmasq处理。

(功能齐全的DNS服务器,例如bind9,可以自己执行递归查询-配置上游名称服务器完全是可选的。例如,这就是ISP的名称服务器的工作方式。但是,首先使用bind9托管自己的域非常复杂,在与简单的dnsmasq进行比较。)


注意:如果您在网络中的任何计算机上配置了Avahi(又名Bonjour)(Ubuntu默认情况下已配置),则最好避免local.使用DNS并选择类似的home.名称,因为name.localAvahi已经处理了形式的名称。

(尽管Avahi通常只响应current-hostname.local,但实际上可以发布其他条目,例如wiki.local;但是,由于mDNS的工作方式,它们将需要添加其他IP地址。因此,使用Avahi代替集中式DNS不会提供更多优势,因此我不建议这样做。)


2

我发现Avahi守护程序是执行此操作的最简单方法。注意:如果使用Windows计算机连接到.local域,则需要确保这些计算机上装有iTunes或另一个Bonjour客户端。

请查看此链接以获取更多信息:http : //www.howtogeek.com/167190/how-and-why-to-assign-the-.local-domain-to-your-raspberry-pi/

尽管该链接特定于Raspberry Pi,但它应以相同的方式在Ubuntu计算机上工作。对于其他不使用的Linux发行版apt-get,只需调整apt-get到合适的软件包管理器即可-例如yumFedora和CentOS。

这是我在Raspberry Pi媒体服务器上执行此操作的确切命令:

sudo apt-get update && sudo apt-get upgrade sudo apt-get install avahi-daemon

从那里开始,它自动开始使用计算机的主机名以及.local扩展名作为域名。因此,如果您的计算机的主机名是mediaserver,则可以通过在mediaserver.local其中装有Bonjour / Avahi的任何计算机(即,所有Mac,以及装有iTunes的Windows计算机)的URL栏中键入来访问它。


0

本地名称解析是一个简单的功能,它是我使用的大多数路由器的一部分。它还在DD-WRT固件中实现。Netgear不在乎不断要求的这个功能。

因此,答案比这里发布的答案要简单得多-避免麻烦,并将您的Netgerat路由器更改为支持本地名称解析的名称。或者,如果这不是一种选择,并且您感觉到力量并有时间,请在其上闪烁DD-WRT。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.