Dan*_*Dan 30 dns lan webserver dnsmasq
我想在我的一台家用机器上设置 MediaWiki,然后将本地网络上对“wiki.home”或“wiki.local”的所有请求都指向该框。我知道这可以通过单独编辑每个 /etc/hosts 文件来完成,但我想要一些更自动化的东西,例如,如果一个朋友或家人来到我家,他们不需要搞乱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
Run Code Online (Sandbox Code Playgroud)use*_*686 14
使用标准 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
Run Code Online (Sandbox Code Playgroud)
注意:这些说明是非常基本的,应该适应正在使用的 Linux 发行版。特别是,请查看dnsmasq 上的Debian和Ubuntu指南。
之后需要配置路由器使用这台电脑作为DNS服务器;然后,您网络中计算机的所有 DNS 查询都将由dnsmasq处理。
(功能齐全的 DNS 服务器,例如bind9,可以自己执行递归查询——配置上游名称服务器完全是可选的。例如,这就是您的 ISP 名称服务器的工作方式。但是,使用bind9托管您自己的域一开始是相当复杂的,在与简单的dnsmasq进行比较。)
注意:如果您在网络中的任何计算机上配置了 Avahi(又名 Bonjour)(默认情况下 Ubuntu 有),最好避免local.
在 DNS 中并选择类似的东西home.
,因为形式的名称name.local
已经由 Avahi 处理.
(虽然 Avahi 通常只响应current-hostname.local
,但实际上可以发布额外的条目,例如wiki.local
;但是,由于 mDNS 的工作方式,它们将需要添加额外的 IP 地址。因此,使用 Avahi 而不是集中式 DNS 不会提供更多优势,所以我不建议这样做。)
cam*_*rcu 13
我发现 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
到适当的包管理器 - 例如yum
Fedora 和 CentOS)
以下是我在 Raspberry Pi 媒体服务器上运行的具体命令:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install avahi-daemon
从那里它会自动开始使用您计算机的主机名加上.local
扩展名作为域名。因此,如果您的计算机的主机名是,那么您可以通过在任何装有 Bonjour/Avahi 的计算机(即所有 Mac 计算机以及安装了 iTunes 的 Windows 计算机)的 URL 栏中键入内容来mediaserver
在网络上访问它。mediaserver.local
归档时间: |
|
查看次数: |
129954 次 |
最近记录: |