Masq - 适用于 Web 开发环境的 DNS server
发布于 2 年前 作者 7anshuai 2262 次浏览 来自 分享

Masq

Masq 是一个简单的本地 DNS 服务器,类似于 DNSMasq。第一个版本来自于 Pow

请注意:Masq 目前仅适用于 macOS。

本地 DNS

因为不能在 /etc/hosts 文件中使用通配符,无法实现类似功能:

127.0.0.1 *.dev.

为了解决这个问题,需要安装一个类似于 DNSMasq 的 DNS 代理。如果你是一个 JavaScript 开发者,你可以尝试一下 Masq。

开始

Masq(或者 Pow)的 DnsServer 被设计为对指定的顶级域名(及其子域名)的 DNS A 查询响应 IP 地址 127.0.0.1。 当与 Mac OS X的 /etc/resolver system 结合使用时,不需要添加和删除本地Web开发的主机名等类似配置。

安装

$ npm install -g masq

使用

用户配置文件 ~/.masqconfig 在服务启动时读取执行。 您可以配置顶级域,监听端口等选项。如:

export MASQ_DOMAINS=dev,test

然后你可以运行 masq --print-config,将会得到如下输出:

$ masq --print-config
MASQ_BIN='/path/to/masq/bin/masq'
MASQ_DNS_PORT='20560'
MASQ_DOMAINS='dev,test'
MASQ_EXT_DOMAINS=''
MASQ_LOG_ROOT='/path/to/Library/Logs/Masq'

如果一切正常,运行 masq --install-system 来安装系统 DNS 配置文件(需要 root 权限):

$ sudo masq --install-system

最后运行 DNS 服务器:

masq

现在,试着 ping 任何以 .dev 结尾的地址,应该返回的 IP 地址是 127.0.0.1:

$ ping example.dev
PING example.dev (127.0.0.1): 56 data bytes

运行守护进程

生产守护进程配置文件:

$ masq --install-local

然后:

launchctl load ~/Library/LaunchAgents/cx.masq.masqd.plist

参考链接

回到顶部